sshs3 Docs
v0.9 sshs3.com ↗ GitHub ↗

Configuration, Settings & Shortcuts

Reference & Platform Target Platforms: All Platforms Last Updated: 2026-10-25 10:40
Full field reference across all 7 configuration panels, 2D Spatial Keyboard Navigation, and rebindable keyboard shortcuts.

This chapter provides a complete reference across all configuration panels in sshs3, details the 2D Spatial Keyboard Navigation system, and includes an autogenerated reference table of all keyboard shortcuts extracted directly from the application source code.

Settings Overview
Settings Overview

1. Global Preferences Panels (Ctrl+,)

Access the preferences dialog via the gear icon in the top toolbar or via the keyboard shortcut Ctrl+,.

Instant Settings Filter

The Settings modal features a real-time search filter at the top of the sidebar. Typing a search keyword filters across all 10 settings categories, option titles, and descriptions dynamically, allowing you to jump straight to any configuration option in under two seconds.

1.1 General & Appearance

General Settings
General Settings
  • Color Theme: Dark (slate dark), Light (clean gray), Breeze (KDE-inspired theme with cyan accents), or System (tracks OS dark/light mode).
  • Default Tab Type: Whether opening a blank tab launches a Terminal or a File Manager.
  • Confirm Before Quitting: Warns if active terminal sessions or background file transfers are in progress when closing the window.
  • Check for Updates Automatically: Checks GitHub Releases in the background every 6 hours; Check now, Download, and Restart and install are explicit actions. Permanently locked off when SSHS3_DISABLE_UPDATES=1 is set.
  • Application Logging: Configures log verbosity (Errors only, Warnings, Normal, Debug). Rotated at 5 MB (last 5 kept). PINs, passwords, and private keys are strictly never logged.

1.2 Terminal

Terminal Settings
Terminal Settings
  • Typography: Configurable font family and font size with live preview render.
  • Cursor Style: Block, Underline, or Vertical Bar.
  • Scrollback Buffer: Retained history per terminal pane (default 5,000 lines). Searchable with Ctrl+Shift+S.
  • Copy on Selection: Automatically stores highlighted text in the encrypted clipboard history. Scope can be Global or Per Host.
  • Session End Behavior: Reconnect (Default), Close Tab Immediately, or Keep Open.
  • Local Terminal SSH Agent: Selects $SSH_AUTH_SOCK injection for local workstation shell tabs: Auto (AppAgent under Global PIN caching), System Only, or Disabled.
  • Keep ~/.ssh/config in Sync: On by default. Maintains a marked block in your local ~/.ssh/config at startup and whenever an SSH profile is saved, deleted or imported, so ssh <profile> works in any external terminal. Only the sshs3 block is touched.

1.3 Performance

  • Show Performance Bar Above Terminals: Toggles real-time host telemetry. Select layout (Compact Text, Bars, Sparklines), update interval (2s, 5s, 10s, 30s), and custom metrics.

1.4 Files & Storage

  • Show Hidden Files and Dotfiles: Toggles visibility of hidden files (.git, .env).
  • Confirm Before Deleting Files and Folders and Verify File Integrity and Size After Transfer: Both on by default.
  • Default Conflict Resolution: Automatic policy for filename collisions: Ask (default), Overwrite, Skip, or Rename.
  • File Transfer Concurrency: Transfers execute with up to 3 parallel file streams with automatic backpressure management.
  • Dotfiles Pool Sync: Opt-in session staging for personal shell configuration files.

1.5 Security & Smartcard

  • PIN Caching Policy: Always Prompt (Default), Once Per Terminal Connection, or Global (App Lifetime). Under Global, all unlocked smartcards and FIDO2 keys reside in a single app-wide ssh-agent (AppAgent).
  • Detected PKCS#11 Libraries: Scans system libraries (p11-kit, opensc, libykcs11, Net iD) with 1-click Rescan.

1.6 Kubernetes & Debug

  • Red Hat OpenShift support toggle, default diagnostic container presets for kubectl debug (Netshoot, RHEL Support Tools, BusyBox, Curl, Ubuntu).

2. 2D Spatial Keyboard Navigation & Mouse-Free Ergonomics

The application is engineered to be fully operable without a mouse:

Spatial Focus Navigation (Ctrl+Shift+Arrows)

  • Shifts focus spatially in the direction of the pressed arrow across split panes, tabs, dual file manager panes, menus, and dialogs.
  • Tab Bar Escape: Pressing Ctrl+Shift+Up from the top row of splits moves focus directly into the Tab Bar (where Left/Right switches active tabs, and Down or Enter returns focus into the active tab).
  • In Dialogs & Modals: Ctrl+Shift+Arrows moves focus between fields, dropdowns, and buttons even while typing inside a text input field!

