Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Sway is fast, minimal, and flexible. Their recommended tools/addons are worth a look: https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway
From that list I use greetd + tuigreet as my login manager, sway-launcher-desktop for FZF-powered app launching, and wob for lightweight brightness and volume display (send '50' to the wob socket and it'll show 50%; it doesn't get simpler).
> Even in this article just a few sentences after stating we should start from first principles he then jumps into the assumption of the "desktop".
Agree. Although I can see how the idea of "first principles" can be a very difficult starting point. A blank sheet of paper is a scary monster.
There's a huge breadth and depth of non-"desktop" GUIs out there, some (like smartphones) are even wildly successful. It's good to explore them for inspiration. Some of my favourites:
- Arcan (https://arcan-fe.com/about/) - I won't attempt to summarize, just dive in!
- SailfishOS (https://sailfishos.org/) - mobile UI focused on interaction through gestures / swipes; I've used it as my daily driver for a couple years.
- Speaking of mobiles, classic Nokia UIs allowed you to navigate to a specific item in the menu by pressing the corresponding digit on the dial pad. Once you learned where a particular item is, accessing e.g. your SMS inbox was extremely quick.
- Apple Watch / WatchOS (https://www.apple.com/watchos/) - I've always loved the idea of a device where one of the primary interaction methods was a wheel/dial of some sort. The watch even gives you context-sensitive tactile feedback.
- ZUIs in general (https://en.wikipedia.org/wiki/Zooming_user_interface) and the work of Jef Raskin in particular: https://en.wikipedia.org/wiki/Archy_(software) - this is the guy who helped design the Macintosh, but his other work took a radically different route.
- Magit (https://magit.vc/). Many common git operations are reduced to a couple of keystrokes; the obscure features are more discoverable, and the cumbersome procedures (such as rebasing, or staging individual hunks) become simple and intuitive. Also check out transient (https://github.com/magit/transient), which is the "UI toolkit" that powers Magit.
> Even in this article just a few sentences after stating we should start from first principles he then jumps into the assumption of the "desktop".
Agree. Although I can see how the idea of "first principles" can be a very difficult starting point. A blank sheet of paper is a scary monster.
There's a huge breadth and depth of non-"desktop" GUIs out there, some (like smartphones) are even wildly successful. It's good to explore them for inspiration. Some of my favourites:
- Arcan (https://arcan-fe.com/about/) - I won't attempt to summarize, just dive in!
- SailfishOS (https://sailfishos.org/) - mobile UI focused on interaction through gestures / swipes; I've used it as my daily driver for a couple years.
- Speaking of mobiles, classic Nokia UIs allowed you to navigate to a specific item in the menu by pressing the corresponding digit on the dial pad. Once you learned where a particular item is, accessing e.g. your SMS inbox was extremely quick.
- Apple Watch / WatchOS (https://www.apple.com/watchos/) - I've always loved the idea of a device where one of the primary interaction methods was a wheel/dial of some sort. The watch even gives you context-sensitive tactile feedback.
- ZUIs in general (https://en.wikipedia.org/wiki/Zooming_user_interface) and the work of Jef Raskin in particular: https://en.wikipedia.org/wiki/Archy_(software) - this is the guy who helped design the Macintosh, but his other work took a radically different route.
- Magit (https://magit.vc/). Many common git operations are reduced to a couple of keystrokes; the obscure features are more discoverable, and the cumbersome procedures (such as rebasing, or staging individual hunks) become simple and intuitive. Also check out transient (https://github.com/magit/transient), which is the "UI toolkit" that powers Magit.
I know this isn’t the point of your post, but in case it helps your experience in MacOS:
1. You can change the setting so that workspaces do not change their position/order. See: https://apple.stackexchange.com/questions/214348/how-to-prev...
2. The third party app “alt-tab” provides an alt tab experience that is much better than the native one, and is likely more similar to the behavior you expect from Linux. See: https://alt-tab-macos.netlify.app
I also personally like to use Rectangle for window positioning using keyboard shortcuts, tried the various auto tiling solutions like yabai and amethyst in the past but I think the flexibility of Rectangle is worth having to remember and use a few keyboard shortcuts.
I think it’s unfortunate that so many third party apps are required, but with a bit of babysitting MacOS can be pretty decent to work with.
It may not be exactly what you have in mind but there is an interesting extension along similar lines (mostly for chrome) called TabFS that mounts your open tabs as a filesystem...
https://omar.website/tabfs/