New configuration for hyprscrolling

This commit is contained in:
2026-02-25 20:02:53 +01:00
parent a72f387de0
commit 3cef54aaa7
@@ -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