Tiling window manager users: how exactly do you use yours?
Do you have advanced keybindings for bringing up frequently used programs?
Are there less common layouts you use frequently?
Do you use any advanced or fancy features?
Last 25 years I have been using a couple of different tiling window managers. My main workstations usually have four monitors, accessed by AltGr+number.
I heavily base my workflow on virtual desktops, accessed by Ctrl+number.
Each virtual desktop have a specific type of programs on it:
- Development
- Terminals
- Browsers
- Communication / documentation
- Multimedia
- Graphics
- SQL
- Debugging
- Virtual machines / monitoring
So with this I can access nearly every program with AltGr+number, Ctrl+number which is quite quick. As long as I remember the monitor I placed it on, I always know which virtual desktop.
I use chained keyboard shortcuts for window manager shortcuts, here: https://files.ahall.se/images/i3-keybindings.svg (old one, this has grown a bit…)
The chaining allows me to easier remember shortcuts with mnemonics, and they are fast enough, especially considering the amount of shortcuts I can scale it to.
- Alt+T to start the chain, L for Layout, R for Resize.
- Alt+T, R for Run, I for Inkscape.
- Alt+T, A for Audio, N for Next.
There are some exceptions for the most used focus- and window moving operations, as well as for managing a clipboard buffer system. There are too many times when one goes back and forth to copy something, paste it somewhere else and going back for the previous one. So I can copy something, press Ctrl+Shift+3 to put in buffer 3. After a few other copy/pastes, I bring it into clipboard again with Ctrl+Alt+3. This also allows me to for example reload a page I’m working on and login with user/pass easily accessible in buffer 1 and 2, or login to four different network devices again and again without going to a text file and copying one of four passwords each and every time.
I wrote a special session manager via socket for i3 to be able to press Ctrl+number and go to a certain predefined desktop on the current monitor I’m at.