]> Freerunner's - dotfiles.git/commitdiff
hypr: big update
authorAndre Ramnitz <tux.rising@gmail.com>
Wed, 23 Jul 2025 04:44:40 +0000 (06:44 +0200)
committerAndre Ramnitz <tux.rising@gmail.com>
Wed, 23 Jul 2025 05:04:54 +0000 (07:04 +0200)
- order config sections like presented in the wiki
- add some windowrules
- improve workspaces.sh script (also support swww and hyprpaper simultaneously)
- clean-up animations

dot-config/hypr/fragments/animations.conf
dot-config/hypr/fragments/keybinds.conf
dot-config/hypr/fragments/windowrules.conf
dot-config/hypr/fragments/workspacerules.conf
dot-config/hypr/hyprland.conf
dot-config/hypr/hyprpaper.conf
dot-config/hypr/scripts/workspace.sh

index 406494ba5a7e593357e9b52280e3359db87df121..5306d348b54d4a2ea2e139417329aeb251f9249c 100644 (file)
@@ -2,7 +2,14 @@
 
 animations {
     enabled = yes
-    bezier = linear, 0, 0, 1, 1
+       # Default curves
+    bezier = easeOutQuint,0.23,1,0.32,1
+    bezier = easeInOutCubic,0.65,0.05,0.36,1
+    bezier = linear,0,0,1,1
+    bezier = almostLinear,0.5,0.5,0.75,1.0
+    bezier = quick,0.15,0,0.1,1
+
+       # Custom curves
     bezier = border, 1, 1, 1, 1
     bezier = overshoot, 0.05, 0.9, 0.2, 1.00
 
@@ -26,15 +33,28 @@ animations {
     bezier = easeOutBounce, 0.5, 1, 0.89, 1
     bezier = turboOut, 0.3, -0.3, 0, 1
 
-    animation = windows, 1, 1, turboIn
-    animation = windowsIn, 1, 1, turboIn, popin 40%
-    animation = windowsOut, 1, 1, turboOut
+       # Default Animations
+    animation = global, 1, 10, default
+    animation = border, 1, 5.39, easeOutQuint
+    animation = windows, 1, 4.79, easeOutQuint
+    animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
+    animation = windowsOut, 1, 1.49, linear, popin 87%
+    animation = fade, 1, 3.03, quick
+    animation = fadeIn, 1, 1.73, almostLinear
+    animation = fadeOut, 1, 1.46, almostLinear
+    animation = layers, 1, 3.81, easeOutQuint
+    animation = layersIn, 1, 4, easeOutQuint, fade
+    animation = layersOut, 1, 1.5, linear, fade
+    animation = fadeLayersIn, 1, 1.79, almostLinear
+    animation = fadeLayersOut, 1, 1.39, almostLinear
+    animation = workspaces, 1, 1.94, almostLinear, fade
+    animation = workspacesIn, 1, 1.21, almostLinear, fade
+    animation = workspacesOut, 1, 1.94, almostLinear, fade
+    animation = zoomFactor, 1, 7, quick
+
+       # Custom Animations / Overrides
     animation = windowsMove, 1, 3, easeOutQuad
-
-    animation = fade, 1, 1, easeInQuint
-    animation = border, 1, 1, easeInQuint
     animation = borderangle, 1, 60, border, loop
-    animation = workspaces, 1, 3, easeInOut, slidefade 50
 
 }
 
index f0f7ff07082dd465592f018b9d8c6df37b5c6db6..2a6c5e67502a4a8056428c68e82181594858ba70 100644 (file)
@@ -38,7 +38,7 @@ bind = $mainmod Shift,                  V, exec, killall fuzzel || cliphist list
 bind = $mainmod,                        W, exec, killall -SIGUSR1 waybar
 bind = $mainmod SHIFT,                  W, exec, killall -SIGUSR2 waybar
 bind = $mainmod,                        grave, exec, ~/.config/hypr/scripts/RofiEmoji.sh
-bind = $mainmod,                        Z, overview:toggle
+bind = $mainmod,                        Z, centerwindow
 
 # scratchpad
 bind = $mainmod,                        I, togglespecialworkspace, overlay
@@ -178,28 +178,22 @@ bind = $mainmod CTRL,                   0, exec, ~/.config/hypr/scripts/workspac
 
 # mouse binds
 # ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
-binds {
-        drag_threshold = 50
-        scroll_event_delay = 40
-}
-input {
-        scroll_points = 3
-}
-
-# LMB = 272 // RMB = 273
-
-bind = $mainmod,                        mouse_down,  exec, ~/.config/hypr/scripts/workspace.sh -
-bind = $mainmod,                        mouse_up, exec, ~/.config/hypr/scripts/workspace.sh +
-bind = $mainmod,                        mouse_left,  exec, ~/.config/hypr/scripts/workspace.sh - mv
-bind = $mainmod,                        mouse_right, exec, ~/.config/hypr/scripts/workspace.sh + mv
-bind = $mainmod,                        mouse_left,  exec, ~/.config/hypr/scripts/workspace.sh - mv s
-bind = $mainmod,                        mouse_right, exec, ~/.config/hypr/scripts/workspace.sh + mv s
-
 # Move/resize windows with mainMod + LMB/RMB and dragging
+# LMB = 272 // RMB = 273
 bindm = $mainmod,                       mouse:272, movewindow
 bindm = $mainmod,                       mouse:273, resizewindow
-bind = $mainmod SHIFT,                  mouse_down, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.25}')
-bind = $mainmod SHIFT,                  mouse_up, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.75}')
+
+# Mouse zoom
+bind = $mainmod,                        mouse_down, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.25}')
+bind = $mainmod,                        mouse_up, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.75}')
+
+# Cycle through workspaces or move windows with a mouse wheel tilt
+bind = $mainmod,                        mouse_left,  exec, ~/.config/hypr/scripts/workspace.sh -
+bind = $mainmod,                        mouse_right, exec, ~/.config/hypr/scripts/workspace.sh +
+bind = $mainmod SHIFT,                  mouse_left,  exec, ~/.config/hypr/scripts/workspace.sh - mv
+bind = $mainmod SHIFT,                  mouse_right, exec, ~/.config/hypr/scripts/workspace.sh + mv
+bind = $mainmod CTRL,                   mouse_left,  exec, ~/.config/hypr/scripts/workspace.sh - mv s
+bind = $mainmod CTRL,                   mouse_right, exec, ~/.config/hypr/scripts/workspace.sh + mv s
 
 
 # submaps
