Skip to content

Terminal tab ​

A terminal tab runs a command-line shell inside tessoa. It can be open alongside file tabs.

Terminal tabs open on Windows, macOS and Linux alike, and they are a paid feature that requires an active license.

Opening a terminal tab ​

Both entry points sit in a right-click menu, and both are ▸ flyouts: hovering one lists the shells installed on this machine, and clicking a shell opens the tab.

Menu entryWhere you right-clickWhich folder the terminal starts in
Open terminal tab here ▸Empty space in the file areaThe folder you were looking at when you right-clicked
New terminal tab ▸Empty space on the tab barThe folder of the most recently used file tab in that group

The candidates come in a fixed order, the first entry being the default:

SystemCandidates
WindowsPowerShell 7, Windows PowerShell, cmd, Git Bash, and then each WSL distribution
macOS / LinuxDefault shell (the one $SHELL points at), then bash, zsh and fish

Shells installed through Homebrew on macOS are found as well — those live outside the system's default search path, where a double-clicked application usually cannot see them. When no shell can be found at all, the parent entry shows greyed out with a tip reading No shell found.

When the starting folder is unavailable, tessoa falls back step by step: the folder the menu offered, then the group's most recent file tab folder, then your home folder. The menu entry is not greyed out over an unavailable folder. The starting folder is fixed the moment you right-click; navigating elsewhere while the menu is open does not change the result.

Note

Without an active license the two entries show greyed out, but they still respond to a click. The tip reads Terminal tabs require an active license; clicking raises a toast with an Unlock button, and clicking Unlock opens the About › License page. Terminal tabs that already exist are not affected by a license running out; restarting the terminal and session restore keep working.

Right-clicking a file or folder offers no such entry. The background menu holds a separate Open in Terminal entry: it opens a system terminal window outside tessoa, which is a different thing from a terminal tab. On Windows it is the same shell flyout with the same candidates, only its result is an external window; on macOS and Linux it stays a single entry.

The not-running state ​

While the grid is empty, the few lines in the middle of the screen are themselves clickable (a background appears under the pointer), and pressing any key does the same as clicking. The three situations show different text:

SituationWhat the middle of the screen shows
Restored with the sessionClick or press any key to start, with Working directory: … on the line below
The process endedProcess ended (exit code N) (just Process ended when no code is available), then Click or press any key to restart
Starting failedThe reason in red — No shell found, Working directory no longer exists (common after unplugging a drive or deleting the folder and then restoring the session), or Failed to start: followed by the system's reason — then Click or press any key to retry

When the process ends with output still on screen, this block is not shown, so it does not cover what you are about to read. To restart then, use Restart Terminal in the tab's right-click menu; after one Clear Buffer, the block appears again.

Working inside the terminal ​

Input-method composition appears below the cursor and is sent to the terminal only after confirmation. The terminal supports italics, strikethrough, underline styles, combining characters and emoji. The running program controls text styles and cursor shapes.

ActionHow to do it
Select textDrag with the mouse; double-click a word or triple-click a whole line.
Select a long lineLong lines rewrap with the terminal width. Triple-click selects the whole logical line; copying does not add newlines caused only by display wrapping.
Read previous outputUse the mouse wheel or the right-hand scrollbar. Dragging a selection beyond the top or bottom edge continues scrolling through previous output.
Use programs such as vim or htopWhen a program enables mouse input, clicks, drags and wheel events are passed to it.
Select text while a program uses the mouseHold Shift while clicking or dragging. Hold Shift while using the wheel to scroll terminal history.

Searching terminal output ​

  1. Press Ctrl+Shift+F, or ⌘+F on macOS.
  2. Enter the text to find. Search covers the current screen and retained output history.
  3. With the search field focused, press Enter or F3 for the next match; hold Shift for the previous match.
  4. Press Esc in the search field to close search and return to terminal input.

The search bar supports case-sensitive, whole-word and regular-expression matching. While the search field has focus, typing searches instead of sending input to the shell. Clicking terminal text returns input focus to the terminal but keeps the search bar open. Switching to another tab closes it.

The terminal recognizes URLs and hyperlinks emitted by programs. Hold Ctrl and click a link to open it, or use ⌘ on macOS. Right-click a link and choose Copy Link to copy its address. An ordinary drag still selects text.

Web and email links open in the system's default application. File links open in tessoa: directories open in a new tab, while files are selected in their containing folder rather than executed.

The terminal's context menus ​

A terminal tab has two right-click menus of its own. On the character grid:

