From 3cef54aaa7094c5cad9e1dd3730a90686d2655cc Mon Sep 17 00:00:00 2001 From: Henro Veijer Date: Wed, 25 Feb 2026 20:02:53 +0100 Subject: [PATCH] New configuration for hyprscrolling --- .../conf/desktop/hypr/hyprscrolling.conf | 93 ++++++++++--------- 1 file changed, 49 insertions(+), 44 deletions(-) diff --git a/henrovnix_ok/assets/conf/desktop/hypr/hyprscrolling.conf b/henrovnix_ok/assets/conf/desktop/hypr/hyprscrolling.conf index 9e009b814..e1ec6b71b 100644 --- a/henrovnix_ok/assets/conf/desktop/hypr/hyprscrolling.conf +++ b/henrovnix_ok/assets/conf/desktop/hypr/hyprscrolling.conf @@ -1,60 +1,65 @@ # -------------------------------------------------- -# Hyprscrolling – scrolling layout with indicators +# Scrolling layout (Hyprland) – clean, valid config # Managed in repo: assets/conf/desktop/hypr/hyprscrolling.conf +# +# IMPORTANT: +# - "indicators" / "indicator_*" options do NOT exist in the official hyprscrolling plugin +# and are not part of the Hyprland scrolling layout config, so they were removed. +# - If you still load the hyprscrolling plugin (.so) via Nix, that's fine, but the +# behavior is controlled by the "scrolling { }" block below. # -------------------------------------------------- -# Load plugin (.so is symlinked by Nix module) +# If your Nix module already loads the plugin, you can omit this line. +# If you keep it, it won't hurt as long as the path exists. plugin = /etc/hypr/plugins/libhyprscrolling.so # Make scrolling the default layout general { - layout = scrolling + layout = scrolling } # -------------------------------------------------- -# Plugin configuration +# Scrolling layout configuration (documented on the Hyprland wiki) +# -------------------------------------------------- +scrolling { + # Main behavior + column_width = 0.5 + fullscreen_on_one_column = true + + # How the focused window is "fit" into view: + # 0/1/etc depends on your preference; keep what you had. + focus_fit_method = 1 + + # Follow focus and keep a minimum visible part of adjacent columns + follow_focus = true + follow_min_visible = 0.4 + + # Optional: widths you can cycle through via `layoutmsg colresize +conf` + # (Uncomment if you want this feature) + # explicit_column_widths = 0.333, 0.5, 0.667, 1.0 + + # Direction of scrolling / layout + direction = right +} + +# -------------------------------------------------- +# Keybinds (layoutmsg) – these are the commands scrolling uses +# Put these here ONLY if this file is included into your main binds config. # -------------------------------------------------- -plugin:hyprscrolling { +# Move focus/viewport by column +bind = $mainMod, comma, layoutmsg, move -col +bind = $mainMod, period, layoutmsg, move +col - # Behavior - column_width = 0.5 - fullscreen_on_one_column = true - focus_fit_method = 1 - follow_focus = true - follow_min_visible = 0.4 - # explicit_column_widths = 0.333, 0.5, 0.667, 1.0 - direction = right +# Put the current window into its own new column +bind = $mainMod, P, layoutmsg, promote - # --- Core behaviour --- - enable = true - focus_follows_mouse = true - smooth_scrolling = true +# Swap whole columns left/right +bind = $mainMod, H, layoutmsg, swapcol l +bind = $mainMod, L, layoutmsg, swapcol r - # --- Gaps & spacing --- - gaps_in = 6 - gaps_out = 16 - - # --- Indicators --- - # Show visual indicators for stacked windows - indicators = true - - # Style of indicators (examples: line, dots, bar) - indicator_style = dots - - # Thickness / size - indicator_thickness = 10 - - # Spacing between indicators - indicator_spacing = 6 - - # Offset from window edge - indicator_offset = 8 - - # Colors (RGBA) - indicator_color_active = rgba(137, 180, 250, 0.9) # blue-ish (Catppuccin style) - indicator_color_inactive = rgba(88, 91, 112, 0.6) - - # Position (top, bottom, left, right) - indicator_position = bottom -} +# Resize column: set an absolute width, or cycle configured widths +bind = $mainMod, 1, layoutmsg, colresize 0.5 +bind = $mainMod, 2, layoutmsg, colresize 0.667 +bind = $mainMod, 3, layoutmsg, colresize 1.0 +# bind = $mainMod, 0, layoutmsg, colresize +conf