That’s the beauty of Linux! If you feel adventurous, you always easily find something to tweak/experiment. Since I moved to Linux my mindset and workflow never ceased to evolve. That’s because I’m curious but that couldn’t be possible in any other OS. Only Linux can offer so much options and an exceptional level of granularity so anyone can build his/herown perfect system. We may achieve the same thing but in different ways and we’ll both run Linux.
If you’re more shy you can simply install a set of software under a given distro and you’re done. This is also a Linux option. Right now, I couldn’t find any challenges to keep me busy for more than a day or two until I decided to test a new system (NixOS) in a virtual machine. This is another way to have the kind of fun you mention :)
I love tweaking and improving my system so much that I dedicated my little blog only to that. Sharing is another crucial principles I love in the Linux philosophy.
Thank you for this addition. I very much appreciate the fediverse community who is helping people to understand things, share their knowledge, and acting nicely (if we exclude some rare people who are clearly not used to live within a sane community). I’ve seen home manager but this raised one more question to me: what’s the added value compared to stow for example? Thanks again for sharing your thoughts.
The behavior you are requesting of bspwm is counter-intuitive to this rule you specifically wrote. Nonetheless, if VS Code popup windows have a different instance name, you could have a script running in the background which checks instance name of any new window and execute the command bspc desktop -f last when a VS Code popup appears.
If the instance name is the same for VS Code main app and its popup windows, you may listen to the state of VS Code windows (using bspc subscribe; see the manpage) and execute the previous command on VS Code floating windows (because popups will be floating).
For example, apply this to all VS Code windows:
<span style="color:#323232;">while bspc subscribe -c 1 node_focus node_state > /dev/null; do
</span><span style="color:#323232;"> bspc query -N -n "focused.floating" | while read -r wid; do
</span><span style="color:#323232;"> bspc desktop -n $wid -f last
</span><span style="color:#323232;">done
</span>
For your second question, if I understand correctly you’re trying to have a given workspace moving to your external monitor when available and returning to your primary monitor if no other monitor is connected. You can look at the archwiki to learn how to setup bspwm for multi monitors. Using the same if conditions as explained in this wiki you could also have for example a rule bspc rule -a Code follow=on desktop=‘^4’ when only one monitor is connected, and bspc rule -a Code follow=on desktop=‘^7’ when an external monitor is connected (and workspace 7 will be defined to be shown on your external monitor).
Thanks for the tip. I know a lot of people are going for Thinkpads and you’re specific recommendation may seem interesting but I’d like to support other companies like the ones I bought from so far (Toshiba, Lenovo, Dell, Vaio, Acer, PB, Razer) and I’d also like to build my own laptop from the start.
Right. Actually one of the things I love about Linux is that it offers so many options so you can make your own combination to create the perfect system for your specific needs.
You can get all the visual distractions out of your way and tweak litterally everything to an incredible granular level. No other OS can pretend to be so user focused while staying so simple in appearance. You’re not adapting to your system, it’s built for you.
I can see that from a server maintenance point of view. After having read so many great things about NixOS, I may have exaggerated my expectation and I may be the problem for being a user with too limited needs to get the full benefits of NixOS.
For me this single config file doesn’t save that much additional files and most of them would be files you configure only once during installation. Nonetheless I can see how “easier” it would be to save one file instead of 3 to reproduce your system and I can only imagine how much better it is from a server point of view.