I wanted to share something that has been in my i3/sway config for quite a while. I don’t know where I got it from exactly, but I’ve found it quite useful over the years. It uses binding modes to create a simple program launcher.
Binding modes deactivate all normal bindings when switching to them. Only the bindings defined in the binding mode are active.
set $mode_launcher "Start: [f]irefox [c]hat [k]eepassxc [q]uit"
mode $mode_launcher {
bindsym f exec firefox
bindsym c exec ~/.config/sway/scripts/social.sh
bindsym k exec keepassxc
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+o mode "default"
bindsym q mode "default"
}
bindsym $mod+o mode $mode_launcher
After going into the mode with $mod+0, we can start the applications with the
relevant keys. The mode can be exited using Return, Esc, $mod+o or q.
Articles from blogs I read
The console wars have been lost
Valve wins by doing absolutely nothing
via Xe Iaso's blog July 9, 2026
Mastodon Stories for systemd v261
On June 19 we released systemd v261 into the wild. In the weeks leading up to that release (and since then) I have posted a series of serieses of posts to Mastodon about key new features in this release, under the #systemd261 hash tag. In case you aren't u…
via Pid Eins June 26, 2026
The circus freaks of open source
The masterwork of Terry A. Davis is his eclectic operating system, TempleOS, which he worked on until his tragic death in 2018. In terms of technical excellence, TempleOS rates well in some respects and poorly in others. For example, it earns …
via Drew DeVault's blog June 5, 2026
Three more ways to think about asyncronous loops
I created a coroutine-only, unix-only, stateless alternative to asyncio.
via Ξ April 19, 2026
Generated by openring

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.