Thomas Adam

371 Followers
78 Following
1.3K Posts

Style ThomasAdam StartsOnDesk 0, StartsOnPage 0 0, SkipMapping

I maintain/contribute to various projects such as: got, fvwm, tmux, x11cp

User/Contributor/Developer of {Free,Net,Open}BSD as well as Linux.

Avid cryptic crossword solver, especially the Guardian cryptics.

I'm the person behind the cryptic crossword clues on: https://zirk.us/@LearnCrypticCrosswords

From England, United Kingdom

Websitehttps://xteddy.org
Gemini Capsulegemini.xteddy.org
Window Managersfvwm{2,3}, CoW
X11CPhttps://x11cp.org

Oh, and I forgot to mention:

* moocow now understands, "-p" to make it persistent so that It can be used like FvwmConsole. Further command such as -C allow for prompt colours:

moocow -p -C green

#cow #fvwm #wayland

I'm on holiday so I've been able to do more on CoW this week.

In no particular order, here's what's changed:

* Switched to libevent. The hand-rolled poll loops, socket handling code is gone, in favour of using libevent.

* Refactorings: across the code base, I've split out larger functions into helpers and reused them. This has reduced some of the duplication by about 60%.

* New hook: "on-start" which runs once CoW has started. Useful to be able to set outputs to different desks/pages.

* DSL: CoW now has a small DSL (which might evolve over time) to reduce boilerplate. This is achieved via the `script` command. For example:

