this post was submitted on 15 Jan 2024
47 points (96.1% liked)

Linux

48315 readers
949 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
47
submitted 10 months ago* (last edited 10 months ago) by [email protected] to c/[email protected]
 

I am potentially going to be able to put Linux on my work PC soon, have been using it on my personal PC and laptop quite happily with hyprland ontop of NixOS

Thinking of using NixOS for my work machine as well, however I don't want to use hyprland or even Wayland as I need this machine to be stable and reliable (Nvidia GPU)

Is I3 still the best option for this or are there better alternatives? (leaning towards I3 ontop of KDE)

I'm also somewhat tempted to just go GNOME with the forge extension as it seems the most reliable, though the tiling on that extension is far from perfect

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 10 points 10 months ago (1 children)

As always there's no such thing as a global "best" application. Building your system is a very personal thing. It all depends on your needs and liking.

My personal journey in the tiling WM world has started 20 years ago with awesomewm. Then I moved to i3 because it feels lighter to me while offering a configuration approach I preferred. After some times, I felt ready to "really" build my tiling WM and I moved to dwm.

I couldn't be happier until I came across bspwm which is as suckless as dwm but EWMH compliant. I also love the nice approach of keybindings offered by sxhkd. What I appreciate the most is the no limit configuration power since you can integrate the very powerful program that writes messages on bspwm 's socket (bspc) in any scripts you can imagine. This let you create some crazy and very personal rules. For example, I designed one where bspwm is listening to my video player state and if not fullscreen it automatically resizes it to a given size and moves it to a specific position. I have another one that will apply borders only to 2 specific windows applications and use a different color for each one.

This is a very brief overview of what I've experimented. Your expectations and the time you want to deserve to your configuration may guide you on another path. Archwiki has a comparison of tiling WM may be a good starting point to help you in your decision.

[–] dream_weasel 1 points 10 months ago (1 children)

Interesting. As a dwm guy I was unaware of ewmh standards. Have you used dwm to be able to compare? I love dwm, but it does behave in some cagey ways at times.

[–] [email protected] 1 points 10 months ago (1 children)

I used dwm for few years before moving to bspwm.

[–] dream_weasel 1 points 10 months ago (1 children)
[–] [email protected] 2 points 10 months ago (1 children)

You know how hard it is to explain personal preferences when we talk about tiling WM but, as I mentioned in my first post, I would say that bspwm offer some further granularity. I didn't thought that was possible after using dwm but to come back to my example I have bspwm listening to the state of my media player. Everytime it becomes floating, bspwm resize the window, place it on a specific position, and add a border to it. This is just one example. Also, even though you can use it with any tiling WM, sxhkd has been developed with bspwm in mind and offers the best keybindings management I've ever tested. Thanks to chords, several commands can be associated to independent keybindings within the same piece of code like so:

control+{_,shift+}{1-9}
   bspc {desktop -f,node -d} '^{1-9}' --follow

Control and a number will switch you to a workspace. If you also press Shift the active window will be sent to a given workspace.

[–] dream_weasel 1 points 10 months ago (1 children)

I'm already using sxhkd with dwm but it's probably underdeveloped. I want something like that above but with an additional hotkey to change send the active window to a workspace and then switch to that workspace but I haven't worked it up. I debated using a QMK tapdance feature for that but have never switched to my QMK keyboard.

I guess to get at my real question, dwm (or maybe more accurately some of the applications I run) generate windows in weird ways. Zoom for instance doesn't generate notifications for things like unstable wifi, but rather tiles a new window for 2 seconds which is REALLY annoying. Also the window swallowing feature is pretty finicky for things like (n)vim+latex in continuous compiling situations.

It's all fixable... But it's just a massive headache since (on my work pc) changing a dwm config means logging out and back in to see the results.

[–] [email protected] 2 points 10 months ago (1 children)

I would need to go back to my old dwm config file but I think what you're looking for is this patch. In bspwm this is achieved with the "follow" option as shown in my example.

To restart dwm without login out and back in you'll need this in your .xinitrc:

while :; do
    ssh-agent dwm
done

Then whenever you kill dwm with kill -HUP $(pidof -s dwm) it will actually be reloaded. Seems like there's also 2 patches to do that now (note that they both mention the above method as well).
https://dwm.suckless.org/patches/restartsig/
https://dwm.suckless.org/patches/selfrestart/

[–] [email protected] 1 points 10 months ago* (last edited 10 months ago)

@dream_weasel Did that help?