index f525c2575c4df81e9d2ca45577a9f1c0535eb0bb..832a3c71e3842c68afe2eaa5b0aa7852de169065 100644 (file)
@@ -10,9 +10,6 @@
 # hide hyprbars on non-floating windows
 windowrule = plugin:hyprbars:nobar, ^floating:0
 
-# don't UW any window catchall
-windowrule = maxsize 1440 1200, ^floating:1
-
 # handle plasma/kde/qt apps
 windowrule = float, class:^(org.kde.*)$
 windowrule = float, class:^(ark.*)$
@@ -48,11 +45,17 @@ windowrule = workspace 5, class:^(gimp)$
 windowrule = float, class:^(gimp)$
 windowrule = tile, class:^(gimp)$, title:^(.*GIMP)$
 
+# handle krita
+windowrule = workspace 5, class:^(krita)$
+windowrule = float, class:^(krita)$,title:.*(?=\sKrita)
+windowrule = minsize 1280 800, class:^(krita)$,title:.*(?=\sKrita)
+windowrule = focusonactivate, class:^(krita)$,title:.*(?=\sKrita)
+
 # WIP: handle cava launched by .desktop file
-windowrule = float,title:^(cava.*)$
-windowrule = noinitialfocus,title:^(cava.*)$
-windowrule = size 1024 600,title:^(cava.*)$
-windowrule = move 100% 100%,title:^(cava.*)$
+windowrule = float,class:^(cava|foot)$,title:cava
+windowrule = noinitialfocus,^(cava|foot)$,title:cava
+windowrule = size 1024 600,^(cava|foot)$,title:cava
+windowrule = move 100% 100%,^(cava|foot)$,title:cava
 
 # handle browsers
 windowrule = tag +neverdim, class:^(firefox.*)$
index 190bb2d052ca0281136dd83c93aa8df7dfe446bd..e1791795ff48cbef2c80dea1801ec211ce429d70 100644 (file)
@@ -9,3 +9,4 @@ workspace = 3, monitor:DP-1
 workspace = 4, monitor:DP-1, gapsout:40, gapsin:20
 workspace = 5, monitor:DP-1
 workspace = 6, monitor:DP-1, float