```
rule -g -T on-start -n startup-pages script {
let output = "HDMI-A-1"
for d in (desks where d.output == output) {
desk -t '#{output}' -d #{d.nr}
scroll -t '#{output}' -a 1,1
}
}
````

This sets all desks on output `HDMI-A-1` to start on page `1,1` when CoW starts.

As usual the relevant man pages have been updated.

No doubt there's a tonne of bugs introduced with these changes. If you do happen to spot any, please open an issue on Codeberg:

https://codeberg.org/thomasadam/cow/issues

As always, see the pinned issues if you're interested in trying to help:

https://codeberg.org/thomasadam/cow/issues

And do join me and a small number of others on IRC if you wanted to learn more:

Server: irc.libera.chat
Channel: #cow-wayland

Thanks everyone!

cow

Compositor on Wayland -- a stacking window manager using river as the compositor. CoW aims to behave like fvwm and mwm from X11.

Codeberg.org

#tmux

Version 3.7 will be released soon.

This release features a big change to how panes can be managed.

Panes can be told to be floating, and thus not part of the layout of that window (bound to '*' by default). See the `new-pane` command.

By default status line 2 shows the pane layouts (including floating panes).

Panes can also have scrollbars (see the attached screenshot; cowsay has scrollback and is shown via the grey scrollbar, and the red square).

The screenshot attached shows the above.

I personally do not think it's something I'm ever likely to use, but I'm sure some of you will want to try it. :)

#crossword #crypticcrossword

Brendan, via Guardian 30025:

https://www.theguardian.com/crosswords/cryptic/30025

This crossword is excellent, and has a theme of writers (authors). Some clued directly, others indirectly.

The clue I like is:

13dn: Like part of ancient Greece that’s accessible by flights? (5)

ATTIC

ATTICA was a part of Athens once, but also, one's ATTIC (if one has one) is accessible by "flights" which in this case refers to "stairs" -- as in "a flight of stairs".

This crossword also features many other references to "writers" (which we should take to mean as "authors") some of whom are clued directly or indirectly -- as in:

26ac: Robust half of comic duo (5)

HARDY

Robust == "Hardy" as in "a plant that can survive winter; not evergreen", HARDY is also one half of Laurel and HARDY. HARDY is also THOMAS HARDY, the author -- again, indirect...

All-in-all, another excellent crossword from Brendan. :)

Cryptic crossword No 30,025

Cryptic crossword No 30,025

The Guardian

#cow #fvwm #wayland

Hello all. Here's a few minor updates since I last posted:

* Output management improvements. Now, when, monitors are turned off, or one switches to a VT and back again, window positions are restored correctly. This is controlled by `set preserve_desk_on_output_loss` which defaults to true. Setting this to `false` will use the first available output and desk and mash all windows onto that.

* A new `desk-name` command to rename and limit the number of desks per output. There's also a `desks.count` setting to control the minimum number of desks.

Plus a few bug-fixes.

Since my last post, I've not had an offer to help overhaul the default config. That's OK -- but I admit, a pity as well.

I would also say it's worth looking at the outstanding PRs as well:

https://codeberg.org/thomasadam/cow/pulls

They're all from me, each in a state of "I'm working on them". The most recent is the DSL PR, which I hope will help with low-level scripting.

If there is anyone interested in helping this project, please join the #cow-wayland channel on irc.libera.chat and I'd be more than happy to find something worthwhile!

Enjoy!

cow

Compositor on Wayland -- a stacking window manager using river as the compositor. CoW aims to behave like fvwm and mwm from X11.

Codeberg.org
2026 Ham Radio Rally season is underway
Radio Rallies are a great chance to pick up vintage electronics kit, components, from ICs to valves and all sorts of other interesting stuff. There will be lots of events around the #UnitedKingdom.
June events...
7 June – Broadcast Engineering Museum open day
7 June – Spalding & DARS Annual Radio Rally
14 June – Junction 28 Radio Rally
17 June – Lincoln Short Wave Club used equipment sale (evening event)
20 June – Inverness & District ARS GM North Radio Rally
20 June – Rochdale & District Amateur Radio Summer Rally
21 June – East Suffolk Wireless Revival (Ipswich Radio Rally)
20, 21, 27, 28, June – International Museums Weekend (World-wide event.)
28 June – Cornish Radio Amateur Club Rally
Check out the #RSGB web site
https://rsgb.org/main/news/rallies/
For more details about each event.
#AmateurRadio #HAMRadio #RadioRallly #HAMFest #RetroElectronics #RetroComputing #RetroTechnologyVintageElectronics #WeirdNerdEventUK #Hackspace
Rallies and events - Radio Society of Great Britain - Main Site : Radio Society of Great Britain – Main Site

Belated announcement: this weekend I will be at https://retrofest.uk with my #PERQ 2T2 graphical workstation from 1984, which (after months of troubleshooting, which I promise to describe someday) appears to have been working just now. I've successfully booted

  • PNX - a System III Unix by ICL with a pre-X11 GUI
  • POS - a simple DOS-like OS that was more popular in the US
  • RSRE Flex - made by MoD researchers and one of the weirdest OSs I have ever experienced

My exhibit could be one of the first public displays of Flex in a few decades, and I'm excited to show it off. Come early for best odds of seeing it working, as the PERQ is prone to hardware failure. If the machine breaks, I'll have the emulator handy, and if you can't make it, I'll also be giving a whole talk on Flex at #emfcamp in July. Hope to see you soon!

#fvwm #cow #wayland

For a while now, I've been thinking about what a DSL might look like for CoW.

I've come up with this:

https://codeberg.org/thomasadam/cow/wiki/Scripting

It's not based on anything in fvwm, deliberately. It did take me a while to get the design correct, which I think I have now,

Hopefully what I've come up with will work and is extensible.

The code lives on the `ta/dsl` branch if anyone wishes to try it out.

Any questions, come ask me on #cow-wayland IRC channel on libera.chat

Scripting

Compositor on Wayland -- a stacking window manager using river as the compositor. cow aims to behave like fvwm and mwm from X11.

Codeberg.org
I see #cow the #fvwm replacement is coming along nicely. It uses river as the #wayland compositor.

https://codeberg.org/thomasadam/cow
cow

Compositor on Wayland -- a stacking window manager using river as the compositor. CoW aims to behave like fvwm and mwm from X11.

Codeberg.org

@treibholz @thomasadam One thing I learned the hard way whilst trying to build `river`… don't try to build the `zig` compiler with `ccache` enabled.

There's one file that gets generated by the build system and when `ccache` pre-processes it, it generates a massive >100GB C source file that fills the partition your cache is stored in and everything stops dead.