This is an alternative to the default swapmaster behavior that, instead
of swapping with the first child, swaps with the last active window if
the currently focused window is master.
river is a cool Wayland compositor that I've been trying for a few days
now. There are some bugs and unimplemented features, however, that make
me want to use Hyprland instead.
Many of these settings are not necessary to change since they're the
default anyway, and by using the defaults, important settings should be
automatically applied over time.
Changes include:
- fcitx5 support
- Removed middle click paste
- udiskie starts by default
- Internal screen is 1x scale by default
- Acceleration profile is flat
- swww settings added
- Gaps are smaller by default
- No border by default
- Master layout by default
- No rounding by default
- Special workspace uses fade animation
- New windows become master
- rofi used over of wofi
- Super+O to toggle waybar
- Super+U to toggle between master/dwindle layouts
- Super+S to toggle special workspace
- Super+Ctrl+[0-9] for river/dwm-like tag behavior
- Super+Alt for group keybinds
- Volume/brightness keybinds
I never use this and it was actually making tab not work when at the end
of of a word. Getting rid of it entirely means less running code that I
have to maintain.
Pressing the actual number of the desktop is more productive than
tabbing between them since you associate the hand movement with that
workspace, making it easier to return to later.
Super+tab, in contrast, was one hand movement that resulted in many
different results, which wasn't so good for memorizing which desktop has
what.
I don't think I've ever had to change from SUPER in my years of using
Linux, and if I ever had to, it'd be a simple find and replace.
Using SUPER explicitly here makes things easier to read and understand
without having to worry about additional variables.
Super+Enter is now the infamous new terminal keybind, and Super+Q now
closes windows as expected.
Other changes include using a single instance for kitty and adding
basic screenshotting functionality.
This is huge and means that I no longer have to use the buggy libinput
hacks that I used previously. So far, I haven't experienced any bugs
with hyprland gestures that I experienced with libinput-gestures.
From my initial testing, hyprland seems quite nice and opens new windows
similar to bspwm. Not having to specify whether a window should open
horizontally or vertically makes things feel a lot smoother compared to
sway.
This change, in combination with xdg-desktop-portal-termfilechooser-git,
was my attempt to use ranger as a file browser. Although it worked, it
unfortunately caused ranger to crash in some instances, likely due to
incorrect parameters.
I initially programmed this "dynamic desktops" implementation for a
similar feel to GNOME, however after using it for a few months I
realized that I was taking away one of the main advantages of a tiling
window manager by having all windows not tile by default.
Additionally, I ran into some edge cases where the next window would not
show if opened on a desktop that had multiple nodes open. Although I
could probably figure out the cause with some effort, I'd much rather
enjoy the simplicity of the traditional tiling hierarchy once more.
This gives us the convenience of switching desktops while also giving us
the option of the traditional alt+tab approach if needed.
Note that all desktop-related keybinds use the super key so alt and ctrl
modifiers can be used by desktop programs.