Skip to content

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.

Tabs and folder sidebar

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:

  1. 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.
  2. From the command line: octa file1.csv file2.parquet file3.json has 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.

  • 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:

Table picker dialog

  • 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