Migrate hyprland

This commit is contained in:
2026-08-02 18:10:44 +02:00
parent 74fe45a4e0
commit 7a80c78a71
8 changed files with 413 additions and 45 deletions
+48 -40
View File
@@ -17,15 +17,16 @@ exec-once = dbus-update-activation-environment --systemd &
exec-once = hyprpaper
exec-once = hypridle
exec-once = waybar -c ~/.config/waybar/config &
exec-once = fcitx5 -d &
exec-once = mako &
exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" &
exec-once = fcitx5 -d & # Keyboard
exec-once = mako & # Notifications
exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" & # Audio bar
exec-once = /usr/lib/polkit-kde-authentication-agent-1 &
# exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = hyprctl setcursor Adwaita 20
# exec-once = xwaylandvideobridge
exec-once = hyprctl setcursor Adwaita 24
exec-once = wl-clip-persist --clipboard regular
exec-once = bash -c "sleep 1 && killall -e xdg-desktop-portal-hyprland && killall xdg-desktop-portal && /usr/lib/xdg-desktop-portal-hyprland & && sleep 2 && /usr/lib/xdg-desktop-portal &" &
exec-once = xwaylandvideobridge
#------------------------
# General configurations
@@ -46,11 +47,17 @@ input {
natural_scroll = yes
scroll_factor = 0.2
}
sensitivity = 0 # [-1.0 - 1.0]
accel_profile = flat
}
device {
name = elecom-elecom-opticalmouse
sensitivity = -0.45
}
cursor {
no_warps = true
}
@@ -91,7 +98,7 @@ dwindle {
special_scale_factor = 0.8
split_width_multiplier = 1.0
use_active_for_splits = true
pseudotile = yes
# pseudotile = yes
preserve_split = yes
}
@@ -104,13 +111,13 @@ misc {
enable_swallow = true
swallow_regex =
focus_on_activate = true
vfr = 1
new_window_takes_over_fullscreen = 2
# vfr = 1
# new_window_takes_over_fullscreen = 2
}
gestures {
workspace_swipe = true
workspace_swipe_fingers = 4
# workspace_swipe = true
# workspace_swipe_fingers = 4
workspace_swipe_distance = 250
workspace_swipe_invert = true
workspace_swipe_min_speed_to_force = 15
@@ -121,6 +128,8 @@ gestures {
xwayland {
force_zero_scaling = true
}
env = GDK_SCALE,2
env = XCURSOR_SIZE,24
# device {
# name = epic-mouse-v1
@@ -143,7 +152,11 @@ bind = CTRL ALT, T, exec, alacritty
# Screenshot
bind = , PRINT, exec, grimblast --notify --freeze copysave area
layerrule {
name = no_anim_for_selection
no_anim = on
match:namespace = selection
}
# Kill
bind = $mainMod, Q, killactive,
@@ -193,10 +206,9 @@ bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = ALT, Tab, cyclenext,
bind = ALT, Tab, cyclenext
bind = ALT, Tab, bringactivetotop,
# Window movement
bind = $mainMod SHIFT,left, movewindow, l
bind = $mainMod SHIFT,right, movewindow, r
@@ -208,7 +220,7 @@ bind = $mainMod ALT, right, swapwindow, r
bind = $mainMod ALT, up, swapwindow, u
bind = $mainMod ALT, down, swapwindow, d
bind = $mainMod, D, togglesplit
bind = $mainMod, D, layoutmsg, togglesplit
# Window resize
@@ -267,41 +279,37 @@ bind = $mainMod CTRL, right, movetoworkspace, +1
# windows rules
#---------------
windowrule = float, Rofi
windowrule = float on, match:class ^(Rofi)$
windowrule = float, pavucontrol
windowrule = float on, size 960 540, match:class ^(org.pulseaudio.pavucontrol)$
windowrulev2 = float,class:^(blueman-manager)$
windowrule = float on, match:class ^(org.gnome.FileRoller)$
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
windowrulev2 = float,class:^(xdg-desktop-portal-kde)$
windowrulev2 = float,class:^(xdg-desktop-portal-hyprland)$
windowrule = float on, match:class ^(blueman-manager)$
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrule = float on, match:class ^(xdg-desktop-portal-gtk)$
windowrule = float on, match:class ^(xdg-desktop-portal-kde)$
windowrule = float on, match:class ^(xdg-desktop-portal-hyprland)$
windowrulev2 = float,class:^(CachyOSHello)$
windowrule = float on, match:class ^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = float,class:^(zenity)$
windowrule = float on, match:class ^(CachyOSHello)$
windowrulev2 = float,class:^()$,title:^(Steam - Self Updater)$
windowrule = float on, match:class ^(zenity)$
windowrulev2 = float,class:^()$,title:^(Picture in picture)$
windowrule = float,title:^(Picture-in-Picture)$
windowrule = size 960 540,title:^(Picture-in-Picture)$
windowrule = move 25%-,title:^(Picture-in-Picture)$
windowrule = float on, match:class ^()$, match:title ^(Steam - Self Updater)$
windowrule = float,nemo
windowrule = move 25%-,nemo
windowrule = size 1080 540,nemo
windowrule = float on, match:class ^()$, match:title ^(Picture in picture)$
windowrule = float on, size 960 540, match:title ^(Picture-in-Picture)$
windowrule = animation slide right,alacritty
windowrule = float on, size 1080 540, match:class ^(nemo)$
windowrule = float, discord
windowrule = float, vesktop
windowrule = animation slide right, match:class ^(alacritty)$
windowrule = float on, match:class ^(discord)$
windowrule = float on, match:class ^(vesktop)$
windowrule = float on, match:class ^(Matplotlib)$
# XWayland workaround
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
windowrule = opacity 0.0 override, no_anim on, no_initial_focus on, max_size 1 1, no_blur on, no_focus on, match:class ^(xwaylandvideobridge)$