feat: add tabbed grids, click-to-expand, and keybind cleanup

Introduces per-tab pane management with independent focus/expansion state,
a persistent tab bar visible in both picker and grid modes, and a 70/30
soft-expand layout triggered by clicking pane bodies. Removes legacy
toggle keybinds (Ctrl+^ and Ctrl+`) leaving only Ctrl+Space.

New keybinds: Ctrl+T new tab, Alt+1-9 switch tab, Alt+n/p cycle tabs,
Ctrl+E toggle click-expand, Ctrl+W auto-removes empty tabs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-02-28 10:45:25 +00:00
parent cad6df1a9b
commit 9e424c192a
8 changed files with 692 additions and 109 deletions

View File

@@ -81,6 +81,12 @@ async function main() {
height: "100%",
})
app.tabBarText = new TextRenderable(app.renderer, {
width: "100%",
height: 1,
flexShrink: 0,
})
app.headerText = new TextRenderable(app.renderer, {
width: "100%",
height: 1,
@@ -148,6 +154,7 @@ async function main() {
flexShrink: 0,
})
app.mainBox.add(app.tabBarText)
app.mainBox.add(app.headerText)
app.mainBox.add(app.colHeaderText)
app.mainBox.add(app.listBox)