this post was submitted on 03 Oct 2023
58 points (96.8% liked)

Linux

48153 readers
732 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
 

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.

all 40 comments
sorted by: hot top controversial new old
[–] [email protected] 25 points 1 year ago (2 children)

A bit controversial, but Hyprland has one of the most user-friendly manual I ever seen. And its very usable as is.

[–] [email protected] 6 points 1 year ago (1 children)

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.

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

Yeah, I made the mistake of running Hyprland on a fresh arch install and was super confused at the lack of terminal 😅

[–] [email protected] 1 points 1 year ago

Luckily there's always a bunch of tty's around. Was there before ;D

[–] [email protected] 2 points 1 year ago

2nd hyprland

[–] [email protected] 13 points 1 year ago* (last edited 1 year ago)

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?

[–] [email protected] 9 points 1 year ago (2 children)

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.

[–] [email protected] 5 points 1 year ago

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.

[–] [email protected] 4 points 1 year ago (1 children)

My vote also goes to qtile. Easily configured and very capable.

[–] [email protected] 1 points 1 year ago

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

[–] [email protected] 8 points 1 year ago (1 children)

I personally use

i3 for X11

&

Hyprland for Wayland

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

Isn't there one solution that can swing both ways?

[–] [email protected] 1 points 1 year ago

Sway can read the same configuration as i3 and behaves almost identical. So with both installed I'd assume that you can switch seamlessly

[–] [email protected] 1 points 1 year ago (1 children)

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]

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 4 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago

I'll risk if I do that I'll break Debian and my computer in the process, out of frustration.

[–] [email protected] 3 points 1 year ago

In addition to the other comments, I would say to expose yourself to a tiling window manager to at least get familiar with them 👍

[–] [email protected] 3 points 1 year ago

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)

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

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

[–] [email protected] 1 points 1 year ago

AMD fanboy here.

[–] [email protected] 3 points 1 year ago (2 children)

There's no need to look beyond tvwm. Others are but pale imitations.

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

Can you supply a link or something? Can't find anything about it.

[–] [email protected] 2 points 1 year ago

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

[–] [email protected] 1 points 1 year ago (1 children)

Got a link handy? It's not coming up with anything in the browser for me.

[–] [email protected] 1 points 1 year ago (1 children)

It's twm but with virtual desktops.

Edit: apparently they call it vtwm now. I'm pretty sure it was tvwm at the time...

[–] [email protected] 1 points 1 year ago

Oh ok, cool!

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

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

[–] [email protected] 2 points 1 year ago

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.

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

You should give qtile on wayland a try. Sensible tiling layout, configured in just simple python and great documentation...

[–] [email protected] 1 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago (1 children)

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

[–] [email protected] 1 points 1 year ago

Connect in the sense that I would be learning the same language and use it for configuring two different pieces of software.

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 0 points 1 year ago

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.