feat(algorithm): master-stack orientation knob #5

Closed
opened 2026-04-25 16:16:12 +00:00 by barrettruth · 0 comments
barrettruth commented 2026-04-25 16:16:12 +00:00

Add @mosaic-orientation (window-scoped) to flip the master/stack arrangement. Hyprland's master layout supports this; tmux has the natives for free.

Scope

value tmux layout meaning
left (default) main-vertical master left, stack right (current)
right main-vertical-mirrored master right, stack left
top main-horizontal master top, stack bottom
bottom main-horizontal-mirrored master bottom, stack top

Acceptance criteria

  • @mosaic-orientation window option, default left
  • algo_relayout reads the orientation, picks the right tmux layout name + sets either main-pane-width or main-pane-height (also as a percent)
  • algo_resize_master writes the correct option for the orientation
  • algo_sync_state reads the correct dimension for the orientation
  • Tests for each orientation: 4-pane setup, verify layout-string structure ({...} vs [...])
  • README: document the option + values

Implementation notes

Single algorithm file; switch on orientation. Don't fork into 4 algorithm files.

Add `@mosaic-orientation` (window-scoped) to flip the master/stack arrangement. Hyprland's master layout supports this; tmux has the natives for free. ## Scope | value | tmux layout | meaning | |---|---|---| | `left` (default) | `main-vertical` | master left, stack right (current) | | `right` | `main-vertical-mirrored` | master right, stack left | | `top` | `main-horizontal` | master top, stack bottom | | `bottom` | `main-horizontal-mirrored` | master bottom, stack top | ## Acceptance criteria - [ ] `@mosaic-orientation` window option, default `left` - [ ] `algo_relayout` reads the orientation, picks the right tmux layout name + sets either `main-pane-width` or `main-pane-height` (also as a percent) - [ ] `algo_resize_master` writes the correct option for the orientation - [ ] `algo_sync_state` reads the correct dimension for the orientation - [ ] Tests for each orientation: 4-pane setup, verify layout-string structure (`{...}` vs `[...]`) - [ ] README: document the option + values ## Implementation notes Single algorithm file; switch on orientation. Don't fork into 4 algorithm files.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/tmux-mosaic#5
No description provided.