Tabs & Folder Sidebar¶
Octa is multi-tab from the ground up. Every file you open lives in its own tab; the same file opened twice gets two independent tabs with independent edit overlays.

The tab strip¶
A row of tabs sits under the toolbar and is rendered every frame,
even when only one tab is open. Each tab shows the filename and an
* suffix when there are unsaved changes.
Tab controls¶
- Left-click a tab to activate it.
- Hover a tab to see its full file path in a tooltip, useful when several tabs share a filename.
- Right-click a tab for the context menu:
- Pin tab
- Compare with active tab
- Rename tab... (or Ctrl+Alt+T) sets a display-only label; the file path and name on disk are unchanged, and hovering still shows the full path. Clear the name to revert to the file name.
- Ctrl-click a non-active tab to add it to a multi-selection set (visualised as a soft accent tint). Currently used by the Compare view's "Compare selected tabs" shortcut.
- Scroll sideways when there are more tabs than fit the window. The mouse wheel over the tab strip scrolls it horizontally (no modifier needed), and a scrollbar appears beneath the tabs. Tabs are never clipped out of reach.
Reopening a closed tab¶
Ctrl+Shift+T
(ReopenLastClosedTab) re-opens the most recently closed tab. Octa
remembers the last 10 closed tabs, so pressing the shortcut
repeatedly walks back through them in reverse close order.
Tabs backed by a file on disk re-load from the file (so any external changes are picked up). Scratch tabs (no source path, e.g. "parsed in new tab" results or raw edits) re-create the visible state verbatim from the snapshot Octa kept.
The Edit menu surfaces Reopen Last Closed Tab with the binding shown when at least one closed-tab snapshot exists.
Multi-file open¶
Two ways to open multiple files at once:
- From the file picker: File → Open uses
rfd::FileDialog::pick_files()(plural), so Ctrl-click or Shift-click in the dialog to select several. Each opens in a new tab. - From the command line:
octa file1.csv file2.parquet file3.jsonhas the same effect.
The first file replaces an empty welcome tab if one is active; subsequent files open in fresh tabs. The active tab follows the most-recently-loaded file.
If a file has a multi-table source (SQLite, DuckDB, GeoPackage), the table picker dialog appears before the file loads. The multi-file open queue pauses while the picker is up; pick a table, and the next queued file proceeds.
The folder sidebar¶
File → Open Directory… opens a directory picker and installs a sidebar showing the folder's tree. It's a resizable panel docked on the left by default; dock it on the right, top or bottom under Settings → Directory Tree → Sidebar position (the same setting also positions the cloud-connections browser).
Left/right docks resize by width, top/bottom by height. The sidebar takes up part of the window on first open; drag the splitter to resize it, including all the way down narrow so the table gets the full width.
Sidebar behaviour¶
- Click a directory row to expand / collapse it.
- Click a file row to open the file in a new tab (or replace the empty welcome tab).
- Directories sort before files, case-insensitive.
- Hidden entries (
.git,.DS_Store, etc.) are skipped. - Long filenames are truncated with an ellipsis, so the row never exceeds the panel width.
- Right-click a file row for the context menu:
- Copy name (basename only)
- Union selected files... (see below)
Selecting several files (Union)¶
Ctrl-click file rows to select them instead of opening them; Shift-click takes a whole run between the last click and this one. Selected rows stay highlighted and an N selected bar appears at the top of the sidebar with a Union... button. Right-clicking a selected file offers the same action.
That stacks the selected files into one table, reconciling their columns, which is the quick way to combine a folder of partitioned exports without opening a tab per file. See Union tables. A plain click still just opens the file, and clears the selection.
Closing the sidebar¶
File → Close Directory hides the sidebar without touching any of the tabs you've already opened from it. Re-opening a folder shows it again.
Cloud connections¶
The same sidebar also hosts your cloud connections. File → Cloud connections shows a browser for saved S3 / Azure / GCS buckets above the folder tree; expand a connection to list its objects and click a file to open it. + Add in that header jumps to Settings to create a new connection, and Ctrl-clicking objects selects them for a Union... just as in the folder tree. See Cloud storage.
Multi-table databases (table picker)¶
When you open a .sqlite / .duckdb / .gpkg file with more than
one user table, Octa shows a modal table picker before the data
loads:

- Click a table to select it; the right pane previews the schema.
- Click Open to load it in a new tab.
- Click Cancel to back out of the file open.
The dialog opens at a fit-to-content height: with a handful of tables it stays compact, with many it caps at a configurable number of visible rows and the list scrolls. Drag the bottom-right corner to grow it whenever you want to see more tables at once. The cap lives in Settings → Performance → Tables visible in picker (default 10).
Single-table databases auto-load without the picker. Empty databases fall through to the standard reader (which returns a clear "empty file" error).
To re-show the picker for a database that's already open, close the tab and reopen the file.
See also¶
- Compare view uses tab multi-selection (Ctrl+click) to pick the right-side file.
- Cloud storage browses S3 / Azure / GCS buckets in the same sidebar.
- Settings → Directory Tree changes the sidebar dock side.
- Settings → Files changes the number of recent files remembered.