As I’m about to start renewing and expanding the computer fleet in my house I decided I want to have a machine solely for my personal use, where I can use some solutions no one else will feel comfortable with in the house.
I’ve been wanting to try window managers for a while but after researching on it for a bit I’m none the wiser on which to choose.
There are a few distros out there that already deliver this kind of experience but I want to use the opportunity to learn and start from a stock Debian and build from there to where I want to get to.
I’m fully capable of setting up my computers as is but I’m aware WMs require a bit more involvement, so having at least good documentation is a must.
I’m also not averse to learn some coding, even more when considering I want to have a fully costumized conky, but I’ve never coded before.
The machine will be used essentially for writing, web surfing and email and, if possible, running Stardew Valley.
Any advice will be welcome.
Thanks in advance.
A bit controversial, but Hyprland has one of the most user-friendly manual I ever seen. And its very usable as is.
Yeah Hyprland is great and very easy. Just make sure you have kitty installed or change the default config to use your preferred terminal and getting set up shouldn’t take long. The Hyprland docs also have tons of recommendations for other good software.
Yeah, I made the mistake of running Hyprland on a fresh arch install and was super confused at the lack of terminal 😅
Luckily there’s always a bunch of tty’s around. Was there before ;D
2nd hyprland
Sway has a pretty well commented default config. It’s pretty polished and mature, and since it’s Wayland it’s far more secure than Xorg.
$ sudo apt install sway swaylock swayidle
Check the example configuration file for the default terminal emulator (probably “foot”) and just install that as well for now. You can pretty much also skim that config to learn the most important keybindings or edit them to suit you better.
There’s a pretty good wiki page detailing its configuration: https://wiki.debian.org/sway
I’d assume you’d need xwayland for Stardew Valley?i3
- Great for beginners
- Uses it’s own configuration language so no coding required
- One of the most popular window managers so documentation and such is plentiful
- Has a 1:1 Wayland fork called Sway
- Is a manual tiling window manager which means you specify where a window will appear when you go to launch something.
AwesomeWM
- Is awesome
- Configured in Lua
- Has a great status bar built in
- Great documentation
- Is a dynamic tilling window manager meaning it places new windows in accordance with a preset layout.
Qtile
- My favorite
- Has a 1:1 Wayland version built-in
- Configured in Python
- The best status bar I’ve used
- Great documentation
- Dynamic tiler
XMonad (Note: never used this so take this how you will)
- Configured in Haskell
- Has a lot of dependencies
- Extremely configurable
- Dynamic tiler
There’re many more window managers out there but these are the ones I’ve personally used (besides XMonad) and know the most about.
If you don’t like a built in status bar then you can disable it in the config and use another one like Polybar. Distrotube (on Odyssey or Youtube) also has really good videos on all of these window managers and more which I really recommend you check out if you haven’t already.
Personally though, I think Qtile will give you the best experience.
I see Lua in Awsome, which also is used for Conky. Seems a good choice.
And if it self declares as being awsome… it must be.
My vote also goes to qtile. Easily configured and very capable.
I tried qtile, it was ok but kinda finicky with the config and if you break it the whole thing falls down
Also think it broke my NixOS rebuild switch so I had to reboot every time I changed the config
I personally use
i3 for X11
&
Hyprland for Wayland
Isn’t there one solution that can swing both ways?
Sway can read the same configuration as i3 and behaves almost identical. So with both installed I’d assume that you can switch seamlessly
I think qtile can do both. Im not sure tho.
If you wanna play around a bit: use KDE’s kwin window manager (the one also used by the plasma DE). That’s a floating window manager tho and i assume you want a tiling window manager?
[If i have some time im gonna put some WM’s here]
I don’t know how answer that question. If I happen to run more than one program at the same time - which is very rare - I usually fit each window mannualy, in accordance to which I need to focus most of my attention to the least.
I’m used to using floating windows, being a user of Mate.
do you mean tiling window manager or just window managers in general ?
i3 is the one most people use so you’ll find a truckload of support and documentation about it online, if you wand to be the cool kid try dwm, and if you wand to rise to the top of of c/unixporn get hyprland.
I’ll risk if I do that I’ll break Debian and my computer in the process, out of frustration.
I started out running gnome, then got an extension called Forge which makes gnome into a pretty decent tiling WM, obviously it’s gnome so you hit a block if you want tons of customisation past the bog standard
Recently tried out qtile which was not a pleasant experience, if there’s an error in your config file the entire wm fails to start and it stopped NixOS from being able to hot reload config
I then tried hyprland which is absolutely gorgeous, and the config file is pretty simple and intuitive plus hot reload is a god send
TL;DR If you want a good enough tiler that just works out of the box and don’t care about customisation too much go gnome+forge
If you’re ok with spending a few days tinkering with your system and building it from the ground up go hyprland (I hear sway is very good too and more mature)
In addition to the other comments, I would say to expose yourself to a tiling window manager to at least get familiar with them 👍
If you want a tiling window manager, I’d also take a look at sway. In most regards, it works just like i3, so there’s a good amount of documentation available by proxy, but it uses Wayland instead of x11 (so probably don’t use it if you have an nvidia card)
Edit: ninja’d
AMD fanboy here.
There’s no need to look beyond tvwm. Others are but pale imitations.
Can you supply a link or something? Can’t find anything about it.
I believe it’s in the twm family https://en.wikipedia.org/wiki/Twm
Not sure exactly what tvwm is referring to but I’m guessing fvwm is gonna be the closest
Got a link handy? It’s not coming up with anything in the browser for me.
It’s twm but with virtual desktops.
Edit: apparently they call it vtwm now. I’m pretty sure it was tvwm at the time…
Oh ok, cool!
@qyron Maybe look at #e16, #openbox, #fluxbox, or #awesomewm, as they will be completely usable without any pre-configuration. Those will all give you a pretty well rounded feel for the comparison of window manager vs desktop environment. All are quite easy to hack on and decently documented. The appilcations menu for e16 should be auto-generated on first login, both openbox and fluxbox will most likely need to be generated manually, and awesome should just be ready to use as-is.
I can recommend awesome, never got too crazy with the configuration and eventually went back to gnome 3 but it’s a fun experience and is really efficient for keyboard oriented work.
I’ve just installed sway with nwg beside my usual kde/xfce. There’s a bit of a learning curve but I think I’m getting the hang of it.
You should give qtile on wayland a try. Sensible tiling layout, configured in just simple python and great documentation…
I’m currently split between qtile and awsomewm.
Qtile is wayland ready and uses python for configuring (being python the only language I admit I’m fairly curious about to try to learn).
awsomewm I already know it uses Lua, which by itself connects into Conky, another piece of software I want to try learn about but I’m still trying to understand if the wm is wayland-ready.
If Conky could be configured/extended through python, it would tip the scale towards Qtile.
Idk how awesome would connect to conky, just because it uses lua but… sure, I haven’t tried awesomewm personally so I can’t say anything about it
Connect in the sense that I would be learning the same language and use it for configuring two different pieces of software.
the most you will do is write a config file, so nothing to worry about.
my advice would be to start simple. if you will use x, then start with openbox. if you will use wayland, then start with wayfire.
when you get the hang of things, you will be comfortable to try everything.
You can have multiple installed in parallel and you should be able to switch during login. Some are super small and fast. Not sure if it matters if you run Xorg or Wayland, but those are cool: WindowMaker (wmaker), enlightenment (version DR16 was the best, but has been discontinued), blackbox (extra small and fast), notion (a tiling WM that allows to do some things with the mouse and can be user scripted with Lua)
I can’t stand Enlightenment. I tried using it for some time and simply wasn’t to my liking and I truly wanted to move over to it, has I would benefit from having less resources tied to the DE alone.
Currently, the systems I have run on Xorg but opting for a wm capable of working under wayland or xorg makes sense.
In Wayland, window managers are usually called compositors, though. There aren’t many good. I thought about making one, but the keyboard layout stuff seems not to work out-of-the-box with the reference compositor Weston, which made me pause my efforts.
Ideally, I’d board a window manager capable of moving into a compositor, under Wayland, since it seems Xorg is reaching the point where it may be left behind.
Whatever knowledge I gain from whatever solution I pick won’t be a waste but I’d like not to have to jump from one solution to another.
That is why I’m not considering Openbox, as per what I’ve read its development has ceased, making it a finished product for Xorg. Fluxbox seems to be on the same scheme, per what I’ve read.
Lots of great suggestions here. I still use Xorg as I’ve just been lazy in regards to this. I like minimal RAM usage for everything on my systems regardless of how much is available, so I ended up with bspwm. Technically DWM is lighter, but having compiled and used the suckless terminal as my daily terminal emulator, i can honestly say I’d rather just stick with bspwm for this part of my system.
I started on Xfce, but kept on trying to make it act like a TWM, which is when I took the dive in and started using i3. i3 was a very good intro TWM, but I didn’t like how I had to install a python package to get it to tile in a Golden Ratio format, and found that bspwm did that out of the box. Additionally, bspwm is configured in bash, which makes it very versatile when used with bash scripts, so I’m still with it and happy.
Whenever I do eventially moce to Wayland, I’ll be looking for the lightest weight (in terms of RAM usage) TWM and terminal emulator possible. I’ve already played around with Sway on my Raspberry Pi 4 and have heard good things about the foot terminal, but still don’t know much else about the available options on Wayland yet.
I will note that TWMs changed my entire workflow and imho is just faster and better than most DE workflows I’ve seen (though there are exceptions).
This is thanks to my initial interest in creating a seamless workflow involving neovim, vimium, bspwm, and a 40% plank ortholinear keyboard. That combo in particular made it so some people who watch me work get nauseous, lol. Now if only my speed of thought could catch up…
Anyways, enjoy the journey, TWMs are powerful tools once you get the hang of them.