In Lumide, tabs represent any open viewβeditors, terminals, file trees, diffs, git graphs, and AI agents. Tabs can be organized into tab groups across any workspace pane.
Universal Tab Types#
Because all views are built on Lumide's pane system, tabs support:
- Code Editors: Source files with syntax highlighting and LSP diagnostics.
- Terminals: Shell instances running system PTY sessions.
- Git (C.O.R.G.I.): Branch graph, staged hunks, and commit composer.
- File Explorer: Independent tree views with folder expansion state.
- AI Agent Chat: Active conversational sessions with autonomous agents.
- Problems & Output: Compiler diagnostics, tasks, and runtime logs.
- Diff Viewers: Side-by-side or unified revision comparisons.
Tab Indicators & Visuals#
-
Dirty Indicator (
β’): Indicates unsaved buffer edits. Disappears immediately on save (Cmd+S/Ctrl+S). -
Lock Icon (
π): Indicates a read-only document, such as cached external packages, SDK sources, or read-only files. -
Path Disambiguation: When multiple files share identical basenames (such as
models/user.dartandviews/user.dart), Lumide appends the parent folder name to the tab label (user.dart - models). - Pinned Tabs: Pinned tabs dock to the far left of the tab bar with a compact footprint and cannot be accidentally closed by bulk actions.
Drag-and-Drop & Interactions#
- Reorder Within Group: Drag any tab header horizontally to reorder tabs.
- Move Across Panes: Drag a tab into any other tab group or pane region (Left, Center, Right, Bottom).
- Split on Drop: Drag a tab toward any pane edge to create an instant horizontal or vertical split.
- Middle-Click to Close: Middle-click any tab header to immediately close that tab.
- Ephemeral Preview Tabs: Single-clicking a file in the File Tree opens it as an ephemeral tab (italicized title). Double-clicking or modifying the file keeps it open permanently.
Tab Context Menu#
Right-click any tab header to access context actions:
| Action | macOS | Windows / Linux | Description |
|---|---|---|---|
| Close | Cmd + W |
Ctrl + W |
Closes the selected tab. |
| Keep Open | β | β | Converts an ephemeral preview tab to a permanent tab. |
| Close Other Tabs | β | β | Closes all other tabs in this group. |
| Close Tabs to the Left | β | β | Closes closeable tabs situated to the left. |
| Close Tabs to the Right | β | β | Closes closeable tabs situated to the right. |
| Close Saved Tabs | β | β | Closes all unmodified tabs. |
| Close All Tabs | β | β | Closes all tabs in this group. |
| Pin / Unpin Tab | β | β | Pins or unpins the tab. |
| Split Right | Cmd + \ |
Ctrl + \ |
Splits the pane vertically to the right. |
| Split Down | Cmd + Shift + \ |
Ctrl + Shift + \ |
Splits the pane horizontally downward. |
| Reveal in Finder / Explorer / File Manager | Option + Cmd + R |
Alt + Ctrl + R |
Opens enclosing folder in OS file manager. |
| Copy Path | β | β | Copies the absolute filesystem path. |
| Copy Relative Path | Shift + Option + Cmd + C |
Shift + Alt + Ctrl + C |
Copies path relative to workspace root. |
| Compare with Clipboard | β | β | Opens a side-by-side diff against clipboard text. |
Tab Switching & Navigation#
-
Next Tab:
Cmd + Shift + ](macOS) /Alt + Right(Windows/Linux), orCtrl + Tab -
Previous Tab:
Cmd + Shift + [(macOS) /Alt + Left(Windows/Linux), orCtrl + Shift + Tab - VS Code Preset:
Ctrl + PageDown/Ctrl + PageUp
Next Steps#
- Split Panes & Layout β Multi-pane splits and edge drop zones.
- Hot Exit & Session Recovery β Unsaved buffers and crash recovery.
