Dotfiles/desktopenvs/hyprlua/hypr/layouts
Amir Alexander Abdelbaki 48505a5726 feat(hyprlua): real independent-pan "columns" layout (custom Lua layout)
Replaces the scrolling-preset "columns" with a genuine custom tiling layout
(hl.layout.register "lua:columns"): a row of columns where each column is an
INDEPENDENTLY panning vertical strip. Moving focus up/down inside a column pans
only that column to keep the focus in view; the other columns stay frozen — the
combination-lock behaviour that the built-in scrolling engine (single shared tape
offset) structurally can't do.

- columns.lua: recalculate places every window box; per-workspace state holds each
  window's column assignment and each column's pan offset. layout_msg handles the
  focus/move/count/orient commands. New windows fill the least-populated column;
  changing the column count reflows evenly.
- init.lua: for Lua layouts (lua = true), orientation is sent via layout_msg
  ("orient h|v") instead of the global scrolling:direction option.
- hypr-nav: forwards focus/move/count for the columns layout to hl.dsp.layout(...);
  the built-in scrolling path is unchanged.
- binds.lua: Super+Ctrl+Alt+H/J/K/L manage the column / windows-per-view count
  (axes follow the workspace's horizontal/vertical orientation).

Menu dropdown for "Columns" now selects orientation (Horizontal / Vertical).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SUN7gg6GGfnToghMijLm5Y
2026-07-07 10:08:34 +02:00
..
columns.lua feat(hyprlua): real independent-pan "columns" layout (custom Lua layout) 2026-07-07 10:08:34 +02:00
dwindle.lua feat(hyprlua): per-file layout registry (default scrolling↓); menu layout+window controls 2026-07-06 11:52:46 +02:00
init.lua feat(hyprlua): real independent-pan "columns" layout (custom Lua layout) 2026-07-07 10:08:34 +02:00
master.lua feat(hyprlua): per-file layout registry (default scrolling↓); menu layout+window controls 2026-07-06 11:52:46 +02:00
monocle.lua feat(hyprlua): per-file layout registry (default scrolling↓); menu layout+window controls 2026-07-06 11:52:46 +02:00
scrolling.lua feat(hyprlua): per-file layout registry (default scrolling↓); menu layout+window controls 2026-07-06 11:52:46 +02:00