Edit: Actually, most all of this could be implemented in X11 keybindings outside of your window manager. Just the full screen part that the WM is needed for. And that can be implemented in any WM and probably most DE
I'd love to be able to "right-windows o f" right windows is the leader key, o would be open, and f is for firefox. "right-windows o c" to open chrome
You can easily define new commands by using the "defcommand" macro. Here's an example from my config file that creates a floating group (untiled windows) and starts Android Studio in it (or switches to it if it isn't already running):
(defcommand android-studio () ()
"Start Android Studio in its own group"
(select-group-or-create ("Android Studio" :float t)
(run-shell-command "~/src/android-studio/bin/studio.sh" nil)))
StumpWM isn't just about being a great tiling window manager. It's all about the configurability. Just like Emacs without any configuration is a decent editor, but can easily be challenged by other editors, it's the ability to make it behave just the way you want to that really makes it shine.As an example, I have built a Dbus integration module for StumpWM. It's a work in progress, but useful for daily work. It's nice to be able to exactly control which notifications are displayed and how long they stay on the screen (I'm looking at you, IDEA compilation notifications).
It runs inside of StumpWM and implements a Dbus notifications provider: https://github.com/lokedhs/dbus-test
The kind of flexibility offered by StumpWM is hard to beat, and combined with the ability to connect SLIME to it in order to have a REPL running in Emacs directly working with the running window manager makes it, in my opinion, better than any alternative.
I could easily replicate this in bspwm+sxhkd with a small script.
But yeah, after switching to tiling WM and configuring it properly there's no going back.
I love StumpWM because it does not force a workflow on me! I have configured it to work the way I want it to! And as far as I know I cannot have this workflow in any other tiling window manager!
If I want to open firefox I press `F9` and then `f`.
Let's start a terminal window... `F9` `t`
Let's open emacs... `F9` `e`
Now I want to go back to firefox... `F9` `f`
Press `F8` if you want to switch between last 2 windows (emacs & firefox)...
F8 ... and I'm back at my emacs window...
Neat ha?
Oh, and I forgot to mention that everything is in full screen! 29" of real estate for every app! No tiling or stacking windows.
There are no numbers, tags or anything to remember. Too bad this will never work on a mac... everything starts with an i... just kidding! :)
If you are interested in my stumpwmrc file:
https://github.com/seyedip/my-stumpwmrc