Hyprland Crash Course
xd1.dev
xd1.dev
This article mentions dunst for notifications, Rofi for app launchers, Waybar for a status bar, swaylock for screen locking, ... I've been having a great time using just AGS [0]. AGS, at its core, is a framework to write all of those tools. It is based on the same technology that Gnome Shell uses, i.e. GJS. You can build up all of the widgets you want and need using Gtk and replace all of the tools I mentioned before. But be warned: AGS only provides you with the libraries you need, you'll still need to build the UI yourself. Unless you copy someone else's configuration of course ;)
That said, my config is available on GitHub [0]. If you want to see much more complete setups, you should check out the configurations by Aylur (creator of AGS) [1], kotontrion [2], or end_4 [3]. I'm sure there are lots more that are notable, but these immediately came to mind.
[0] https://github.com/Cu3PO42/gleaming-glacier/tree/next/config...
[1] https://github.com/Aylur/dotfiles
Thanks for the protip!
Actually it's really surprising how few tiling WMs support this sort of scenario.
I eventually just gave up and switched to KDE+KZones as it covers 90% of what I'd get from a tiling WM anyway.
gaps horizontal 417
gaps inner 10
smart_gaps inverse_outer
https://imgur.com/a/MjNBgmsFor example, splitting a 5120x1440 monitor into three:
xrandr --setmonitor DisplayPort-0-0 1280/297x1440/340+0+0 none
xrandr --setmonitor DisplayPort-0-1 2560/595x1440/340+1280+0 none
xrandr --setmonitor DisplayPort-0-2 1280/297x1440/340+3840+0 noneI think is the relevant setting:
# Only enable outer gaps when there is exactly one container
smart_gaps inverse_outer
And I have these gap values in my config: gaps horizontal 1000px
gaps vertical 100px
HTHThis obviously has a strong habit and comfort aspect and should not discourage anyone trying Hyprland, especially if they are new to tiling WM's.
The exercise itself was not useless, following various Hyprland guides I picked up tools here and there that I had not been aware of that I integrated into my sway flow.
I asked where I work and many recommended hyprland. After giving it a try I saw it was actually very good.
What do you like about sway and what advantages did you hope that hyprland had over sway for you to be compelled to move to it?
Sway is just i3 for Wayland, which in turn means you have multiple workspaces (which are also potentially mapped to multiple monitors). You assign workspace a label (number, or text, or emoji), and you may also bind some application to always open on that workspace. Or you just get a habit of putting specific applications to only specific workspaces. Your entire navigation then sits in your muscle memory - finger on the mod key (win or alt or ctrl - whatever), another finger on the digits row for the workspace index - and you're there.
It's a tiling WM, so you don't spend time arranging windows - they already take the full desktop real estate evenly split between them, and you can also adjust size of each window separately. Again, this sits in your muscle memory.
Point is - no mouse is needed to navigate through workspaces and windows.
You may read my blog post about setting sway up (on NixOS) here:
https://drakerossman.com/blog/wayland-on-nixos-confusion-con...
Also check the "nix" tag at blog.
However, it also seems rather unstable. Over the past several months I've been using it, it had a few separate bugs that led to crashes. I haven't really used Sway, so I can't really comment on that, but the X11 WMs (i3 and bspwm) are both quite stable and I honestly can't recall them crashing.
But a few months ago I also replicated my sway config to hyprland, as I heard many good things about it, and it seemed like it was the new "cool kid".
But I also didn't notice any benefit.
On the contrary, I've had more problems with it, frequent crashes, flickering windows. And It misses a way to move a whole workspace to another monitor. Nonetheless I used it for ~1 month, and then switched back to sway.
Switching back to sway really felt like an improvement.
Even if they'd fix all the issues I had, I still can't see what hyprland has to offer for me, that sway can not. (Except the animations, which I immediately turned off)
I definitely feel that way about the core libraries/frameworks I'm building my applications/codebases on top of, so can relate!
But for my WM/desktop, I'm pretty happy to a) not know it's innermost workings, and b) just have it not break in the first place! :-)
I guess we can each have our own yak-shaving preferences. :-)
But yeah! We can't know everything, it is very important to consciously decide what to be ignorant about. What is relevant to me might not be relevant to you and that is the beauty of it. If everyone got interested in the exact same thing, just imagine the chaos.
This should do the trick.
misc {
disable_hyprland_logo = true
} misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
}
https://wiki.hyprland.org/Configuring/Variables/#miscdisable_hyprland_logo will also disable the hyprland logo too, not only the anime mascots, and will display a solid color if not using hyprpaper
This is a fun reminder that the Linux Window Manager world continues to evolve. It looks like Hyprland is a cross between those tiling window managers and Enlightenment of yore (for the eye-candy)
Does Hyprland implement a similar thing to AwesomeWM's killer feature of "window tagging"? In AwesomeWM, it meant you could "tag" various windows (for example: Terminal, Editor, Browser) then display an arbitrary set of Tags. This way, I could trivially go from "Editor and Terminal" to just "Editor" to "Editor & Browser".
[2] I am aware of the various macOS window manager tools like Moom, SizeUp, and the like, but none that I've tried come to the ankle of the better Linux tiling WMs.
i have an implementation of window manipulation based on key/letter hints, you can use it as a reference
I used Enlightenment at bit back in the day and used Compiz/Beryl with GNOME a lot in the mid-00s. I'm a sucker for animations on the desktop, I even liked the wobbly windows.
I started using tiling window managers with i3 and then later bspwm. Using Hyprland for the first time gave me a feeling similar to what I felt using Compiz along with the productivity of a tiling window manager. Its like the best of both worlds.
This turns into a problem for maintainers because many distributions refuse to ship non tagged versions of software.
Hyprland used to depend on wlroots-git, but when it made the switch to use specific pinned commits instead, a lot more distributions started to package it [1], but some still refuse to do so such as Debian.
[0] https://github.com/hyprwm/hyprland/issues/302#issuecomment-1...
[1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_request...
https://github.com/Bismuth-Forge/bismuth/issues/471#issuecom...
This is what I used. I found no good replacement for it and that is what made me switch to hyprland.