Menu entryWhat it does
CopyCopies the selected text; shown greyed out with no selection
PasteSends the clipboard's text to the shell
Select AllSelects everything, including the scrollback
Clear BufferClears the screen and the scrollback, keeping the cursor's line

When this menu is opened on a link, it also includes Copy Link.

Right-clicking the terminal tab itself offers, besides the closing family, Restart Terminal (restart with the same shell) and Restart with Shell ▸ (the same shell flyout, restarting with a different one). This menu has no bookmark entries: a terminal tab has no path to bookmark.

Shortcuts inside the terminal ​

These are the default shortcuts. Change them in the Terminal Tabs group under Settings → Keyboard & Mouse → Keyboard → Keyboard Shortcuts.

ActionWindows / LinuxmacOS
Copy and clear the selection, or interrupt when no text is selectedCtrl+CUse Ctrl+C for an interrupt; use the next row for copying
Copy and keep the selectionCtrl+Shift+C / Ctrl+Insert⌘+C
PasteCtrl+V / Ctrl+Shift+V / Shift+Insert⌘+V / ⌘+Shift+V
Select allCtrl+Shift+A⌘+A
FindCtrl+Shift+F⌘+F
Clear the bufferUnbound; can be assigned⌘+K
New tabCtrl+Shift+T⌘+T
Page up / downShift+PageUp / Shift+PageDownShift+PageUp / Shift+PageDown

Changing terminal shortcuts ​

  1. Open Keyboard Shortcuts settings and find Terminal Tabs.
  2. Click an action, then press the desired key combination.
  3. Check the row for conflicts. Use Unbind or Default at the end of the row to remove or restore a binding.

Terminal shortcuts accept keyboard keys only. Ctrl+Tab and Ctrl+Shift+Tab are reserved for switching tabs and cannot be assigned to terminal actions.

A Takes a shell control key warning means the terminal action will consume the key instead of passing it to the shell. Overlapping global shortcuts produce a conflict warning; affected global actions are marked Not active in terminal tabs. The shortcut for opening settings always takes priority.

By default, Ctrl+L and Alt+F go to the shell. Other Ctrl+Shift combinations on Windows / Linux and ⌘ combinations on macOS can still trigger global actions if no terminal shortcut uses them. The table and explanations assume default bindings; after customization, refer to the settings page.

Behaviour as a tab ​

  • The title shows shell · folder. The folder in the title is the one from creation time; cd inside the terminal does not change the title.
  • A terminal tab can be dragged to a new position, to another pane, torn off into a new window, and included in a split, the same as a file tab.
  • The session remembers it: after restarting tessoa every terminal tab is kept, but the process is not restarted automatically — what comes back is an empty grid with the block of text in the middle, and the scrollback is not saved. When the recorded shell has been uninstalled, the default one is used instead, with the folder unchanged.
  • Opening a new tab from a terminal tab (with New Tab Folder set to Match Current Tab) lands in the folder the terminal is currently in: a folder reported by the shell wins, then one read off the prompt line on screen; when neither is available (with a custom prompt such as oh-my-posh or starship, for example), it falls back to the creation-time folder.
  • A terminal tab has no address bar and no footer. The header line above the grid shows the shell name and the working directory; the line is not clickable. View switching and zooming do not apply to terminal tabs.

Running terminals remain in the background when you switch layouts and are available when you switch back. If switching or deleting a layout would end terminals, tessoa asks for confirmation first.

Division of work with file tabs ​

A file tab's folder and the terminal's working directory are not linked. The terminal inherits a folder once, at creation, and the two change independently from then on: navigating in a file tab does not cd the terminal, and cd in the terminal does not move any file tab.

Dropping file paths ​

  1. Start the shell in the terminal.
  2. Drag one or more files from the file list or another application onto the terminal text area.
  3. Check the inserted paths, finish the command, and press Enter when ready.

Dropping inserts absolute paths without copying or moving files or executing a command. Multiple paths are separated by spaces. tessoa quotes or escapes them for the shell selected for that tab, and converts path formats for Git Bash and WSL. Paths cannot be dropped before the terminal starts or after its process exits.

Colors and text contrast ​

Open Settings → Preview → Terminal Tab to adjust these options.

SettingWhat it does
Terminal Color SchemeChoose Match Theme, Campbell, One Half Dark, One Half Light or Solarized Light
Increase Text Contrast AutomaticallyDarken or lighten text whose color is too close to the background
Use Option as Meta KeymacOS only; off by default. When enabled, Option plus a letter sends Esc followed by the letter. When disabled, Option retains its special-character input behavior.

User docs for tessoa