]> 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 406494b..5306d34 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 f0f7ff0..2a6c5e6 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 f525c25..832a3c7 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 190bb2d..e179179 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 4aec3da..604552b 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 0e615c9..46af24d 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 d2e990f..61c9c87 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