1. 51

  2. 11

    I too was once an awesomewm user (on Arch Linux) for a while, but I stopped around 7 years ago because even after investing tens to hundreds of hours in setting up my fully featured environment, it wasn’t stable. It was hard to keep the system up to date and working.

    These days on macOS I can simulate my awesomewm days with Chunkwm and ubersicht and on top of that WiFi works, sleep works, my battery life is great! I can still work with a non broken package manager because of the nix package system and it’s reproducible. Having said that, of course I wish I were using Linux (these days I’d go for Nixos), but I value not having to deal with the sysadmin stuff unexpectedly.

    1. 3

      Similarly, but not quite, I use a windows PC I built at home with vmware which manages an ubuntu install with i3. You get (some) of the benefits of a real development environment (and the operational stability of windows) and i3 for tiling, but the downsides are some mystery key combinations get captured by windows and it never really feels fully operational.

      Plus side is you can just create a new vm when things break or you want to try out something else like elementary or arch.

      1. 1

        I was just thinking about this in the morning and I realized that my troubleshooting incident rate isn’t really higher on Linux than it is on Windows or OS X. What I actually want to say is: it is always implied that on Linux something will break and you’ll spend a good chunk of time fixing it, but I have the same issues on Windows and OS X at more or less the same frequency and the time spend on it.

      2. 5

        ”… it does feel a bit like I’m back in the dark ages needing to find and configure things that I’ve previously taken for granted.” That’s OK. Be patient and pick up all the “pieces” like screenshotters as you go along. Nice thing about keeping a repo of all those configs for the “pieces” is (1) you can switch out, or automate / customize, whatever “piece” you desire and (2) even after the dust settles on the “pieces”, if you ever switch your WM again, all the “pieces” remain the same and just “come with” – you don’t have to start your config from scratch (which is what I imagine happens too often with DE switches (“imagine”, because I claim no extensive experience with them). Fun read! Thanks!

        1. 5

          This is true, although the second part of that paragraph explains why I’m not entirely happy with that option:

          It is nice to build your own environment like this but the little imperfections like the dunst notifications mentioned above or handling of external displays have me wanting more.

          Thanks for reading.

          1. 2

            Indeed – sometimes there’s just too much to configure, and you’d rather someone else, who knows what they’re doing, did it for you. It’d really be nice to see a tiling desktop environment that’s more plug-and-play.

        2. 5

          There’s a small collective of GNOME programmers maintaining a thing called gnome-flashback, which amounts to adaptors between the GNOME3 system APIs and the GNOME2 interface APIs. The intention is to let people keep running GNOME3 apps with a GNOME2-style panel and the classic Metacity window manager, but it’s reasonably easy to switch it out for any other X11 window manager you prefer.

          As a result, I’ve got my lovely keyboard-friendly tiling window manager UI, with desktop-wallpaper and network management and volume keys and USB automounting and all that stuff all working automatically, and still with lower memory overhead than a full GNOME 3 desktop.

          1. 2

            gnome-flashback works well in my experience. I’ve asked questions and gotten answers. The code works.

            1. 1

              has that been stable for you? i had frequent enough segfaults that i finally gave up on it, though it was indeed very pleasant to use when it worked.

              1. 2

                The biggest problem I’ve had is that the hook that replaces the PC speaker beep with a sound through the modern audio hardware doesn’t always work. Sometimes when a new version of GNOME comes out, there’s some extra depedency I have to copy from the “gnome-flashback-with-metacity” session config file to my “gnome-flashback-with-i3” config file.

                I don’t recall ever having to deal with segfaults.

            2. 5

              I personally can’t stand the all encompassing desktop environments like Gnome and KDE.

              First thing I do on a new machine is install a minimal Debian install and “bootstrap” to StumpWM. Basically just a shell script that installs git, gcc, and a few other prereqs, then clones, builds, and installs Emacs, SBCL, and StumpWM from their Git repos.

              Learning (or even just copy/pasting) xmodmap, xrandr, and other configuration settings is a one time cost, and (unlike with GNOME) you don’t have to worry about it all changing underneath you every time a new release comes out.

              1. 4

                You are conflating and, most likely, confusing a DE (Desktop Environment) with a WM (Window Manager) - both GNOME and KDE can be configured to use other Window Managers than the default ones.

                1. 3

                  GNOME 3 doesn’t allow the window manager to be changed. It was possible in GNOME 2. If it were possible I wouldn’t have needed to write the post :-)

                  1. 2

                    Hmmm… I could have sworn that this was possible with, at least, early versions of GNOME 3, but you are undoubtedly right about GNOME Shell / Mutter. OK, I obvioulsly hadn’t used it in a while ;^)

                    1. 2

                      Earlier in the GNOME 3 days you could run gnome-session without the shell. This gets you many of the DE features (IIRC screen locking, automounting, several other backround services). Ubuntu’s Unity actually did this. I ran i3 this way for about 4 or 5 years, but it seems to be more an implementation detail than a supported interface, so I gave it up the third time an upgrade broke my setup.

                      You can probably still do this today. I wouldn’t recommend it.

                  2. 2

                    Fixed, thank you!

                2. 4

                  I’m writing this comment from an X1 Carbon 6th gen that I just got, moving from macOS back to Linux for the umpteenth time (where umpteen == 4). I spent all of yesterday resurrecting my previous bspwm config, and I really empathize with this point of view of wanting something that works nicer out-of-the-box but doesn’t require you to go all-in on GNOME. I’ve taken about full advantage of all the tools at my disposal, but it’s impossible to compete with the polish of something like macOS or GNOME.

                  Also @wezm, here are solutions to some of the things you listed as unsolved:

                  1. 2

                    Thanks for the links. I’ll check them out. I got some good tips on adapting KDE on Reddit that I plan to try out too.

                  2. 4

                    “So all this makes me wonder, where is the middle ground? Where is the desktop environment for professionals?”

                    Great question! There seem to be two Linux User archetypes: the “factory preset” tribe and the “I recompiled gcc itself to remove all the unnecessary bloat” tribe. So you have a lot of people using “least common denominator desktop” and the other camp is a vast variation of components, styles, and integrations. They are mainly united by the trait that they don’t like anything except their own feral setups.

                    Somewhere there are these people that (for whatever reason) do not care to compile their world from source but also want an optimized UI that does not assume you are yet another Windows/OSX refugee and have your UI spoon fed to you. I don’t know how big this tribe is, but it seems that it is growing, if only because of the quantity and diversity of feedback to your original post.

                    I am one such user and I started down this path a year or so back. Because my day job only supports Ubuntu, I built a distro (I called it Regolith Linux) based on it that essentially takes the already-packaged i3-gaps and glues it to the gnome system with the excellent https://github.com/deuill/i3-gnome-flashback. I then spent a year trying to remove everything, drinking from the r/unixporn firehose, and see which things are really useful and what is fluff. It is a time intensive process to dogfood your own DE. But it’s also a lot of fun!

                    In any case, thank you for your post. The discussion it has spawned has given me a lot of food for thought.

                    1. 3

                      I used to be an awesomewm user. I have migrated towards swaywm and never looked back. A few things I should mention:

                      • the file manager experience is now completely mc and/or ranger, two terminal applications. it’s incredible how fast my workflow has improved once I bookmarked my most used locations
                      • I don’t have HiDPI displays, so this is a non-problem. I’ve noticed that HiDPI scaling is available through the WM, if I ever want to switch
                      • screenshots are working excellent on single monitor, using slurp and grim
                      • currently I have no method of accessing the display manager remotely. I don’t think this is a too big of an issue, as most of my workflow is console based and accessible through a tmux session
                      • casual gaming works, you can prevent fullscreen apps from automatically locking the screen, notifications through dunst work

                      I have not yet encountered personal use-cases where more functionality would be needed from a WM, or where I have to rewrite my configuration files to have it work.

                      1. 1

                        I also love sway. It’s blazing fast— I get something like 15-20 hours of battery life on my (dell xps 15) laptop.

                      2. 3

                        I recently gave up on tiling window managers after some number of years of use. The main reason for stopping was I grew tired of constantly tweaking it to deal with windows that don’t quite fit the tiling mentality. Problems would show up with apps I don’t use very often or maybe just wanted to try out. Windows would sometimes be hidden or seemingly go missing and I just didn’t want to deal with it anymore.

                        I’ve since gone back to twm, of all things. I’ve found that placing windows is not really a burden (since it doesn’t happen that often) and it still has simplicity on its side. I’ve never found that integrated desktop environments have helped my “productivity” so I don’t worry about them. I suspect my undercurrent of cynicism comes from the fact that I’ve been tweaking desktop setups for more than 20 years and finally come to terms with the idea that reaching desktop nirvana is most likely never going to happen.

                        1. 1

                          I ran twm while working on KDE - specifically hacking the window manager and the panel. Working on something while trying to run it at the same time isn’t fun. I could very quickly kill twm and start kwin to test stuff out, then start twm again, without any disruption to my windows.

                        2. 2

                          gnome 2 worked perfectly for this. I used that plus xmonad for years, but gnome 3 abandoned the customisable window manager and the flashback mode/panel/etc never quite worked well :( I used xfce for a while and I’m now trying mate out but as the OP says they have their share of hidpi issues. still better than using a plain wm without an underlying desktop environment.

                          1. 2

                            Have you tried MATE? I’m currently using it, and it’s just too comfortable to switch away from to tiling window managers like which I have used before, but since I recently found out that xmonad supports regular DE integration, I thought about giving it a try again.

                            1. 1

                              yes, i’m currently using mate + i3, but i had to do a lot of fiddling to get hidpi working properly, and the integration wasn’t as simple as just going to the mate settings and replacing the window manager component. i ended up following this guide which instead starts up bits of mate from within my i3 config, and i have to start nmapplet and volnoti in there too to get wifi and volume controls.

                              i’m a bit annoyed that the i3 devs don’t intend to implement static workspaces so i’ll probably get off my ass and hunt down a fork that does at some point, but other than that i’ve been liking it (i switched from xmonad, which had some irritating package update interactions with arch, and i3’s dynamic workspaces feel like a step backwards)

                          2. 2

                            Was an avid awesomewm user, but also gave up due to maintenance overhead that came with each distro update. Am now a “happy” gnome user 🤷‍♂️

                            1. 2

                              I think it’s a great idea!

                              I know many purists will desagree and say “Hey if you want a full-blown DE go use KDE”. But I think we already have a lot of redundant tiling WMs (i3, xmonad, awesome, stumpwm, dwm, wmii…) seriously how many are there? And many of them are really similar differing only on some default behavior and the language of configuration.

                              I want to have an option where I have a very polished, opinionated and working right out of the gate lightweight tiling window manager. Another option can’t hurt, specially when it’s something that finally does something different.

                              1. 1

                                I’ve been in the same bind as the author. Been using tiling window managers for ages now (xmonad → awesomewm → i3 → StumpWM and now EXWM) and I recently spend some time on getting EXWM integrated nicely with XFCE to try and see how that would work together.

                                And it really doesn’t add much once you’re used (and know[1]) to the flexibility of separate components for notifications, media controls, network connectivity, multi monitor support, battery, etc. etc.

                                [1] Yes, I realize this is the main issue but it’s a one time investment and gives you more control of your computing experience. He was talking about professionals, right?

                                1. 1

                                  A bit about KDE + other wm. I’ve been using Plasma and i3 on my current installation of 18.04 because the workplace wants Ubuntu (I usually use Debian) and I had to start from scratch anyway, whatever.

                                  Long story short: it works 90% as advertised and I can use my tiling WM workflow, but there are some annoying things where I’m not sure I wouldn’t be better off just using i3/xmonad and live with missing out on some notifications, network manager integration and better multiscreen handling. (I had a set of xrandr shortcuts, and a custom wpa_supplicant setup and so on). But sometimes stuff just seems to misbehave and I have to logout and login again to fix key bindings and be able to position my windows again. It doesn’t happen often but it’s annoying. Maybe it’s just a weird shortcut I haven’t found and thus was unable to unbind…

                                  1. 3

                                    If you can forego on a graphical session manager and start your X sessions through startx the solution is straightforward:

                                    frank@yetunde:~$ cat .xsession
                                    PS1=dummy source .bashrc
                                    export MOZ_ALLOW_GTK_DARK_THEME=true
                                    redshift &
                                    xsetroot -cursor_name left_ptr
                                    hsetroot -solid '#000000'
                                    #mate-settings-daemon &
                                    xsettingsd &
                                    #nm-applet --sm-disable &
                                    #wicd-client --tray &

                                    Add/remove whatever you deem necessary, disable gdm/kdm/lightdm/xdm/whatever-else-dm and start the session through ‘startx’.

                                    Instead of nmapplet you could use nmcli or nmtui (I use both). I use xsettingsd instead of mate-settings-daemon as it takes far fewer resources for the same job, something which counts on the fairly limited (Thinkpad T42p, 2GB) hardware I’m using.

                                  2. 1

                                    I’m referring to these as open source desktops and not Linux desktops since they work on other systems too, like BSDs, and OpenIndiana.

                                    Not sure whether to tag it for each and every *BSD but I’ve suggested unix tag at the very least.

                                    1. 1

                                      Ahh I scanned the whole list trying to find a generic one and missed that one.