System/web/Linux developer

  • 0 Posts
  • 19 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.



  • I’m horrfied every day at work that copy/paste still is an issue. All my coworkers and customers are still struggling with copying some data, switching to another program, pasting it, switching back, copying some other data, and so on, especially when needing two or three data frequently.

    In Windows, a (bad) solution is using win+tab, which literally no one knows about, much less uses.

    In Linux (and should be in Windows too), it is trivial to implement buffers (say 0-9) to store and retrieve clipboard data for subseconds access.







  • As long as /bin/sh isn’t pointing to zsh, you haven’t messed anything up. A lot of public scripts wouldn’t expect to be run under zsh.

    If you write your own scripts, I’d say to use zsh, but start it with #/bin/zsh (or whatever resolves to zsh) to be explicit about the fact that it is designed for zsh and nothing else. Most scripts written aren’t going to be distributed to hundred of thousands of systems, but at most used in a handful of systems. No point in not enjoying some things zsh does better in scripts.

    A lot of systems have other dependencies as well, and as long as a system which has scripts in it is specifing zsh along with other dependencies, I wouldn’t see the problem. zsh doesn’t take up much space or introduce other problems just by being installed.

    As for the root shell, you can put Defaults env_keep += HOME in your sudo configuration. That will have sudo -s run your usual zsh with its usual configuration for interactive, daily use. Be aware of any config that shouldn’t be run as root.

    sudo -i will still run the shell root is assigned in /etc/passwd, and everything run as root would function ar expected.




  • st from suckless all the way. Used it a couple of years now in conjunction with i3. I’m spawning a lot of terminals, doing a few commands and closing them often, so starting quick is a must.

    Wrote a small patch that allows me to copy current directory from a terminal instance to primary selection with a keybinding. That allows me to quickly navigate to whatever directory that would be in another terminal or application.