Why do people do this?
Having said that, I guess the compression of the video makes it less sharp and contrasty as it is in real life. But all code is shared in the original with a link in the description if someone really wants to dig deeper into it.
As a recent hyprland user it's really useful being able to pick out the features I like and incorporating them into my setup.
That being said I'm glad that Hyprland exists and shows people that there is power in minimalism. Fluxbox was my first love..
Wayland’s architecture makes tearing inherently less likely not the least reason being that the compositor synchronizes all drawing with the display rate. X11 is much more of a free for all.
Not everything has always been smooth, but at some point when I was needing to do screen sharing via Zoom I had to switch back to i3, and the comparison was more stark than I remembered.
On i3:
Tearing (graphical glitches) is terrible, especially if you’re doing screen sharing. I can’t use my XF86AudioMicMute key because its keycode is 256 and X only supports 8-bit codes. The touchpad doesn’t work well. Scaling stuff is a total mess, a mess that you can mostly get to work, but you’ll need to set four different environment variables and run a gsettings daemon and set these three properties and add this file to this location and that one to that and modify your Chromium flags and I probably even forgot a couple of steps.
On Wayland:
Tearing is solved. I had to modify the keymap to get XF86AudioMicMute¹, which I suspect was because of X compatibility, but then it works. The touchpad works very well, gestures, scroll rates and all. Scaling is robust and automatic, if you have an integer scaling factor or are willing to settle for render-at-next-integer-and-downsample, which is a bad technique but good enough for Apple; and compositors now support proper fractional scaling, and apps are more commonly implementing it (though I’m distressed it took so long). Firefox Nightly has just this week finally fixed the last problem that I’ve noticed, and I hope they’ll default-enable Wayland fractional scaling and Wayland soon.
The only thing I feel Sway’s behind in now is its lack of per-window screen sharing. Other than that, it’s very solidly better than i3 in every way: in convenience (things work better out of the box), in robustness (features that exist don’t have issues) and in features.
—⁂—
¹ Ran `xkbcomp $DISPLAY keymap.xkb`, then modified that file by changing `maximum = 255;` to `maximum = 256;`, and adding in appropriate places `<I256> = 256;` and `key <I256> { [ XF86AudioMicMute ] };`. Then, in ~/.config/sway/config, `input * xkb_file "~/.config/sway/keymap.xkb"` or similar.
That's available in sway/wlroots master with xdg-desktop-portal-wlr master. Will be in next release.
Download and run "picom" (its default configuration is good), or any other compositor. This is the way to get graphical acceleration for regular windows on X11, and fix tearing.
> Scaling stuff is a total mess, a mess that you can mostly get to work, but you’ll need to set four different environment variables and run a gsettings daemon and set these three properties and add this file to this location and that one to that and modify your Chromium flags and I probably even forgot a couple of steps.
I just modify ~/.Xresources with the "Xft.dpi: 120" for 1.25x scaling. All apps I care about pick this value to scale the UI with (chrome, firefox, telegram, Qt as a whole, etc). Notable exceptions being java apps.
See: https://wiki.archlinux.org/title/HiDPI#X_Resources https://wiki.archlinux.org/title/Xorg#Setting_DPI_manually
There were annoyances when I realised I could no longer use certain workhorses (e.g. feh), but usually a bit of digging turned up a drop-in replacement (e.g. imv).
Thirds, quarters, sixths. Move windows to the next screen. Increase and decrease size.. so many nice things you can do with just the keyboard.
Its keyboard shortcuts are so deeply in my brain I could rattle them off while operating heavy machinery :)
AeroSpace is almost there, it has a few quirks and annoyances and is missing some features but it's close enough that it's now my daily driver for client work requiring being on a Mac.
Highly recommended and hopefully it continues to evolve. Also hoping that the churn in macOS is not going to kill it for some unexpected reason.
As far as Hyprland, I tried it and when I got to a setup that I felt comfortable I realized that I had basically replicated my Sway setup with no added benefits so I just switched back to Sway. I'm not much into ricing anyway. I mostly want the chrome to stay out of my way.
That said, for people unfamiliar with i3/Sway, Hyprland could be a great way of getting into tiling so I'm definitely rooting for them!
For me it's pure speed at getting to where I need to go. My notes live on workspace 1, my main workspace on 2 and browser on 3, so I'm just a single key combination away from most of what I need. Can still alt+tab if I like.
If that doesn't feel useful to you, then maybe a tiling wm isn't right for you. That's entirely fine.
My wm has an "escape" in that I can define floating desktops, and by default I have one, mostly used for file management, because there are things where I agree it's better to have floating/overlapping windows.
It doesn't really matter if it's a "waste of space" - I have two large monitors, and 10 virtual desktops to spread windows between (I'd add more, but I haven't felt the need). To the point where my setup, by default, centers the window with large margins when I have just one window open on a screen because it's more comfortable (and I'm just one keypress away from fullscreening the app anyway).
Most of the time I use tiling because I like not having to care about the layout beyond those defaults.
But I can also configure specific layouts. E.g. I have desktop dedicated to my todo list, a list of done items, and notes, and it has a fixed layout that ensures those windows are always in the same placement, on the same desktop.
In my day to day I have a couple terminals (each with 4-5 tabs, some are running screen sessions), two browsers (with max 3-4 tabs open), music player, at least 2-3 IDE's open (JetBrains), Notes, mail client, Slack. This is across two monitors.
I switched to it beginning of this year and haven't looked back. Initially I ran JaKoolIt's dotfiles which had a bit too many anime waifus, then some custom dotfiles I made myself, and finally Omarchy which really checks all the boxes for me.
My single gripe I have with it is multi-monitor behavior is pretty bizarre, as workspaces are a per-monitor deal.
My other complaint was with how it dealt with ultrawide monitors, but I managed to get a PR in that fixed that and let you configure an aspect ratio for windows that are the only window on screen so that they aren't always stretched a kilometer wide.
If someone wants to steal my homework, this is what I did
# use `hyprctl monitors` to get your monitors' names, replace DP-3 and HDMI-A-1 as appropriate
workspace = 1, monitor:DP-3, default:true
workspace = 2, monitor:HDMI-A-1, default:true
workspace = 3, monitor:DP-3
workspace = 4, monitor:HDMI-A-1
workspace = 5, monitor:DP-3
workspace = 6, monitor:HDMI-A-1
workspace = 7, monitor:DP-3
workspace = 8, monitor:HDMI-A-1
unbind = SUPER, code:10
unbind = SUPER, code:11
unbind = SUPER, code:12
unbind = SUPER, code:13
unbind = SUPER, code:14
unbind = SUPER, code:15
unbind = SUPER, code:16
unbind = SUPER, code:17
bindd = SUPER, code:10, Switch to workspace 1, workspace, 2
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
bindd = SUPER, code:11, Switch to workspace 2, workspace, 1
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
bindd = SUPER, code:12, Switch to workspace 3, workspace, 4
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
bindd = SUPER, code:13, Switch to workspace 4, workspace, 3
bindd = SUPER, code:13, Switch to workspace 4, workspace, 4
bindd = SUPER, code:14, Switch to workspace 5, workspace, 6
bindd = SUPER, code:14, Switch to workspace 5, workspace, 5
bindd = SUPER, code:15, Switch to workspace 6, workspace, 5
bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
bindd = SUPER, code:16, Switch to workspace 7, workspace, 8
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
bindd = SUPER, code:17, Switch to workspace 8, workspace, 7
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
i used to have a setup like this on i3, using i3-msg to query the state
I've switched back full time to Omarchy, and couldn't be happier. I'll likely eventually land back on NixOS with hyprland and my custom configs, but for now, Omarchy is wonderful.
DHH is just the salesman a Linux distro like this needs, and the combination of smart decisions (most menu'd commands just call out to shell scripts behind the scenes) and text-based config make Omarchy a techie's dream.
Add something like claude code in your ~/.config directory and you have almost instant and infinite ability to customize.
It's so much fun.
For any former i3 users, I've found https://github.com/outfoxxed/hy3 to be a very acceptable replacement.
christophilus•10h ago
jeena•10h ago
bayesianbot•9h ago
edit: and as fellow niri user, I recommend people try it. I think it's one of the easiest tiling WMs to get into, it feels very natural within minutes.
weikju•10h ago
no_carrier•3h ago
3836293648•9h ago
kuuchuu•9h ago
mmgutz•1h ago
bashtoni•9h ago
Is this possible on Niri, where the virtual desktop expands infinitely?
gorgoiler•8h ago
Important long lived ones would be on workspaces where I could jump to them by number. I would have sound mixer and music on 1, mail and instant messaging on 2, browser on 3, then dev stuff or admin tasks etc on 4+. These would stretch horizontally, of course.
What I found was the “+” in “4+” could often be quite a lot of windows. I might have to reference some PDF in order to fill out a form in another PDF, and open a new browser window to manage some other reference document, and screenshots for the final draft, and terminals for taking temporary notes, maybe an image editor to trim screenshots, etc.*
With niri, I still have the “1234” layout but these are now rows with keyboard shortcuts. The ad hoc windows that get pushed onto and popped off my mental context stack grow rightwards… as a stack!
For me, niri’s brilliance is giving me those two axes. Known topics with keyboard navigation on the vertical axis. Ad-hoc tasks within each topic on a push/pop context stack on the horizontal axis.
*Ironically, these multi-window tasks were always the most mundane! Form filling for a mortgage application, say, or managing a report review for multiple authors. Software engineering — one of the more complicated things one can do on a computer, is all very neatly contained inside an IDE / tmux+vim+sh.
chills•6h ago
boomskats•5h ago
likeclockwork•8h ago
However Niri works fantastically in both use cases because it gives me what I really want: Resizable, rearrangeable columns of windows, as many as I need for the current task and a way to quickly rearrange and spatially navigate so that I can see exactly what I need to see.
TiredOfLife•6h ago