Universal Keyboard Actions

  • Open / Execute (Enter): Activates whatever element is currently focused: enters folders, connects profiles, toggles checkboxes, and clicks focused buttons.
  • Dismiss / Back (Escape): Closes open menus, popups, and modal dialogs, cleanly restoring keyboard focus back to the exact element or terminal pane you came from.
  • Tab Navigation (Ctrl+1…Ctrl+8, Ctrl+9 for last tab): Direct jumping to open workspace tabs.

Technical Architecture: 2D Geometric Spatial Scoring

spatialNavigation.ts reads the bounding boxes (getBoundingClientRect) of all candidate focusable elements. For the pressed arrow, it scores each candidate in that direction by its gap along the axis plus a weighted orthogonal offset (candidates that do not overlap the current element are penalized). The candidate with the lowest geometric score wins focus.


3. Keyboard Shortcuts Reference Table

Shortcuts Settings
Shortcuts Settings
Tip

If your desktop environment (e.g. GNOME or Windows) binds a combination globally, rebind the action under Settings → Keyboard Shortcuts.

Note

The window cannot be made smaller than 1024 × 600 pixels; at the minimum width the file manager toolbar wraps onto a second row.

Note

The table below is autogenerated directly from the application source code during every documentation build to guarantee 100% accuracy with runtime keybindings.

Action / CommandDefault ShortcutCategoryInternal Action ID
New TerminalCtrl+Shift+TTabsnewTerminal
New File ManagerCtrl+Shift+FTabsnewFileManager
New Remote File ManagerCtrl+Alt+Shift+FTabsnewRemoteFileManager
New WindowCtrl+Alt+Shift+NTabsnewWindow
Tab Actions (Move to Window)Ctrl+Alt+Shift+KTabsopenTabMenu
Move Tab to New WindowCtrl+Alt+Shift+MTabsmoveTabToNewWindow
Close TabCtrl+Shift+WTabscloseTab
Next TabCtrl+TabTabsnextTab
Previous TabCtrl+Shift+TabTabsprevTab
Keyboard ShortcutsCtrl+Shift+HGeneralshowShortcuts
Connection ManagerCtrl+Shift+OGeneralopenProfiles
SettingsCtrl+,GeneralopenSettings
Navigate Left (Split / Panel)Ctrl+Shift+LeftGeneralnavigateLeft
Navigate Right (Split / Panel)Ctrl+Shift+RightGeneralnavigateRight
Navigate Up (Split / To Tabs)Ctrl+Shift+UpGeneralnavigateUp
Navigate Down (Split / Into Tab)Ctrl+Shift+DownGeneralnavigateDown
Split Terminal VerticallyCtrl+Shift+DTerminalsplitVertical
Split Terminal HorizontallyCtrl+Shift+ETerminalsplitHorizontal
Close Split PaneCtrl+Alt+Shift+WTerminalclosePane
Zoom Split PaneCtrl+Shift+ZTerminalzoomPane
Next Split PaneCtrl+Shift+NTerminalnextPane
Previous Split PaneCtrl+Shift+PTerminalprevPane
Increase Font SizeCtrl++TerminalincreaseFontSize
Decrease Font SizeCtrl+-TerminaldecreaseFontSize
Reset Font SizeCtrl+0TerminalresetFontSize
Clipboard HistoryCtrl+Shift+RTerminalclipboardHistory
Search in TerminalCtrl+Shift+STerminalterminalSearch
Copy Last Command OutputCtrl+Shift+YTerminalcopyLastOutput
Re-run Last Command with sudoCtrl+Shift+XTerminalrerunWithSudo
SnippetsCtrl+Shift+LTerminalsnippets
Search in FilesCtrl+Shift+KGeneralsearchInFiles

4. Troubleshooting & Diagnostics

Symptom / ErrorProbable Root CauseCorrective Action
Settings do not persist after restartFile permissions locked on settings.jsonCheck permissions on ~/.config/sshs3/settings.json.
Shortcut conflicts with window managerGlobal OS hotkey intercepts keydown eventOpen Settings → Keyboard Shortcuts, click the action, and record a custom combination.
Terminal text appears distortedSelected font is proportionalChoose a fixed-width monospace font (e.g. JetBrains Mono, Fira Code, Consolas).