+workspace = special:magic, monitor:DP-1
index 4aec3da62c6ed90a03cc77f2a54dacb8ae750e00..604552be37e4b92f55ab3922c72266c0772a6418 100644 (file)
@@ -1,11 +1,9 @@
-# kak: filetype=conf:tabwidth=4:indentwidth=4:ai
+# kak: filetype=conf:tabstop=4:indentwidth=4:ai
 # ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀
 # ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█
 # ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀i
 # compiled plugins reside in /var/cache/hyprpm/[username]/
 
-debug:disable_logs = false # file logging. defaults to 1 for production
-
 # flavours integration
 source=./base16-colors.conf
 
@@ -26,11 +24,6 @@ monitorv2 {
 # other displays
 monitor=,preferred,auto-center-right,1,vrr,2
 
-# unscale XWayland
-xwayland {
-    force_zero_scaling = true
-}
-
 exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
 exec-shutdown = setenv WAYLAND_DISPLAY= XDG_SESSION_TYPE= XDG_CURRENT_DESKTOP=
 
@@ -43,32 +36,6 @@ exec-once = swww img /home/andy/Bilder/Wallpapers/3440x1440\ SW.png
 exec-once = hyprsunset
 exec-once = flatpak run ch.threema.threema-desktop
 
-input {
-    kb_layout = us,de
-    kb_variant = de_se_fi,
-    kb_model =
-    kb_options = grp:alt_caps_toggle
-    kb_rules =
-
-    follow_mouse = 1
-    focus_on_close = 1
-
-    touchpad {
-        natural_scroll = no
-    }
-    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
-}
-
-cursor {
-    enable_hyprcursor = 1
-    no_hardware_cursors = 0
-    no_break_fs_vrr = 2
-}
-
-experimental {
-    xx_color_management_v4 = 1
-}
-
 general {
     allow_tearing = 0
     border_size = 2
@@ -110,6 +77,65 @@ master {
     inherit_fullscreen = false
 }
 
+decoration {
+    rounding = 4
+    dim_special = 0.3
+    dim_inactive = true
+    dim_strength = 0.2
+    blur {
+        enabled = true
+        special = true
+        popups = false
+        size = 3
+        passes = 1
+        noise = 0.0317
+        contrast = 0.8916
+        brightness = 0.7172
+        vibrancy = 0.1696
+        vibrancy_darkness = 0.1
+        ignore_opacity = true
+    }
+    shadow {
+        enabled = true
+        range = 20
+        render_power = 3
+        sharp = false
+        ignore_window = true
+        color = 0xee$base01
+        color_inactive = 0xee$base01
+        offset = 1, 1
+        scale = 0.9992
+    }
+}
+
+input {
+    kb_layout = us,de
+    kb_variant = de_se_fi,
+    kb_model =
+    kb_options = grp:alt_caps_toggle
+    kb_rules =
+
+    follow_mouse = 1
+    focus_on_close = 1
+
+    touchpad {
+        natural_scroll = no
+    }
+    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+    off_window_axis_events = 2    # default = 1
+    scroll_points = 3
+}
+
+device {
+    name = razer-razer-basilisk-v3
+    sensitivity = -0.1
+    accel_profile = custom 0.3308622437 0.000 0.224 0.449 0.673 0.997 1.335 1.672 2.010 2.348 2.685 3.186 3.699 4.212 4.725 5.237 5.750 6.263 6.776 7.288 7.801 8.314 8.827 9.339 9.852 10.365 10.878 11.390 11.903 12.416 13.476
+}
+
+gestures {
+    workspace_swipe = false
+}
+
 group {
     merge_groups_on_drag = 0
     insert_after_current = 1
@@ -151,35 +177,26 @@ group {
     }
 }
 
-decoration {
-    rounding = 4
-    dim_special = 0.3
-    dim_inactive = true
-    dim_strength = 0.2
-    blur {
-        enabled = true
-       special = true
-       popups = false
-        size = 3
-        passes = 1
-        noise = 0.0317
-        contrast = 0.8916
-        brightness = 0.7172
-        vibrancy = 0.1696
-       vibrancy_darkness = 0.1
-        ignore_opacity = true
-    }
-    shadow {
-        enabled = true
-        range = 20
-        render_power = 3
-        sharp = false
-        ignore_window = true
-        color = 0xee$base01
-        color_inactive = 0xee$base01
-        offset = 1, 1
-        scale = 0.9992
-    }
+misc {
+    force_default_wallpaper = 1 # Set to 0 to disable the anime mascot wallpapers
+    key_press_enables_dpms = true
+    vfr = true #enable for battery savings
+    render_unfocused_fps = 60
+    allow_session_lock_restore = 1
+    initial_workspace_tracking = 1
+    font_family = ZedMono NFP
+    enable_swallow = 1
+    swallow_regex = ^(Alacritty|kitty|foot|footclient|konsole)$
+}
+
+binds {
+    drag_threshold = 50
+    scroll_event_delay = 30
+    workspace_center_on = 0
+}
+
+xwayland {
+    force_zero_scaling = true    # unscale XWayland
 }
 
 render {
@@ -191,24 +208,23 @@ render {
     new_render_scheduling = 1
 }
 
-misc {
-    force_default_wallpaper = 1 # Set to 0 to disable the anime mascot wallpapers
-    key_press_enables_dpms = true
-    vfr = true #enable for battery savings
-    render_unfocused_fps = 60
-    allow_session_lock_restore = 1
-    initial_workspace_tracking = 1
-    font_family = ZedMono NFP
+cursor {
+    enable_hyprcursor = 1
+    no_warps = 0
+    no_hardware_cursors = 0
+    no_break_fs_vrr = 2
+    warp_on_toggle_special = 1
 }
 
-device {
-    name = razer-razer-basilisk-v3
-    sensitivity = -0.1
-    accel_profile = custom 0.3308622437 0.000 0.224 0.449 0.673 0.997 1.335 1.672 2.010 2.348 2.685 3.186 3.699 4.212 4.725 5.237 5.750 6.263 6.776 7.288 7.801 8.314 8.827 9.339 9.852 10.365 10.878 11.390 11.903 12.416 13.476
+ecosystem {
 }
 
-gestures {
-    workspace_swipe = false
+experimental {
+    xx_color_management_v4 = 1
+}
+
+debug {
+    disable_logs = false # file logging. defaults to 1 for production
 }
 
 plugin {
@@ -225,15 +241,6 @@ plugin {
         hyprbars-button = 0xaa$base0A, 20, 󰁌, hyprctl dispatch fullscreen 1
         hyprbars-button = 0xaa$base0B, 20, , hyprctl dispatch pin active
     }
-    overview {
-        panelHeight = 200
-        panelColor = 0xcc$base03
-        panelBorderWidth = 2
-        panelBorderColor = 0xee$base07
-        workspaceActiveBorder = 0xee$base0A
-        workspaceInactiveBorder = 0xfa$base01
-        workspaceBorderSize = 2
-    }
 }
 
 
index 0e615c9f20fb68baa26b65008786447cee6376ac..46af24d78bfcba48a7c1d2c4722faff55221a48e 100644 (file)
@@ -1,8 +1,8 @@
 preload = ~/Bilder/Wallpapers-simple/beach.png
 preload = ~/Bilder/Wallpapers-simple/pulppixel22.png
 preload = ~/Bilder/Wallpapers-simple/WP.jpg
-preload = ~/Bilder/Wallpapers-simple/radio.png
-preload = ~/Bilder/Wallpapers-simple/ContentoCustomBackground.png
+preload = ~/Bilder/Wallpapers-simple/Listen.png
+preload = ~/Bilder/Wallpapers-simple/Big_Sur_Simple.png
 preload = ~/Bilder/Wallpapers-simple/AtariTimes.png
 preload = ~/Bilder/Wallpapers-simple/TronLightCycle1.png
 wallpaper = , ~/Bilder/Wallpapers-simple/beach.png
index d2e990f9d600f9b40df97ab9c016a0864992382b..61c9c875ddb55e3c2e59a8ee3cf0dbfe0ec22d87 100755 (executable)
@@ -24,28 +24,41 @@ else
     POSTCMD=''
 fi
 
-
 case "$REQUESTED_WORKSPACE" in
     1)
-        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/beach.png"
+        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE";
+        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
+        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/beach.png"
         ;;
     2)
-        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/pulppixel22.png"
+        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE";
+        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
+        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/pulppixel22.png"
         ;;
     3)
-        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/WP.jpg"
+        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE";
+        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
+        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/WP.jpg"
         ;;
     4)
-        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/radio.png"
+        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE";
+        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
+        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/Listen.png"
         ;;
     5)
-        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/ContentoCustomBackground.png"
+        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE";
+        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
+        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/Big_Sur_Simple.png"
         ;;
     6)
-        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/AtariTimes.png"
+        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE";
+        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
+        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/AtariTimes.png"
         ;;
     *)
-        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/TronLightCycle1.png"
+        hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE";
+        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
+        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/TronLightCycle1.png"
         ;;
 esac