Embracing Open Source Part 3: The Year of the Linux Desktop

This post is a part of my Embracing Open Source series. You can read the last post here, or if you are particularly interested in a related topic or want to get in touch with me about the series, please send me a message.

The “Year of the Linux Desktop” has been so often repeated and shouted about, especially from the maintainers of Linux distributions that it may be the biggest joke in the entire Linux community. I think this joke continues to exist for a couple of reasons. The first is that the idea of any Linux distribution being friendly enough that a user never ever has to type a command or edit a file is laughable. The second is that, for most Linux users, that friendliness comes with limitations that they’re just not interested in. So the joke stays and will stay with us to the heat death of the universe.

Don’t misunderstand me here. Linux is still perfectly usable on the desktop and, depending on distribution and desktop environment, can be used almost exclusively using the graphic user interface rather than a command-line interface. The key operator here is almost. Unlike the previous posts, this is going to be a lot looser with less real advice. I’m mostly just going to try to explain why I use the things I do. This is building off of Part 2 in this series, so if you aren’t familiar with things like linux distributions, then please go back and read that.

KDE Plasma

I don’t use Plasma day-to-day anymore, but I do still keep the desktop environment on my machine for a couple of good reasons. Firstly, if I ever have an application that misbehaves on my tiling window manager setup in Hyprland, I can flip over to Plasma quickly to make it work. The second reason is that it’s a good way to have a very robust set of basic utilities you’d expect to find on any modern operating system that might not be packaged with a more do-it-yourself style desktop environment.

KDE Plasma is the default desktop environment for Manjaro, and is available as an edition or flavor of nearly every other Linux distribution, including the one that I use, Endeavour OS. KDE is robust and well-maintained, with an extensive suite of packaged applications that are often recommended as the best in class option to fill each role. For example, Kate, the text editor is great and is only barely upstaged by Code, the open source version of Microsoft’s excellent Visual Studio Code text editor.

Plasma works similarly to Windows’s desktop environment. By default you get a panel along the bottom of the screen with an application launcher, task manager, and system tray. The desktop supports icons, shortcuts, folders and files. Your system settings are all located in the KDE settings application which is honestly better than what Microsoft provided for the entirety of Windows 8 and through most of Windows 10. Windows are floating unless you make them fullscreen, and plasma even supports windows-esque snapping. Overall it’s a very familiar and safe option to use as a desktop environment while still looking very stylish and modern. It’s hands down my pick for a desktop environment if you’re coming from Windows and looking to try your hand at Linux.

Hyprland

So if I don’t use KDE, what is the desktop that I do use like?

Dear reader, I warn you. This way lies madness.

Hyprland is what people pick when they enjoy the setup of a system just as much as actually using it for doing things. When you first install it, you are constantly adding extra bits and pieces, editing text files to change the configuration, and spending just as much time in a text editor and terminal as you would normally be spending watching videos of ravens asking if they’re a good boy. Once you get everything just right though? you find more things to tinker with. BUT THEN if you get all those things set up the way you like, it’s a dream to use.

The paradigm for how windows work on basically any other OS is tossed out the window with a tiling window manager. When I open a program in Hyprland, it fills the screen automatically. If I open another window, it will automatically resize the existing window to be half the screen and the new window will fill in the other half. Keep opening new windows and the space will keep subdividing.

This is what Hyprland looks like with 10 windows open on a single desktop.

With hotkeys, you can move windows around, re-arrange the layout, and even convert a tiled window into a floating one. In this way, the tiling window manager is kind of the opposite of modern floating window desktop environments. In KDE you can snap as an option. In Hyprland, snapping is the default and a floating window is an option.

The other big difference is in customization. I’m not talking just visual theming, though that certainly is something you can do with Hyprland. What I mean is that every default, every hotkey, every single thing that Hyprland does on a surface level view, is controlled by a single configuration file. Because that file is explicit in its construction, you can change anything you want. For example, on my install of Hyprland, if I press Super (the windows key) and E, it will open Thunar, my file manager. I specified Thunar as the default program in the Hyprland config, then manually set a keybind to open the default file manager further down the config file.

The way Hyprland’s configuration works is a sort of “best-practice” in Linux and in window managers especially. If a component is built for use with window managers, all of the defaults will be explicitly written into the config file and you are encouraged to make any edits you want to that config in order to make it yours. Similarly, since Hyprland doesn’t come with a lot of things, like a task bar, system tray, lock screen, notification center, or even a clock, you are expected and encouraged to install those components separately and the development community has done a wonderful job of supplying sample configurations and varied examples of each component. Here’s a list of what I’ve landed on with regards to customization components.

  • Waybar - Similar to a Desktop Environment Panel, or taskbar in Windows terminology, except Waybar is extremely customizable. My install doesn’t even really look like a task bar. It’s just a couple clusters of icons and useful information at the top corners of each of my screens.

  • Hyprlock - A lock screen built for use with Hyprland. I can hit Super+L to lock my screen and hide open applications. The config is extremely open ended though, so you can really make your lock screen look however you like.

  • Wofi - An application launcher similar to Apple’s spotlight. Super+Spacebar pulls up a floating window with a text prompt. I type in what I want to launch and it automatically populates and updates a list of programs. Enter to launch.

  • Wlogout - A tool to quickly log out, shut down, or reboot my computer. Super+M brings up the menu, and I can select options by clicking or using the arrow keys.

  • SwayNC - A notification center. It integrates with Waybar and I have them themed similarly.

  • SpectacleRC - A screenshot tool. Super+S starts the tool and I can click and drag to select an area to get a screenshot of. Screenshots automatically get put in my clipboard.

  • Clipse - A clipboard manager. Has a dedicated terminal UI that will show up with Super+V

So, if I use Hyprland and like it, why not recommend it widely? I think it’s pretty safe to say that most people don’t want to and shouldn’t have to type in settings for their programs line by line in a configuration file. It’s just not a great experience for most people. There are, however, the sickos out there like me that enjoy the setup process. For those people, a simple description of what Hyprland is and how it is configured will be plenty to make them go try it on their own regardless of what I’m saying I recommend or not.

In the end, whatever you use is great if it works for you. And if you decide to go down the Window Manager hole with me, then I salute you!