]> Freerunner's - dotfiles.git/commitdiff
hypr: update config for 0.54.0 and cleanup
authorAndre Ramnitz <tux.rising@gmail.com>
Mon, 2 Mar 2026 21:34:06 +0000 (22:34 +0100)
committerAndre Ramnitz <tux.rising@gmail.com>
Mon, 2 Mar 2026 21:34:06 +0000 (22:34 +0100)
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/scripts/custom-accel-macos.py [deleted file]
dot-config/hypr/scripts/gaps.sh [deleted file]
dot-config/hypr/scripts/workspace.sh [deleted file]

index 38cc92dedd0bfdf6bdb4c88da4d5d992ecb92283..d5ea90f664f8011864af3e40459d1f1af11b6d01 100644 (file)
@@ -14,15 +14,12 @@ $floatterm = foot -o pad=0x0 -a popup
 
 # mainmod shortcuts
 # ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
-# example: bind = $mainmod Shift,      Return, exec, [float; size 1280 800;] foot -o pad=0x0
 bind = $mainmod,                        Return, exec, $term
 bind = $mainmod Ctrl,                   Return, exec, $fallbackterm
 bind = $mainmod Shift,                  Return, exec, $floatterm
 bind = $mainmod Shift,                  Q, killactive,
 bind = $mainmod,                        A, pseudo, # dwindle, A for Artificial
 bind = $mainmod,                        B, exec, $HOME/.config/hypr/scripts/browser_focus_or_run.sh
-# bind = $mainmod,                        C, exec, killall fuzzel || cliphist list | fuzzel -d --config=$HOME/.config/fuzzel/fuzzel-emojii.ini --prompt='Copy > ' | cliphist decode | wl-copy
-# bind = $mainmod Ctrl,                   C, exec, foot -a clipse -e clipse
 bind = $mainmod,                        C, exec, qs -c noctalia-shell ipc call launcher clipboard
 bind = $mainmod,                        D, exec, qs -c noctalia-shell ipc call launcher toggle
 bind = $mainmod SHIFT,                  D, exec, killall fuzzel || fuzzel --config=$HOME/.config/fuzzel/fuzzel-centered.ini
@@ -34,20 +31,19 @@ bind = $mainmod,                        G, togglegroup
 bind = $mainmod SHIFT,                  G, lockactivegroup, toggle
 bind = $mainmod CTRL,                   G, denywindowfromgroup, toggle
 bind = $mainmod ALT,                    G, moveoutofgroup, active
+bind = $mainmod,                        I, togglespecialworkspace, overlay
+bind = $mainmod SHIFT,                  I, movetoworkspace, special:overlay
 bind = $mainmod,                        P, exec, foot -w 640x400 -a popup -H hyprpicker #color Pipette
 bind = $mainmod SHIFT,                  P, pin
-bind = $mainmod,                        S, layoutmsg, swapwithmaster # master
-bind = $mainmod,                        S, togglesplit, # dwindle
-bind = $mainmod Shift,                  S, swapsplit, # dwindle
+bind = $mainmod,                        S, layoutmsg, togglesplit # dwindle
+bind = $mainmod Shift,                  S, layoutmsg, swapsplit # dwindle
+bind = $mainmod,                        S, layoutmsg, colresize +conf # scrolling
+bind = $mainmod Shift,                  S, layoutmsg, colresize -conf # scrolling
 bind = $mainmod,                        V, togglefloating
 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, centerwindow # floating only
 bind = $mainmod,                        grave, exec, qs -c noctalia-shell ipc call launcher emoji
-bind = $mainmod,                        C, centerwindow
-# scratchpad
-bind = $mainmod,                        I, togglespecialworkspace, overlay
-bind = $mainmod SHIFT,                  I, movetoworkspace, special:overlay
 
 # suremod keys (prevent fat-fingering 'em by accident)
 # ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
@@ -213,80 +209,3 @@ bind = , catchall, submap, reset
 submap = reset
 
 
