Skip to content

2026-02-11

sameoldlab ⊷ ibro
Feb 11, 20263 min read

stal and Quickshell are wrappers around GTK and QT intended for making desktop widgets. Unlike awesomewm's widgets or custom rofis before they are notable for allowing you to create anything that is possible with their respective GUI toolkit. This seems unexplored as a type of software, both in general and within the atmosphere.

Today much of what most ricers use these frameworks to create is still Bar with Clock or small tweaks to a premade setup. But if you take the code out of their ~/.config directories and squint little, what you see is much larger than a "script", yet far too loose to be called an app. There's bindings to system details such as volume, battery, bluetooth. These usually have less indirection than a script calling bluetoothctl while user code is remains high level (ags, part of Astal is tsx and quickshell is qml). I regularly see complete JS newbies pick up AGS, just to make their shells. People share pics of their setups in code snippets more often than github links.

I guess the main task of any such framework is just to trick the user into thinking that they're just doing some config, rather than, well, writing code... because if you just think you're able to just write code, might as well just use GTK directly 😛 - Elkowar from eww (elkowar's wacky widgets)

Where am I going with this? Not exactly sure. Somewhere close to this.

Pieter Montoulieu (@montoulieu.dev)

I've had this idea for a while, but what if you built a desktop UI on top of atproto data... and what if that UI looked cyberpunk AF? Here's a first look at Aether OS, a desktop-like interface with system and lexicon apps powered by your data.

at://did:plc:e5zplwgiznavptdxhx5n2zlp/app.bsky.feed.post/3m6sdhwtonk2i

However in light of the widget frameworks just discussed, I cannot help but wonder if it could be more. Looking at the "Atmosphere as a Filesystem", I ask why can't don't I do unixy things with the data. An important detail I glossed over earlier was the difference between astal and ags. Astal is a set of libraries to bind system information. For example it turns cat /proc/meminfo into GTK's approximation of a derived signal. This is usable to any GTK app. AGS is an independent thing, useful for writing gtk apps with typescript. It can use libraries like Astal. This setup is the result of 3 major revisions.

For the atmosphere, where do I mount it to a directory, get a regular notification for replies, or sync my real daily notes to this publication? Reading a pds is straight forward GET request in most places. Atprotocol FUSE pushes that a bit farther. What's missing? Connecting it to signals? Widget frameworks? Light GUI options? Answers will vary depending on your current OS. But they can be simpler if we stay away from Serious Application Development with Mass Distribution, just harmless little (malleable) widgets.

Did you enjoy this article?

Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.

Across the AtmosphereDiscussions