Skip to content

feat(ui): add keyboard-driven multi-pane layouts - #83

Open
kallupx wants to merge 2 commits into
lgse:mainfrom
kallupx:feat/47-multi-pane-browsing
Open

kallupx wants to merge 2 commits into
lgse:mainfrom
kallupx:feat/47-multi-pane-browsing

Conversation

@kallupx

@kallupx kallupx commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add one to four independently navigable browser panes with side-by-side, stacked, nested, and 2×2 layouts.
  • Add Ctrl+S pane-management chords and a compact header layout menu.
  • Route navigation, search, previews, appearance, settings, and file operations through the active pane.
  • Support cross-pane drag-and-drop, shared cut state, and operation invalidation.
  • Add active-pane highlighting, clearer dividers, drag-safe previews, and responsive preview sizing.

Behavior

  • Strata still starts with one pane; layouts are not persisted.
  • New panes clone the active location while keeping independent history and selection.
  • Side-by-side and stacked layouts can be subdivided up to four panes.
  • Switching from 2×2 directly to Side by side or Stacked keeps the active row or column.
  • Closing the last pane remains a no-op.
  • The shared preview follows the active pane and opens at a responsive width.
  • Dragging files between panes no longer triggers an accidental preview or launch.
mouse.mp4
keys.mp4

Keyboard controls

  • Ctrl+S, V — split side by side
  • Ctrl+S, S — split top and bottom
  • Ctrl+S, H/J/K/L or arrows — focus a pane
  • Ctrl+S, W — cycle panes
  • Ctrl+S, C — close the active pane

Testing

  • cargo fmt --all --check
  • cargo check --all-targets --all-features
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-targets --all-features — 234 passed
  • Manual smoke testing of pane layouts, keyboard navigation, previews, and cross-pane drag-and-drop

Closes #47

@kallupx

kallupx commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator Author

fixed the pane divider lines in the latest commit, so they are now thinner than in the videos.

@l0gicgate

Copy link
Copy Markdown
Contributor

You'll have to rebase on main. Had to rewrite git history to remove Claude attributions

@l0gicgate

l0gicgate commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

This is a good feature we should think of:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add dual-pane browsing for independent base directories

2 participants