-# ───────────────────────────────────────────────────────────
-# will switch to a submap called gaps
-bind = $mainmod ALT,            G, submap, gaps
-
-# will start a submap called "gaps"
-submap = gaps
-
-# sets repeatable binds for resizing the active window
-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
-
-# will reset the submap, which will return to the global submap
-submap = reset
-
-
-# ───────────────────────────────────────────────────────────
-# will switch to a submap called resize16-9
-bind = $mainmod,               Z, submap, resize16-9
-
-# will start a submap called "gaps"
-submap = resize16-9
-
-# sets repeatable binds for resizing the active window
-bind  = ,                               1, exec, hyprctl dispatch 'resizewindowpixel exact 640 360,activewindow'
-bind  = ,                               1, exec, submap, reset
-bind  = ,                               2, exec, hyprctl dispatch 'resizewindowpixel exact 853 480,activewindow'
-bind  = ,                               2, exec, submap, reset
-bind  = ,                               3, exec, hyprctl dispatch 'resizewindowpixel exact 1280 720,activewindow'
-bind  = ,                               3, exec, submap, reset
-bind  = ,                               4, exec, hyprctl dispatch 'resizewindowpixel exact 1920 1080,activewindow'
-bind  = ,                               4, exec, submap, reset
-bind  = ,                               5, exec, hyprctl dispatch 'resizewindowpixel exact 2400 1350,activewindow'
-bind  = ,                               5, exec, submap, reset
-bind  = ,                               6, exec, hyprctl dispatch 'resizewindowpixel exact 2560 1440,activewindow'
-bind  = ,                               6, exec, submap, reset
-
-# use reset to go back to the global submap
-bind = , catchall, submap, reset
-
-# will reset the submap, which will return to the global submap
-submap = reset
-
-
-# ───────────────────────────────────────────────────────────
-# will switch to a submap called resize16-10
-bind = $mainmod Shift,         Z, submap, resize12-10
-
-# will start a submap called "gaps"
-submap = resize12-10
-
-# sets repeatable binds for resizing the active window
-bind  = ,                               1, exec, hyprctl dispatch 'resizewindowpixel exact 432 360,activewindow'
-bind  = ,                               1, exec, submap, reset
-bind  = ,                               2, exec, hyprctl dispatch 'resizewindowpixel exact 576 480,activewindow'
-bind  = ,                               2, exec, submap, reset
-bind  = ,                               3, exec, hyprctl dispatch 'resizewindowpixel exact 864 720,activewindow'
-bind  = ,                               3, exec, submap, reset
-bind  = ,                               4, exec, hyprctl dispatch 'resizewindowpixel exact 1296 1080,activewindow'
-bind  = ,                               4, exec, submap, reset
-bind  = ,                               5, exec, hyprctl dispatch 'resizewindowpixel exact 1620 1350,activewindow'
-bind  = ,                               5, exec, submap, reset
-bind  = ,                               6, exec, hyprctl dispatch 'resizewindowpixel exact 1728 1440,activewindow'
-bind  = ,                               6, exec, submap, reset
-
-# use reset to go back to the global submap
-bind = , catchall, submap, reset
-
-# will reset the submap, which will return to the global submap
-submap = reset
-
index b0f63dda2c6aca43a4159ec1e952e35a54fef128..ea38b373c3498997341785099e902a31e2bc1e1d 100644 (file)
@@ -131,7 +131,7 @@ windowrule {
 windowrule {
   name = windowrule-26
   float = on
-  move = ((monitor_w-window_w)-10) (42)
+  move = ((monitor_w)-813) (55)
   size = 800 450
   no_initial_focus = on
   group = deny
@@ -153,6 +153,7 @@ windowrule {
 windowrule {
   name = popup_class
   float = on
+  group = deny
   size = 1280 800
   match:class = ^(popup)$
 }
@@ -161,6 +162,7 @@ windowrule {
   name = kakpopup
   float = 1
   stay_focused = 1
+  group = deny
   opacity = 1.0 override
   move = ((monitor_w-window_w)-10) ((monitor_h-window_h)-10)
   match:class = ^(kakpopup)$
index 23685f034125b739e5326f865b2d98421faa4270..6575136d181ad39745d96f33558949a8f49657b1 100644 (file)
@@ -6,7 +6,14 @@
 # workspace rules
 #example: on-created-empty: exec, something"
 
-workspace = 1, default:1
-workspace = 4, gapsout:40, gapsin:20
+workspace = 1, default:1, layout:dwindle
+workspace = 2, layout:scrolling
+workspace = 3, layout:monocle
+workspace = 4, layout:monocle
+workspace = 5, layout:scrolling
 workspace = 6, float
+workspace = 7, layout:scrolling
+workspace = 8, layout:scrolling
+workspace = 9, layout:scrolling
+workspace = 0, layout:dwindle
 workspace = special:magic
index db24dd3ca6cdd762df7ac67c8cfbd0120b4d586f..ce1b54223971194e77a1b540c326632a79e05819 100644 (file)
@@ -26,8 +26,13 @@ monitor=,preferred,auto-center-right,1,vrr,2
 # Execute your favorite apps at launch
 # exec-once = dbus-update-activation-environment --systemd --all
 exec-once = /usr/libexec/pam_kwallet_init
+# exec-once = /usr/libexec/polkit-gnome-authentication-agent-1
+# exec-once = /usr/libexec/polkit-kde-authentication-agent-1
 exec-once = hyprpm reload
 exec-once = openrc --user hyprland # AFTER pam_kwallet_init!!!
+exec-once = /usr/bin/qs -c noctalia-shell
+exec-once = /usr/bin/nextcloud
+exec-once = /usr/bin/keepassxc
 # exec-once = env XDG_MENU_PREFIX=plasma- kbuildsycoca6
 
 # Unset variables on exit
@@ -50,17 +55,30 @@ general {
     # col.nogroup_border_active = $error
 }
 
+layout {
+    single_window_aspect_ratio = 16 9.1
+    single_window_aspect_ratio_tolerance = 0.1
+}
+
 dwindle {
     pseudotile = yes
     force_split = 2
     smart_split = 0
     split_width_multiplier = 2.0
-    single_window_aspect_ratio = 16 9.1
-    single_window_aspect_ratio_tolerance = 0.1
     pseudotile = 1 # master switch for pseudotiling. Enabling is bound to mainMod + A in the keybinds section below
     preserve_split = 1 # you probably want this
 }
 
+scrolling {
+    fullscreen_on_one_column = 1
+    column_width = 0.5 # default = 0.5
+    focus_fit_method = 1
+    follow_focus = 1
+    follow_min_visible = 0.4
+    explicit_column_widths = 0.333,0.5,0.667,1.0
+    direction = right
+}
+
 master {
     new_status = slave
     allow_small_split = 1
diff --git a/dot-config/hypr/scripts/custom-accel-macos.py b/dot-config/hypr/scripts/custom-accel-macos.py
deleted file mode 100644 (file)
index 4802400..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/env python3
-
-# based on https://gist.github.com/fufexan/de2099bc3086f3a6c83d61fc1fcc06c9
-
-import struct
-import os
-import sys
-import math
-
-# ===== PARAMETERS =====
-# set according to your device:
-device_dpi = 2048 * 1.5 # mouse dpi
-screen_dpi = 163
-screen_scaling_factor = 1
-sample_point_count = 20 
-sensitivity_factor = 6
-
-def sigmoid(x, a=1.0):
-    return 1 / (1 + math.exp(-a * (x - 0.5)))
-
-def find_arg(arg):
-    for i in sys.argv:
-        if i == arg:
-            return True
-    return False
-
-def float16x16(num):
-    return struct.unpack('<i', num[:-4])[0] / int(0xffff)
-
-if find_arg("help") or find_arg("-h") or find_arg("--help") or find_arg("h"):
-    print(f'{sys.argv[0]} <device>')
-    print('To get the device, run `hyprctl devices` and get its name')
-    exit(0)
-
-# Make sure the device is passed as the first argument
-if len(sys.argv) < 2:
-    print("Error: device not specified. Usage: <script> <device>")
-    exit(1)
-
-# The first argument is treated as the device
-device = sys.argv[1]
-
-scale_x = device_dpi / 1e3
-scale_y = screen_dpi / 1e3 / screen_scaling_factor * sensitivity_factor
-
-X = [
-b'\x00\x00\x00\x00\x00\x00\x00\x00',
-b'\x15\x6e\x00\x00\x00\x00\x00\x00',
-b'\x00\x40\x01\x00\x00\x00\x00\x00',
-b'\x29\xdc\x03\x00\x00\x00\x00\x00',
-b'\x00\x00\x28\x00\x00\x00\x00\x00',
-]
-Y = [
-b'\x00\x00\x00\x00\x00\x00\x00\x00',
-b'\xfd\x11\x01\x00\x00\x00\x00\x00',
-b'\x00\x24\x04\x00\x00\x00\x00\x00',
-b'\x00\xfc\x12\x00\x00\x00\x00\x00',
-b'\x00\xc0\xbb\x01\x00\x00\x00\x00',
-]
-
-windows_points = [[float16x16(x), float16x16(y)] for x, y in zip(X, Y)]
-points = [[x * scale_x, y * scale_y] for x, y in windows_points]
-
-def find2points(x):
-    i = 0
-    while i < len(points) - 2 and x >= points[i + 1][0]:
-        i += 1
-    assert -1e6 + points[i][0] <= x <= points[i + 1][0] + 1e6, f'{points[i][0]} <= {x} <= {points[i + 1][0]}'
-    return points[i], points[i + 1]
-
-def interpolate(x):
-    (x0, y0), (x1, y1) = find2points(x)
-    factor = sigmoid(x)  # This smoothly adjusts based on x
-    y = factor * ((x - x0) * y1 + (x1 - x) * y0) / (x1 - x0)
-    
-    return y
-
-def sample_points(count):
-    last_point = -2
-    max_x = points[last_point][0]
-    step = max_x / (count + last_point)  # we need another point for 0
-    sample_points_x = [si * step for si in range(count)]
-    sample_points_y = [interpolate(x) for x in sample_points_x]
-    return sample_points_x, sample_points_y
-
-sample_points_x, sample_points_y = sample_points(sample_point_count)
-step = sample_points_x[1] - sample_points_x[0]
-sample_points_str = " ".join(["%.3f" % number for number in sample_points_y])
-
-print(f'\tPoints: {sample_points_str}')
-print(f'\tStep size: {step:0.10f}')
-
-def hyprctl(device, option, arg):
-    os.system(f"hyprctl keyword 'device[{device}]:{option}' '{arg}'")
-
-# Apply settings for the specified device
-print(f'Setting device:\'{device}\':accel_profile using hyprctl')
-hyprctl(device, 'accel_profile', f'custom {step} {sample_points_str}')
diff --git a/dot-config/hypr/scripts/gaps.sh b/dot-config/hypr/scripts/gaps.sh
deleted file mode 100755 (executable)
index 714e0aa..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-
-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 workspace="$activeworkspace":gaps_in workspace=$((gaps_in+10))
-}
-
-function dec_gaps_in () {
-  hyprctl keyword workspace="$activeworkspace":gaps_in workspace=$((gaps_in-10))
-}
-
-function reset_gaps_in () {
-    hyprctl keyword workspace="$activeworkspace":gaps_in 5
-}
-
-function zero_gaps_in () {
-    hyprctl keyword workspace="$activeworkspace":gaps_in 0
-}
-
-function inc_gaps_out () {
-  hyprctl keyword workspace="$activeworkspace":gaps_out workspace=$((gaps_out+10))
-}
-
-function dec_gaps_out () {
-  hyprctl keyword workspace="$activeworkspace":gaps_out workspace=$((gaps_out-10))
-}
-
-function reset_gaps_out () {
-    hyprctl keyword workspace="$activeworkspace":gaps_out 20
-}
-
-function zero_gaps_out () {
-    hyprctl keyword workspace="$activeworkspace":gaps_out 0
-}
-
-while [[ $# -gt 0 ]]; do
-  case $1 in
-    --inc_gaps_in)    inc_gaps_in;    shift ;;
-    --dec_gaps_in)    dec_gaps_in;    shift ;;
-    --reset_gaps_in)  reset_gaps_in;  shift ;;
-    --zero_gaps_in)   zero_gaps_in;   shift ;;
-    --inc_gaps_out)   inc_gaps_out;   shift ;;
-    --dec_gaps_out)   dec_gaps_out;   shift ;;
-    --reset_gaps_out) reset_gaps_out; shift ;;
-    --zero_gaps_out)  zero_gaps_out;  shift ;;
-    *) printf "Error: Unknown option %s" "$1"; exit 1 ;;
-  esac
-done
-echo "$activeworkspace"
diff --git a/dot-config/hypr/scripts/workspace.sh b/dot-config/hypr/scripts/workspace.sh
deleted file mode 100755 (executable)
index 61c9c87..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/bash
-
-FOCUSED_MONITOR=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
-
-ACTIVE_WORKSPACE=$(hyprctl activeworkspace -j | jq '.id')
-
-if [[ "$1" == '-' ]]; then
-    REQUESTED_WORKSPACE="$((--ACTIVE_WORKSPACE))"
-elif [[ "$1" == '+' ]]; then
-    REQUESTED_WORKSPACE="$((++ACTIVE_WORKSPACE))"
-else
-    REQUESTED_WORKSPACE="$1"
-fi
-
-if [[ "$2" == 'mv' ]]; then
-    PRECMD='moveto'
-else
-    PRECMD=''
-fi
-
-if [[ "$3" == 's' ]]; then
-    POSTCMD='silent'
-else
-    POSTCMD=''
-fi
-
-case "$REQUESTED_WORKSPACE" in
-    1)
-        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";
-        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";
-        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";
-        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";
-        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";
-        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";
-        if [[ $(pidof hyprpaper) && "$3" == "s" ]]; then exit 1; fi
-        hyprctl hyprpaper wallpaper "$FOCUSED_MONITOR, ~/Bilder/Wallpapers-simple/TronLightCycle1.png"
-        ;;
-esac
-