Date: 2024-04-08 22:03
Recently, I switched from Sway to Hyprland, out of curiosity. I'd heard that it's really good, and in a good state, so I thought I'd try it.
At first, I thought I had made a mistake. I struggled to perform basic work, and spent what felt like a futile amount of time configuring it, and I thought I'd go back to Sway.
However, that hasn't been the case. Not at all. Despite the fact that Hyprland is a MASSIVE downgrade workflow-wise for me, I'll still be using it, for the time being at least.
A few months ago, I was using the i3 window manager. It was great. Things worked how I liked them to, and I had configured it to my liking.
However, I decided one day to try this new Wayland thing everyone is talking about. The obvious choice was Sway, because it claimed to be almost entirely compatible with i3.
At first, the differences felt really weird, but before I knew it, I had gotten used to them, and using i3 felt weird instead. So that's where things were when I switched, once again, to Hyprland.
I'd been dealing with so many strange issues, mainly to do with OBS Studio. I use OBS to record video and audio, and having it working is a make-or-break affair for my needs.
Unfortunately, OBS's Wayland support, is...subpar, and it heavily relies on xdg-desktop-portal
to get anything meaninfgul working. As such, I found myself dissatisfied with Sway because of its subpar portals
implementation. As such, I was already open to experimentation, especially considering that OBS was constantly breaking in strange and seemingly random ways, and I was getting tired of it.
The first thing I had to do was install Hyprland. This was as simple as running
sudo pacman -S hyprland
in my terminal. Ah, the joys of Linux. Imagine I was on Windows. Then I'd need to go on a sketchy website and download a random .EXE and pray I don't get a virus. And on MacOS, it wouldn't even work at all, because it would be incompatible with this Mac.
Once Hyprland was installed, configuring it was somewhat simple. The Wiki was fairly easy to use and the default config, while quite cluttered, provided me with a decent starting point. However, there were a few idiosyncracies I found hard to deal with. For example, the `bind` keyword is super confusing. This is what the syntax looks like:
bind = <key(s)>, <key>, exec, <command>
For example, to bind CTRL+DELETE
to an action:
bind = ctrl, delete, exec, alacritty
But to bind CTRL+SHIFT+DELETE
to an action:
bind = ctrl shift, delete, exec, alacritty
This looks really easy, and it is, but when you code looks like this:
bind = $mainMod ctrl, q, exec, qbittorrent
You can get lost quite quickly. For some reason, the variable name (which is set to alt
) throws me off. To be fair, it IS my fault.
To put it mildly, my experience with Hyprland has been a mixed bag.
xdg-desktop-portal
implementation is great, and OBS studio works perfectly.hyprpaper
, hyprshot
, and more are really well-integrated.hyprshot
has made me FINALLY stop searching for a replacement for Flameshot after I switched away from i3 and thus X11.hyprshot
doesn't work at all, no matter what I try.#a03000
as the accent colour!wall2
is really nice (the Hyprland logo everywhere is a cool touch), but it seems a bit off to me. Maybe it's the attractive anime girl.Over the past month, I've used Hyprland full-time for all of my work (and non-work), and I've seen my fair share of issues. I've also seen my fair share of benefits, so I thought I'd evaluate my experience. While the learning curve was more significant than I thought it would be, I think I've finally settled on a Wayland compositor, after just two tries. I'm not much of a distro-hopper, or an anything-hopper, really, so I expect to use Hyprland for at least the next few months. Maybe I'll like it enough to use it permanently. Maybe the project dies because Vaxry has a stroke from overwork (for context, he has made almost 4000 commits in the past year, which makes my 1000 in 7 months pale in comparison). But until then, I'll be a happy Hyprland customer. Thanks, Vaxry!