System/web/Linux developer

  • 0 Posts
  • 4 Comments
Joined 1 year ago
cake
Cake day: July 15th, 2023

help-circle


  • 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:

    1. Development
    2. Terminals
    3. Browsers
    4. Communication / documentation
    5. Multimedia
    6. Graphics
    7. SQL
    8. Debugging
    9. Email
    10. 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.