From f88e71e762c8e80cc7726c6d77c7dd5b7e826ff7 Mon Sep 17 00:00:00 2001 From: Andre Ramnitz Date: Thu, 17 Jul 2025 13:56:49 +0200 Subject: [PATCH] hypr: update for v0.50.0 --- dot-config/hypr/fragments/animations.conf | 53 ++-- dot-config/hypr/fragments/env.conf | 42 +--- dot-config/hypr/fragments/keybinds.conf | 227 +++++++++--------- dot-config/hypr/fragments/layerrules.conf | 7 +- dot-config/hypr/fragments/permissions.conf | 18 ++ dot-config/hypr/fragments/windowrules.conf | 48 ++-- dot-config/hypr/fragments/workspacerules.conf | 9 +- dot-config/hypr/hyprland.conf | 193 ++++++++------- dot-config/hypr/hyprpaper.conf | 2 +- .../hypr/scripts/browser_focus_or_run.sh | 6 + dot-config/hypr/scripts/gamemode.sh | 6 +- dot-config/hypr/scripts/gaps.sh | 24 +- dot-config/hypr/scripts/startup.sh | 46 ++-- dot-config/hypr/scripts/workspace.sh | 2 +- 14 files changed, 366 insertions(+), 317 deletions(-) create mode 100644 dot-config/hypr/fragments/permissions.conf create mode 100755 dot-config/hypr/scripts/browser_focus_or_run.sh diff --git a/dot-config/hypr/fragments/animations.conf b/dot-config/hypr/fragments/animations.conf index 6c42e567..a78ee592 100644 --- a/dot-config/hypr/fragments/animations.conf +++ b/dot-config/hypr/fragments/animations.conf @@ -1,24 +1,39 @@ +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai + animations { enabled = yes + bezier = linear, 0, 0, 1, 1 + bezier = overshoot, 0.05, 0.9, 0.2, 1.00 - bezier = myBezier, 0.05, 0.9, 0.1, 1.00 - bezier = overshoot, 0.05, 0.9, 0.2, 1.00 - bezier = easeOutQuad, 0.5, 1, 0.89, 1 - bezier = easeOutBounce, 0.5, 1, 0.89, 1 - bezier = turboboost, 0.97,0.22,0.9,0.48 - animation = windows, 1, 2, easeOutQuad - animation = borderangle, 1, 5, default - animation = fade, 1, 5, default - animation = fadeShadow, 1, 1, default - animation = workspaces, 1, 3, default, slidefade 50 - -# shamelessly stolen from https://github.com/prasanthrangan/hyprdots - bezier = winIn, 0.1, 1.1, 0.1, 1.1 - bezier = winOut, 0.3, -0.3, 0, 1 - bezier = liner, 1, 1, 1, 1 - animation = windowsIn, 1, 1, turboboost, popin 60% - animation = windowsOut, 1, 1, turboboost - animation = border, 1, 1, liner -} + bezier = easeIn, .42, 0, 1, 1 + bezier = easeInBack, 0.36, 0, 0.66, -0.56 + bezier = easeInSine, 0.12, 0, 0.39, 0 + bezier = easeInQuart, 0.895, 0.03, 0.685, 0.22 + bezier = easeInQuint, 0.755, 0.05, 0.855, 0.06 + bezier = turboIn, 0.97,0.22,0.9,0.48 + + bezier = easeInOut, .42, 0, .58, 1 + bezier = easeInOutBack, 0.68, -0.55, 0.265, 1.55 + bezier = easeInOutCirc, 0.785, 0.135, 0.15, 0.86 + bezier = easeInOutExpo, 1, 0, 0, 1 + bezier = easeInOutQuart, 0.77, 0, 0.175, 1 + bezier = easeInOutSine, 0.445, 0.05, 0.55, 0.95 + + bezier = easeOut, 0, 0, .58, 1 + bezier = easeOutQuad, 0.5, 1, 0.89, 1 + bezier = easeOutQuart, 0.165, 0.84, 0.44, 1 + 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 + animation = windowsMove, 1, 3, easeOutQuad + + animation = fade, 1, 1, easeInQuint + animation = border, 1, 1, easeInQuint + animation = borderangle, 1, 30, easeInQuart, loop + animation = workspaces, 1, 3, easeInOut, slidefade 50 + +} diff --git a/dot-config/hypr/fragments/env.conf b/dot-config/hypr/fragments/env.conf index 478e5f5a..3cfaadb9 100644 --- a/dot-config/hypr/fragments/env.conf +++ b/dot-config/hypr/fragments/env.conf @@ -1,3 +1,5 @@ +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai + # xdg stuff env = AMD_VULKAN_ICD=RADV env = XDG_CURRENT_DESKTOP,Hyprland @@ -7,11 +9,11 @@ env = XDG_SESSION_TYPE,wayland # prefer wayland env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,kde -env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = GDK_BACKEND,wayland,x11,* env = GTK_USE_PORTAL,1 env = MOZ_ENABLE_WAYLAND,1 env = SDL_VIDEODRIVER,wayland # remove or set to x11 for games providing older versions of SDL +env = CLUTTER_BACKEND,wayland # tweak swww env = SWWW_TRANSITION_FPS,60 @@ -27,39 +29,7 @@ env = XCURSOR_SIZE,40 env = HYPRCURSOR_THEME,Bibata-Original-Ice env = HYPRCURSOR_SIZE,40 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# tweak applications/frameworks +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = XDG_MENU_PREFIX,plasma- diff --git a/dot-config/hypr/fragments/keybinds.conf b/dot-config/hypr/fragments/keybinds.conf index 721c517b..f1a2174b 100644 --- a/dot-config/hypr/fragments/keybinds.conf +++ b/dot-config/hypr/fragments/keybinds.conf @@ -1,4 +1,6 @@ -# begin +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai + +# modifiers # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── $suremod = SUPER ALT CTRL $mainmod = SUPER @@ -6,62 +8,69 @@ $mainmod = SUPER # mainmod shortcuts # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── +# example: bind = $mainmod Shift, Return, exec, [float; size 1280 800;] foot -o pad=0x0 bind = $mainmod, Return, exec, foot -bind = $mainmod Shift, Q, killactive, -bind = $mainmod Shift, Return, exec, foot -w 1280x800 -o pad=0x0 -a popup -bind = $mainmod, P, exec, foot -w 640x400 -a popup -H hyprpicker #color Pipette -bind = $mainmod, D, exec, killall fuzzel || fuzzel -bind = $mainmod Shift, D, exec, killall fuzzel || fuzzel --config="$HOME"/.config/fuzzel/fuzzel-centered.ini +bind = $mainmod Shift, Q, killactive, +bind = $mainmod Shift, Return, exec, foot -w 1280x800 -o pad=0x0 -a popup +bind = $mainmod, A, pseudo, # dwindle, A for Artificial +bind = $mainmod, B, exec, $HOME/.config/hypr/scripts/browser_focus_or_run.sh +bind = $mainmod, D, exec, killall fuzzel || fuzzel --config=$HOME/.config/fuzzel/fuzzel-startmenu.ini +bind = $mainmod Shift, D, exec, killall fuzzel || fuzzel --config=$HOME/.config/fuzzel/fuzzel-centered.ini bind = $mainmod, E, exec, foot -a lf lfrun -bind = $mainmod SHIFT, E, exec, dolphin +bind = $mainmod SHIFT, E, exec, dolphin bind = $mainmod, F, fullscreen,1 -bind = $mainmod Shift, F, fullscreen,0 -bind = $mainmod, V, togglefloating -bind = $mainmod Shift, V, exec, killall fuzzel || cliphist list | fuzzel -d --config="$HOME"/.config/fuzzel/fuzzel-centered.ini | cliphist decode | wl-copy -bind = $mainmod, A, pseudo, # dwindle, A for Artificial -bind = $mainmod, B, layoutmsg, preselect d # dwindle -bind = $mainmod, S, togglesplit, # dwindle -bind = $mainmod Shift, S, swapsplit, # dwindle +bind = $mainmod Shift, F, fullscreen,0 bind = $mainmod, G, togglegroup -bind = $mainmod SHIFT, G, lockactivegroup, toggle -bind = $mainmod CTRL, G, denywindowfromgroup, toggle -bind = $mainmod ALT, G, moveoutofgroup, active -bind = $mainmod, W, exec, $HOME/.local/bin/wb hide -bind = $mainmod SHIFT, W, exec, $HOME/.local/bin/wb reload +bind = $mainmod SHIFT, G, lockactivegroup, toggle +bind = $mainmod CTRL, G, denywindowfromgroup, toggle +bind = $mainmod ALT, G, moveoutofgroup, active +bind = $mainmod, M, togglespecialworkspace, magic +bind = $mainmod, M, movetoworkspace, +0 +bind = $mainmod, M, togglespecialworkspace, magic +bind = $mainmod, M, movetoworkspace, special:magic +bind = $mainmod, M, togglespecialworkspace, magic +bind = $mainmod, P, exec, foot -w 640x400 -a popup -H hyprpicker #color Pipette +bind = $mainmod, S, layoutmsg, swapwithmaster # master +bind = $mainmod, S, togglesplit, # dwindle +bind = $mainmod Shift, S, swapsplit, # dwindle +bind = $mainmod, V, togglefloating +bind = $mainmod Shift, V, exec, killall fuzzel || cliphist list | fuzzel -d --config=$HOME/.config/fuzzel/fuzzel-centered.ini | cliphist decode | wl-copy +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 # scratchpad bind = $mainmod, I, togglespecialworkspace, overlay -bind = $mainmod SHIFT, I, movetoworkspace, special:overlay +bind = $mainmod SHIFT, I, movetoworkspace, special:overlay # suremod keys (prevent fat-fingering 'em by accident) # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -bind = $suremod, M, exit, -bind = $suremod, Return, exec, konsole # backup terminal app +bind = $suremod, E, exit, +bind = $suremod, Return, exec, konsole # fallback terminal app bind = $suremod, G, exec, ~/.config/hypr/scripts/gamemode.sh bind = $suremod, L, exec, ~/.config/hypr/scripts/powermenu.sh -# misc keys (mostly redundant, but some habits die hard) +# misc keys # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -bind = $mainmod, Print, exec, hyprshot -m output -m active -o /home/andy/Bilder/Screenshots -bind = SHIFT, Print, exec, hyprshot -m window -m active -o /home/andy/Bilder/Screenshots -bind = CTRL, Print, exec, hyprshot -z -m region -o /home/andy/Bilder/Screenshots +bind = $mainmod, Print, exec, hyprshot -m output -m active -o $HOME/Bilder/Screenshots +bind = SHIFT, Print, exec, hyprshot -m window -m active -o $HOME/Bilder/Screenshots +bind = CTRL, Print, exec, hyprshot -z -m region -o $HOME/Bilder/Screenshots bind = ALT SHIFT, F12, exec, ~/.config/hypr/scripts/gamemode.sh bind = ALT CTRL, L, exec, hyprlock # media keys # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -bindl = , XF86AudioRaiseVolume, exec, wp+ -bindl = , XF86AudioLowerVolume, exec, wp- -bindl = , XF86AudioMute, exec, ~/.config/hypr/scripts/muteorunmute.sh -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioNext, exec, playerctl next -bindl = , XF86AudioPrev, exec, playerctl previous -bindl = , XF86audiostop, exec, playerctl stop - -# disabled because hyprshell +bindl = , XF86AudioRaiseVolume, exec, wp+ +bindl = , XF86AudioLowerVolume, exec, wp- +bindl = , XF86AudioMute, exec, ~/.config/hypr/scripts/muteorunmute.sh +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPrev, exec, playerctl previous +bindl = , XF86audiostop, exec, playerctl stop + +# client switcher # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── bind = $mainmod, TAB, exec, ~/.config/hypr/scripts/windowswitch-rg.sh bind = ALT, TAB, focuscurrentorlast @@ -79,24 +88,24 @@ bind = $mainmod, K, movefocus, u bind = $mainmod, J, movefocus, d # move windows or entire groups -bind = $mainmod SHIFT, left, movewindow, l -bind = $mainmod SHIFT, right, movewindow, r -bind = $mainmod SHIFT, up, movewindow, u -bind = $mainmod SHIFT, down, movewindow, d -bind = $mainmod SHIFT, H, movewindow, l -bind = $mainmod SHIFT, L, movewindow, r -bind = $mainmod SHIFT, K, movewindow, u -bind = $mainmod SHIFT, J, movewindow, d +bind = $mainmod SHIFT, left, movewindow, l +bind = $mainmod SHIFT, right, movewindow, r +bind = $mainmod SHIFT, up, movewindow, u +bind = $mainmod SHIFT, down, movewindow, d +bind = $mainmod SHIFT, H, movewindow, l +bind = $mainmod SHIFT, L, movewindow, r +bind = $mainmod SHIFT, K, movewindow, u +bind = $mainmod SHIFT, J, movewindow, d # Move windows into or out of groups with $suremod -bind = $mainmod CTRL, left, movewindoworgroup, l -bind = $mainmod CTRL, right, movewindoworgroup, r -bind = $mainmod CTRL, up, movewindoworgroup, u -bind = $mainmod CTRL, down, movewindoworgroup, d -bind = $mainmod CTRL, H, movewindoworgroup, l -bind = $mainmod CTRL, L, movewindoworgroup, r -bind = $mainmod CTRL, K, movewindoworgroup, u -bind = $mainmod CTRL, J, movewindoworgroup, d +bind = $mainmod CTRL, left, movewindoworgroup, l +bind = $mainmod CTRL, right, movewindoworgroup, r +bind = $mainmod CTRL, up, movewindoworgroup, u +bind = $mainmod CTRL, down, movewindoworgroup, d +bind = $mainmod CTRL, H, movewindoworgroup, l +bind = $mainmod CTRL, L, movewindoworgroup, r +bind = $mainmod CTRL, K, movewindoworgroup, u +bind = $mainmod CTRL, J, movewindoworgroup, d # preselect direction for new windows bind = ALT CTRL, left, layoutmsg, preselect l @@ -107,28 +116,28 @@ bind = ALT CTRL, down, layoutmsg, preselect d # move through group windows bind = $mainmod, O, changegroupactive, f bind = $mainmod, U, changegroupactive, b -bind = $mainmod SHIFT, O, movegroupwindow, f -bind = $mainmod SHIFT, U, movegroupwindow, b +bind = $mainmod SHIFT, O, movegroupwindow, f +bind = $mainmod SHIFT, U, movegroupwindow, b # Move floating windows u/d/l/r -bind = $mainmod ALT, left, moveactive, -40 0 -bind = $mainmod ALT, right, moveactive, 40 0 -bind = $mainmod ALT, up, moveactive, 0 -40 -bind = $mainmod ALT, down, moveactive, 0 40 -bind = $mainmod ALT, H, moveactive, -40 0 -bind = $mainmod ALT, L, moveactive, 40 0 -bind = $mainmod ALT, K, moveactive, 0 -40 -bind = $mainmod ALT, J, moveactive, 0 40 +bind = $mainmod ALT, left, moveactive, -40 0 +bind = $mainmod ALT, right, moveactive, 40 0 +bind = $mainmod ALT, up, moveactive, 0 -40 +bind = $mainmod ALT, down, moveactive, 0 40 +bind = $mainmod ALT, H, moveactive, -40 0 +bind = $mainmod ALT, L, moveactive, 40 0 +bind = $mainmod ALT, K, moveactive, 0 -40 +bind = $mainmod ALT, J, moveactive, 0 40 # workspaces # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── # Roll between workspaces -bind = $mainmod, PLUS, exec, ~/.config/hypr/scripts/workspace.sh + -bind = $mainmod, MINUS, exec, ~/.config/hypr/scripts/workspace.sh - -bind = $mainmod SHIFT, PLUS, exec, ~/.config/hypr/scripts/workspace.sh + mv -bind = $mainmod SHIFT, MINUS, exec, ~/.config/hypr/scripts/workspace.sh - mv +bind = $mainmod, PLUS, exec, ~/.config/hypr/scripts/workspace.sh + +bind = $mainmod, MINUS, exec, ~/.config/hypr/scripts/workspace.sh - +bind = $mainmod SHIFT, PLUS, exec, ~/.config/hypr/scripts/workspace.sh + mv +bind = $mainmod SHIFT, MINUS, exec, ~/.config/hypr/scripts/workspace.sh - mv # Switch workspaces with mainMod + [0-9] bind = $mainmod, 1, exec, ~/.config/hypr/scripts/workspace.sh 1 @@ -143,34 +152,34 @@ bind = $mainmod, 9, exec, ~/.config/hypr/scripts/workspace.sh 9 bind = $mainmod, 0, exec, ~/.config/hypr/scripts/workspace.sh 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainmod SHIFT, 1, exec, ~/.config/hypr/scripts/workspace.sh 1 mv -bind = $mainmod SHIFT, 2, exec, ~/.config/hypr/scripts/workspace.sh 2 mv -bind = $mainmod SHIFT, 3, exec, ~/.config/hypr/scripts/workspace.sh 3 mv -bind = $mainmod SHIFT, 4, exec, ~/.config/hypr/scripts/workspace.sh 4 mv -bind = $mainmod SHIFT, 5, exec, ~/.config/hypr/scripts/workspace.sh 5 mv -bind = $mainmod SHIFT, 6, exec, ~/.config/hypr/scripts/workspace.sh 6 mv -bind = $mainmod SHIFT, 7, exec, ~/.config/hypr/scripts/workspace.sh 7 mv -bind = $mainmod SHIFT, 8, exec, ~/.config/hypr/scripts/workspace.sh 8 mv -bind = $mainmod SHIFT, 9, exec, ~/.config/hypr/scripts/workspace.sh 9 mv -bind = $mainmod SHIFT, 0, exec, ~/.config/hypr/scripts/workspace.sh 10 mv +bind = $mainmod SHIFT, 1, exec, ~/.config/hypr/scripts/workspace.sh 1 mv +bind = $mainmod SHIFT, 2, exec, ~/.config/hypr/scripts/workspace.sh 2 mv +bind = $mainmod SHIFT, 3, exec, ~/.config/hypr/scripts/workspace.sh 3 mv +bind = $mainmod SHIFT, 4, exec, ~/.config/hypr/scripts/workspace.sh 4 mv +bind = $mainmod SHIFT, 5, exec, ~/.config/hypr/scripts/workspace.sh 5 mv +bind = $mainmod SHIFT, 6, exec, ~/.config/hypr/scripts/workspace.sh 6 mv +bind = $mainmod SHIFT, 7, exec, ~/.config/hypr/scripts/workspace.sh 7 mv +bind = $mainmod SHIFT, 8, exec, ~/.config/hypr/scripts/workspace.sh 8 mv +bind = $mainmod SHIFT, 9, exec, ~/.config/hypr/scripts/workspace.sh 9 mv +bind = $mainmod SHIFT, 0, exec, ~/.config/hypr/scripts/workspace.sh 10 mv # Move active window in the background to a workspace with mainMod + CRTL + [0-9] -bind = $mainmod CTRL, 1, exec, ~/.config/hypr/scripts/workspace.sh 1 mv s -bind = $mainmod CTRL, 2, exec, ~/.config/hypr/scripts/workspace.sh 2 mv s -bind = $mainmod CTRL, 3, exec, ~/.config/hypr/scripts/workspace.sh 3 mv s -bind = $mainmod CTRL, 4, exec, ~/.config/hypr/scripts/workspace.sh 4 mv s -bind = $mainmod CTRL, 5, exec, ~/.config/hypr/scripts/workspace.sh 5 mv s -bind = $mainmod CTRL, 6, exec, ~/.config/hypr/scripts/workspace.sh 6 mv s -bind = $mainmod CTRL, 7, exec, ~/.config/hypr/scripts/workspace.sh 7 mv s -bind = $mainmod CTRL, 8, exec, ~/.config/hypr/scripts/workspace.sh 8 mv s -bind = $mainmod CTRL, 9, exec, ~/.config/hypr/scripts/workspace.sh 9 mv s -bind = $mainmod CTRL, 0, exec, ~/.config/hypr/scripts/workspace.sh 10 mv s +bind = $mainmod CTRL, 1, exec, ~/.config/hypr/scripts/workspace.sh 1 mv s +bind = $mainmod CTRL, 2, exec, ~/.config/hypr/scripts/workspace.sh 2 mv s +bind = $mainmod CTRL, 3, exec, ~/.config/hypr/scripts/workspace.sh 3 mv s +bind = $mainmod CTRL, 4, exec, ~/.config/hypr/scripts/workspace.sh 4 mv s +bind = $mainmod CTRL, 5, exec, ~/.config/hypr/scripts/workspace.sh 5 mv s +bind = $mainmod CTRL, 6, exec, ~/.config/hypr/scripts/workspace.sh 6 mv s +bind = $mainmod CTRL, 7, exec, ~/.config/hypr/scripts/workspace.sh 7 mv s +bind = $mainmod CTRL, 8, exec, ~/.config/hypr/scripts/workspace.sh 8 mv s +bind = $mainmod CTRL, 9, exec, ~/.config/hypr/scripts/workspace.sh 9 mv s +bind = $mainmod CTRL, 0, exec, ~/.config/hypr/scripts/workspace.sh 10 mv s # mouse binds # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── binds { - drag_threshold = 150 + drag_threshold = 50 scroll_event_delay = 40 } input { @@ -179,18 +188,18 @@ input { # 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 +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 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}') +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}') # submaps @@ -202,14 +211,14 @@ bind = $mainmod, R, submap, resize submap = resize # sets repeatable binds for resizing the active window -binde = , right, resizeactive, 10 0 -binde = , left, resizeactive, -10 0 -binde = , up, resizeactive, 0 -10 -binde = , down, resizeactive, 0 10 -binde = , l, resizeactive, 10 0 -binde = , h, resizeactive, -10 0 -binde = , k, resizeactive, 0 -10 -binde = , j, resizeactive, 0 10 +binde = , right, resizeactive, 10 0 +binde = , left, resizeactive, -10 0 +binde = , up, resizeactive, 0 -10 +binde = , down, resizeactive, 0 10 +binde = , l, resizeactive, 10 0 +binde = , h, resizeactive, -10 0 +binde = , k, resizeactive, 0 -10 +binde = , j, resizeactive, 0 10 # use reset to go back to the global submap bind = , catchall, submap, reset @@ -226,15 +235,15 @@ bind = $mainmod ALT, G, submap, gaps submap = gaps # sets repeatable binds for resizing the active window -binde = , l, exec, ~/.config/hypr/scripts/gaps.sh --inc_gaps_in -binde = , h, exec, ~/.config/hypr/scripts/gaps.sh --dec_gaps_in -binde = , j, exec, ~/.config/hypr/scripts/gaps.sh --inc_gaps_out -binde = , k, exec, ~/.config/hypr/scripts/gaps.sh --dec_gaps_out -binde = , i, exec, ~/.config/hypr/scripts/gaps.sh --reset_gaps_in -binde = , o, exec, ~/.config/hypr/scripts/gaps.sh --reset_gaps_out +binde = , i, exec, ~/.config/hypr/scripts/gaps.sh --inc_gaps_in +binde = SHIFT, i, exec, ~/.config/hypr/scripts/gaps.sh --dec_gaps_in +binde = , o, exec, ~/.config/hypr/scripts/gaps.sh --inc_gaps_out +binde = SHIFT, o, exec, ~/.config/hypr/scripts/gaps.sh --dec_gaps_out +binde = CTRL, i, exec, ~/.config/hypr/scripts/gaps.sh --reset_gaps_in +binde = CTRL, o, exec, ~/.config/hypr/scripts/gaps.sh --reset_gaps_out # use reset to go back to the global submap -bind = , catchall, submap, reset +bind = , escape, submap, reset # will reset the submap, which will return to the global submap submap = reset diff --git a/dot-config/hypr/fragments/layerrules.conf b/dot-config/hypr/fragments/layerrules.conf index 31b1f81c..a1821515 100644 --- a/dot-config/hypr/fragments/layerrules.conf +++ b/dot-config/hypr/fragments/layerrules.conf @@ -1,2 +1,7 @@ -layerrule = blurpopups, top +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai +layerrule = blurpopups, top +layerrule = blur, waybar +layerrule = ignorealpha 0.1, waybar +layerrule = blur, launcher +layerrule = ignorealpha 0.1, launcher diff --git a/dot-config/hypr/fragments/permissions.conf b/dot-config/hypr/fragments/permissions.conf new file mode 100644 index 00000000..1fa1a27f --- /dev/null +++ b/dot-config/hypr/fragments/permissions.conf @@ -0,0 +1,18 @@ +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai + +permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +permission = /(usr|usr/local)/bin/(grim|wl-screenrec|wf-recorder), screencopy, ask +permission = /usr/bin/steam, screencopy, ask + +permission = zsa-technology-labs-moonlander.*, keyboard, allow +permission = ^(razer-razer-basilisk.*)$, keyboard, allow + +# placeholder: +# permission = zsa-technology-labs-moonlander.*, mouse, allow +# permission = ^(razer-razer-basilisk.*)$, mouse, allow + +# deny the rest +permission = .*, screencopy, ask +permission = .*, keyboard, ask +permission = .*, plugin, deny + diff --git a/dot-config/hypr/fragments/windowrules.conf b/dot-config/hypr/fragments/windowrules.conf index b60df68a..4b431cfb 100644 --- a/dot-config/hypr/fragments/windowrules.conf +++ b/dot-config/hypr/fragments/windowrules.conf @@ -1,3 +1,5 @@ +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai + # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule @@ -8,6 +10,9 @@ # hide hyprbars on non-floating windows windowrule = plugin:hyprbars:nobar, ^floating:0 +# don't UW any window catchall +windowrule = maxsize 1680 1200, class:^(.*)$ + # handle plasma/kde/qt apps windowrule = stayfocused, class: ^(org.kde.kwalletd6)$ windowrule = float, class:^(org.kde.*)$ @@ -35,6 +40,8 @@ windowrule = stayfocused, title:^((Über|About).*)$ # handle browsers # windowrule = float, class:^(firefox.*)$ +windowrule = maxsize 1680 1200, class:^(firefox.*)$ +windowrule = center, class:^(firefox.*)$ windowrule = tag +neverdim, class:^(firefox.*)$ windowrule = maxsize 2543 1389 lock, class:^(org.qutebrowser.*)$ windowrule = minsize 1920 1200 lock, class:^(org.qutebrowser.*)$ @@ -44,21 +51,27 @@ windowrule = tag +neverdim, class:^(org.qutebrowser.*)$ windowrule = opacity 1.0 override 0.8 override, group, class:^(foot)$ windowrule = float, opacity 1.0 override 0.8 override, class:^(popup)$ windowrule = pseudo, class:^(ncmpcpp)$ +windowrule = workspace 4, class:^(ncmpcpp)$ +windowrule = noinitialfocus, class:^(ncmpcpp)$ windowrule = maxsize 60% 80%, class:^(ncmpcpp)$ windowrule = float, stayfocused, center, opacity 1.0 override, class:^(kakpopup)$ # handle other clients -windowrule = float, class:^(discord.*)$ -windowrule = workspace 3, class:^(discord.*)$ windowrule = float, class:^(openrgb)$ windowrule = float, class:^(org.corectrl.CoreCtrl)$ windowrule = float, class:^(pavucontrol.*)$ +windowrule = maxsize 600 800, class:^(pavucontrol.*)$ windowrule = float, class:^(lutris)$ -windowrule = float, class:^(Threema.*)$ +windowrule = pseudo, class:^(Threema.*)$ windowrule = noinitialfocus, class:^(Threema.*)$ windowrule = workspace 3, class:^(Threema.*)$ +windowrule = pseudo, class:^(discord.*)$ +windowrule = noinitialfocus, class:^(discord.*)$ +windowrule = workspace 3, class:^(discord.*)$ windowrule = float, class:^(blueman-manager.*)$ windowrule = float, class:^(org.pulseaudio.pavucontrol.*)$ +windowrule = float, class:^(gimp.*)$ +windowrule = fullscreen, class:^(gimp.*)$ # handle ueberzugpp windowrule = noanim, class:^(ueberzugpp.*)$ @@ -73,10 +86,8 @@ windowrule = stayfocused, class:^(org.freedesktop.impl.portal.desktop.kde)$ # handle steam client windowrule = float, class:^(steam)$ -windowrule = suppressevent activatefocus, class:^(steam)$ -# windowrule = float, title:^(Steam)$ -# windowrule = float, title:^(Freundesliste)$ -# windowrule = stayfocused, title:^()$, class:^(steam)$ +windowrule = suppressevent activatefocus, class:^(steam)$, title:^(Steam)$ +windowrule = stayfocused, title:^()$, class:^(steam)$, title:^(Steam)$ windowrule = minsize 1 1, title:^()$, class:^(steam)$ windowrule = noanim 1, class:^(steam)$ windowrule = noblur 1, class:^(steam)$ @@ -84,29 +95,24 @@ windowrule = norounding 1, class:^(steam)$ windowrule = nodim 1, class:^(steam)$ windowrule = decorate 0, class:^(steam)$ windowrule = plugin:hyprbars:nobar,class:^(steam)$ -windowrule = plugin:hyprbars:nobar,title:^(Steam)$ -windowrule = plugin:hyprbars:nobar,title:^(Freundesliste)$ # handle wine/proton games $GAMES = ^(steam_app_.*|steam_proton|streaming_client|gamescope)$ -windowrule = noanim, class:$GAMES -windowrule = fullscreenstate 2 2, class:$GAMES -windowrule = fullscreen, class:$GAMES -windowrule = idleinhibit always, class:$GAMES -# windowrule = immediate, class:$GAMES #experimental -windowrule = plugin:hyprbars:nobar,class:$GAMES - -# tags for games -windowrule = tag +game, class:^(.*)exe$ windowrule = tag +game, class:$GAMES + # handle TAGS (always handle tags last) windowrule = nodim 1, tag:neverdim + windowrule = nodim 1, tag:game windowrule = noblur 1, tag:game windowrule = norounding 1, tag:game windowrule = noshadow 1, tag:game -windowrule = opaque, tag:game -windowrule = stayfocused, tag:game +windowrule = noanim 1, tag:game +windowrule = opaque 1, tag:game +windowrule = minsize 1280 800, tag:game +windowrule = plugin:hyprbars:nobar, tag:game +windowrule = idleinhibit always, tag:game +windowrule = fullscreenstate 2 3, tag:game +windowrule = fullscreen, tag:game # windowrule = immediate, tag:game #experimental - diff --git a/dot-config/hypr/fragments/workspacerules.conf b/dot-config/hypr/fragments/workspacerules.conf index 7674d172..26ce98ab 100644 --- a/dot-config/hypr/fragments/workspacerules.conf +++ b/dot-config/hypr/fragments/workspacerules.conf @@ -1,8 +1,11 @@ +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai + # workspace rules +#example: on-created-empty: exec, something" -workspace = 1, monitor:DP-1, default:true #, on-created-empty: hyprctl hyprpaper wallpaper DP-1, "/home/andy/Bilder/Wallpapers-simple/pulppixel22.png" +workspace = 1, monitor:DP-1, default:true workspace = 2, monitor:DP-1 workspace = 3, monitor:DP-1 -workspace = 4, monitor:DP-1 +workspace = 4, monitor:DP-1, gapsout:40, gapsin:20 workspace = 5, monitor:DP-1 -workspace = 6, monitor:DP-1 +workspace = 6, monitor:DP-1, float diff --git a/dot-config/hypr/hyprland.conf b/dot-config/hypr/hyprland.conf index 5b939a92..e8655acc 100644 --- a/dot-config/hypr/hyprland.conf +++ b/dot-config/hypr/hyprland.conf @@ -1,4 +1,4 @@ -# kak: filetype=ini +# kak: filetype=conf:tabwidth=4:indentwidth=4:ai # ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ # ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ # ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀i @@ -7,15 +7,27 @@ autogenerated = 0 # remove this line to remove the warning source=./base16-colors.conf -debug:disable_logs = true # file logging. defaults to 1 for production +debug:disable_logs = false # file logging. defaults to 1 for production # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=DP-1,preferred,0x0,1,vrr,3 -monitor=DP-2,preferred,auto-right,1,vrr,3 +monitorv2 { + output = DP-1 + mode = preferred + position = 0x0 + scale = 1 + bitdepth = 8 + cm = auto + sdrbrightness = 0.80 + sdrsaturation = 1.00 + sdr_min_luminance = 0.005 + sdr_max_luminance = 245 +} + +monitor=,preferred,auto-center-right,1,vrr,2 # unscale XWayland xwayland { - force_zero_scaling = true + force_zero_scaling = true } # See https://wiki.hyprland.org/Configuring/Keywords/ for more @@ -26,7 +38,7 @@ exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CUR exec-once = ~/.config/hypr/scripts/startup.sh exec-once = hypridle exec-once = hyprpm reload -exec-once = hyprpaper +exec-once = swww-daemon exec-once = hyprsunset exec-once = flatpak run ch.threema.threema-desktop @@ -39,39 +51,30 @@ input { kb_rules = follow_mouse = 1 - focus_on_close = 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 = 2 + enable_hyprcursor = 1 + # no_hardware_cursors = 2 } -permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow - general { # See https://wiki.hyprland.org/Configuring/Variables/ for more - # col.active_border = 0xffffffff - # col.inactive_border = 0xff444444 - # col.nogroup_border_active = 0xffff00ff - # col.nogroup_border = 0xffffaaff - border_size = 2 + border_size = 2 gaps_in = 5 gaps_out = 10 - # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.active_border = 0xfa$base0C 0xff$base0B 45deg - col.inactive_border = 0xfa$base02 - col.nogroup_border_active = 0xff$base09 + # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg #vanilla colors + col.active_border = 0xff$base0C 0x8a$base0D 45deg + col.inactive_border = 0xfa$base03 0x5a$base02 45deg + col.nogroup_border_active = 0xff$base0E 0x8a$base0E 45deg col.nogroup_border = 0xfa$base02 - layout = dwindle - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = true @@ -81,12 +84,15 @@ general { monitor_gap = 0 border_overlap = 0 } + layout = dwindle } dwindle { force_split = 2 smart_split = false split_width_multiplier = 2.0 + single_window_aspect_ratio = 16.5 9 + single_window_aspect_ratio_tolerance = 0.1 } master { @@ -96,9 +102,9 @@ master { special_scale_factor = .80 mfact = .45 orientation = center - # slave_count_for_center_master = 0 + slave_count_for_center_master = 2 + center_master_fallback = left inherit_fullscreen = false - # center_master_slaves_on_right = false } decoration { @@ -112,20 +118,20 @@ decoration { enabled = true size = 8 passes = 1 - noise = 0.0117 - brightness = 0.8172 - contrast = 0.8916 + noise = 0.0117 + brightness = 0.8172 + contrast = 0.8916 vibrancy = 0.1696 - ignore_opacity = true + ignore_opacity = true } shadow { enabled = true - range = 4 + range = 8 render_power = 2 sharp = false ignore_window = true - color = 0xcc$base00 - color_inactive = 0x99$base00 + color = 0xee$base00 + color_inactive = 0x81$base02 offset = 0, 0 scale = 1.00 } @@ -143,18 +149,23 @@ gestures { } render { - direct_scanout = false + direct_scanout = 2 + cm_fs_passthrough = 0 + cm_enabled = 1 + send_content_type = 1 + cm_auto_hdr = 1 + new_render_scheduling = 1 } misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more force_default_wallpaper = 0 # 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 + 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 } # Example per-device config @@ -166,73 +177,75 @@ device { } group { - merge_groups_on_drag = 0 - insert_after_current = 1 - col.border_locked_active = 0xfa$base09 - col.border_locked_inactive = 0xfa$base02 - col.border_active = 0xEE$base0C - col.border_inactive = 0xfa$base02 + merge_groups_on_drag = 0 + insert_after_current = 1 + col.border_active = 0xfa$base0C 0x7a$base0C 60deg + col.border_locked_active = 0xfa$base0D 0x7a$base0D 60deg + col.border_inactive = 0xfa$base03 0x7a$base03 60deg + col.border_locked_inactive = 0xfa$base03 0x7a$base03 60deg groupbar { enabled = 1 - font_family = ZedMono NFP - font_weight_active = bold - font_weight_inactive = normal - #text_color_active = 0xff$base01 - #text_color_inactive = 0xff$base01 - height = 20 - indicator_gap = 0 - indicator_height = 0 - priority = 3 - font_size = 16 + font_family = ZedMono NFP + font_size = 13 + font_weight_active = normal + font_weight_inactive = normal + text_color = 0xff$base01 + text_color_locked_active = 0xff$base05 + text_color_inactive = 0xff$base01 + text_color_locked_inactive = 0xff$base01 + height = 20 + font_size = 16 text_color = 0xFF$base00 - gradients = true scrolling = false - col.locked_active = 0xfa$base09 0x8a$base09 45deg - col.locked_inactive = 0xfa$base04 0x8a$base04 45deg - col.active = 0xfa$base0C 0x8a$base0C 45deg - col.inactive = 0xfa$base04 0x8a$base04 45deg - rounding = 4 - gradient_rounding = 4 + col.active = 0xfa$base0C 0x7a$base0C 45deg + col.inactive = 0xfa$base03 0x6a$base03 45deg + col.locked_active = 0xfa$base0D 0x6a$base0D 45deg + col.locked_inactive = 0xfa$base03 0x6a$base03 45deg + indicator_gap = 1 + indicator_height = 8 + render_titles = false + priority = 3 + rounding = 4 + round_only_edges = true + gradients = false + gradient_rounding = 4 gradient_round_only_edges = true - stacked = false - gaps_in = 2 - gaps_out = 2 - keep_upper_gap = false + stacked = false + gaps_in = 2 + gaps_out = 2 + keep_upper_gap = true } } plugin { - hyprbars { - bar_text_font = ZedMono NFP - bar_text_size = 12 - bar_height = 24 - bar_color = 0xfb$base00 - col.text = 0xff$base05 - bar_part_of_window = 1 - bar_precedence_over_border = 1 - # hyprbars-button = color, size, icon, on-click + hyprbars { + bar_text_font = ZedMono NFP + bar_text_size = 12 + bar_height = 24 + bar_color = 0xfb$base00 + col.text = 0xff$base05 + bar_part_of_window = 1 + bar_precedence_over_border = 1 + # hyprbars-button = color, size, icon, on-click hyprbars-button = 0xaa$base08, 20, 󰖭, hyprctl dispatch killactive - 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 = 1 - panelBorderColor = 0xee$base03 - workspaceActiveBorder = 0xee$base0D + 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 = 1 + panelBorderColor = 0xee$base03 + workspaceActiveBorder = 0xee$base0D workspaceInactiveBorder = 0xee$base02 - workspaceBorderSize = 2 - } - hyprwinwrap { - class = foot-bg - } + workspaceBorderSize = 2 + } } source=./fragments/animations.conf source=./fragments/env.conf +source=./fragments/permissions.conf source=./fragments/windowrules.conf source=./fragments/workspacerules.conf source=./fragments/layerrules.conf diff --git a/dot-config/hypr/hyprpaper.conf b/dot-config/hypr/hyprpaper.conf index a0ee6a85..0e615c9f 100644 --- a/dot-config/hypr/hyprpaper.conf +++ b/dot-config/hypr/hyprpaper.conf @@ -1,7 +1,7 @@ preload = ~/Bilder/Wallpapers-simple/beach.png preload = ~/Bilder/Wallpapers-simple/pulppixel22.png preload = ~/Bilder/Wallpapers-simple/WP.jpg -preload = ~/Bilder/Wallpapers-simple/SweetSpot.png +preload = ~/Bilder/Wallpapers-simple/radio.png preload = ~/Bilder/Wallpapers-simple/ContentoCustomBackground.png preload = ~/Bilder/Wallpapers-simple/AtariTimes.png preload = ~/Bilder/Wallpapers-simple/TronLightCycle1.png diff --git a/dot-config/hypr/scripts/browser_focus_or_run.sh b/dot-config/hypr/scripts/browser_focus_or_run.sh new file mode 100755 index 00000000..4fe3e92c --- /dev/null +++ b/dot-config/hypr/scripts/browser_focus_or_run.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +pidof firefox-bin && hyprctl dispatch focuswindow class:firefox-bin; exit 0 + +firefox-bin --name=firefox-bin > /dev/null 2>&1 & + diff --git a/dot-config/hypr/scripts/gamemode.sh b/dot-config/hypr/scripts/gamemode.sh index 3db4481d..b10c1ab7 100755 --- a/dot-config/hypr/scripts/gamemode.sh +++ b/dot-config/hypr/scripts/gamemode.sh @@ -3,12 +3,14 @@ HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') if [ "$HYPRGAMEMODE" = 1 ] ; then hyprctl --batch "\ keyword animations:enabled 0;\ - keyword decoration:drop_shadow 0;\ + keyword decoration:shadow:enabled 0;\ keyword decoration:blur:enabled 0;\ keyword general:gaps_in 0;\ keyword general:gaps_out 0;\ keyword general:border_size 2;\ - keyword decoration:rounding 0" + keyword decoration:rounding 0;\ + keyword group:groupbar:gradient_rounding 0;\ + keyword group:groupbar:rounding 0" exit fi hyprctl reload diff --git a/dot-config/hypr/scripts/gaps.sh b/dot-config/hypr/scripts/gaps.sh index 15a35ed0..714e0aad 100755 --- a/dot-config/hypr/scripts/gaps.sh +++ b/dot-config/hypr/scripts/gaps.sh @@ -1,38 +1,40 @@ #!/bin/bash -gaps_in=$(hyprctl -j getoption general:gaps_in | jq '.custom' | awk '{print $2}') -gaps_out=$(hyprctl -j getoption general:gaps_out | jq '.custom' | awk '{print $2}') +gaps_in=$(hyprctl getoption general:gaps_in -j | jq '.custom' | cut -c2-3) +gaps_out=$(hyprctl getoption general:gaps_out -j | jq '.custom' | cut -c2-3) + +activeworkspace=$(hyprctl activeworkspace -j | jq '.id') function inc_gaps_in () { - hyprctl keyword general:gaps_in $((gaps_in+5)) + hyprctl keyword workspace="$activeworkspace":gaps_in workspace=$((gaps_in+10)) } function dec_gaps_in () { - hyprctl keyword general:gaps_in $((gaps_in-5)) + hyprctl keyword workspace="$activeworkspace":gaps_in workspace=$((gaps_in-10)) } function reset_gaps_in () { - hyprctl keyword general:gaps_in 5 + hyprctl keyword workspace="$activeworkspace":gaps_in 5 } function zero_gaps_in () { - hyprctl keyword general:gaps_in 0 + hyprctl keyword workspace="$activeworkspace":gaps_in 0 } function inc_gaps_out () { - hyprctl keyword general:gaps_out $((gaps_out+5)) + hyprctl keyword workspace="$activeworkspace":gaps_out workspace=$((gaps_out+10)) } function dec_gaps_out () { - hyprctl keyword general:gaps_out $((gaps_out-5)) + hyprctl keyword workspace="$activeworkspace":gaps_out workspace=$((gaps_out-10)) } function reset_gaps_out () { - hyprctl keyword general:gaps_out 10 + hyprctl keyword workspace="$activeworkspace":gaps_out 20 } function zero_gaps_out () { - hyprctl keyword general:gaps_out 0 + hyprctl keyword workspace="$activeworkspace":gaps_out 0 } while [[ $# -gt 0 ]]; do @@ -48,4 +50,4 @@ while [[ $# -gt 0 ]]; do *) printf "Error: Unknown option %s" "$1"; exit 1 ;; esac done - +echo "$activeworkspace" diff --git a/dot-config/hypr/scripts/startup.sh b/dot-config/hypr/scripts/startup.sh index 250bac02..c9e61e6e 100755 --- a/dot-config/hypr/scripts/startup.sh +++ b/dot-config/hypr/scripts/startup.sh @@ -5,27 +5,27 @@ logger '============================' logger 'HYPRLAND MAIN STARTUP BEGIN' # shellcheck disable=SC2155,SC2046 -test ! -d "$XDG_RUNTIME_DIR" && export XDG_RUNTIME_DIR=$(mktemp -d /tmp/$(id -u)-runtime-dir.XXX) && logger 'xdg-runtime dir set NOW' +# test ! -d "$XDG_RUNTIME_DIR" && export XDG_RUNTIME_DIR=$(mktemp -d /tmp/$(id -u)-runtime-dir.XXX) && logger 'xdg-runtime dir set NOW' # test ! "$DBUS_SESSION_BUS_ADDRESS" && dbus-daemon --session --address=unix:path="$XDG_RUNTIME_DIR"/bus && logger 'dbus session daemon started' dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$HOME/go/bin:$HOME/Applications:$PATH" #------------------------------------------------------ xdg-desktop-portal -killall -e xdg-desktop-portal-hyprland -killall -e xdg-desktop-portal-kde -killall -e xdg-desktop-portal-gtk -killall -e xdg-desktop-portal-gnome -killall -e xdg-desktop-portal-wlr -killall xdg-desktop-portal -logger 'all xdg-desktop killed ' -sleep 2 -# test -f /usr/libexec/xdg-desktop-portal-kde && sleep 1 && /usr/libexec/xdg-desktop-portal-kde & -test -f /usr/libexec/xdg-desktop-portal-gtk && /usr/libexec/xdg-desktop-portal-gtk & -sleep 1 -test -f /usr/libexec/xdg-desktop-portal-hyprland && /usr/libexec/xdg-desktop-portal-hyprland & -sleep 2 -test -f /usr/libexec/xdg-desktop-portal && /usr/libexec/xdg-desktop-portal & +# killall -e xdg-desktop-portal-hyprland +# killall -e xdg-desktop-portal-kde +# killall -e xdg-desktop-portal-gtk +# killall -e xdg-desktop-portal-gnome +# killall -e xdg-desktop-portal-wlr +# killall xdg-desktop-portal +# logger 'all xdg-desktop killed ' +# sleep 2 +# # test -f /usr/libexec/xdg-desktop-portal-kde && sleep 1 && /usr/libexec/xdg-desktop-portal-kde & +# test -f /usr/libexec/xdg-desktop-portal-gtk && /usr/libexec/xdg-desktop-portal-gtk & +# sleep 1 +# test -f /usr/libexec/xdg-desktop-portal-hyprland && /usr/libexec/xdg-desktop-portal-hyprland & +# sleep 2 +# test -f /usr/libexec/xdg-desktop-portal && /usr/libexec/xdg-desktop-portal & #------------------------------------------------------ polkit-kde if ! pidof /usr/libexec/polkit-kde-authentication-agent-1; then @@ -45,17 +45,17 @@ test -f ~/.Xresources && xrdb ~/.Xresources & logger '.Xresources merged' #------------------------------------------------------ waybar and tray apps -gentoo-pipewire-launcher restart > /dev/null 2>&1 & -logger 'gentoo-pipewire-launcher (re-)started' +# gentoo-pipewire-launcher restart > /dev/null 2>&1 & +# logger 'gentoo-pipewire-launcher (re-)started' -sleep 2 -! pidof mpd && mpd # does fork unless called with --no-daemon -logger 'mpd is running' -pidof mpd-mpris && pkill mpd-mpris || mpd-mpris > /dev/null 2>&1 & -logger 'mpd-mpris is running' +# sleep 2 +# ! pidof mpd && mpd # does fork unless called with --no-daemon +# logger 'mpd is running' +# pidof mpd-mpris && pkill mpd-mpris || mpd-mpris > /dev/null 2>&1 & +# logger 'mpd-mpris is running' -pidof waybar && pkill waybar || waybar > /dev/null 2>&1 & sleep 1 +pidof waybar && pkill waybar || waybar > /dev/null 2>&1 & logger 'waybar started' pidof mako && pkill mako || mako > /dev/null 2>&1 & diff --git a/dot-config/hypr/scripts/workspace.sh b/dot-config/hypr/scripts/workspace.sh index 4c2e3774..d2e990f9 100755 --- a/dot-config/hypr/scripts/workspace.sh +++ b/dot-config/hypr/scripts/workspace.sh @@ -36,7 +36,7 @@ case "$REQUESTED_WORKSPACE" in hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; 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/SweetSpot.png" + hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/radio.png" ;; 5) hyprctl dispatch "$PRECMD"workspace"$POSTCMD" "$REQUESTED_WORKSPACE"; hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/ContentoCustomBackground.png" -- 2.51.2