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.
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.
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?
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.
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?
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 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)
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)
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.
@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 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.
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.