Skip to main content

The notepad

Open it from the tray menu, or with sotto --notepad. Press Record, speak, and the formatted text accumulates in the window. A Copy button puts the whole thing on the clipboard. Use it when:
  • You are drafting, and want to see everything before it goes anywhere
  • The target application does not accept synthesised keystrokes
  • You are dictating into something across a remote session
  • You just want the words somewhere neutral
The formatting is identical to normal dictation — the same pause-driven paragraphs, the same commands, the same cleanup.

The command line

Sotto runs as a single background process. Invoking sotto again does not start a second copy: it forwards the command to the running one and exits.

Binding your own shortcut

sotto --toggle is the escape hatch when the built-in global shortcut is not available — on a desktop without the GlobalShortcuts portal, or when you want a compositor-level binding instead. Disable Sotto’s own shortcut in Settings → Shortcut, then bind sotto --toggle in your desktop’s shortcut settings (System Settings → Shortcuts → Custom on KDE), or in your compositor’s config on Hyprland and friends.

D-Bus

A running Sotto exposes net.mauvely.Sotto on the session bus at /Sotto, with these methods: The command-line flags above are thin wrappers over these, so anything that can talk to the session bus can drive Sotto — a hardware button, a Stream Deck, an editor plugin, a script.
The bus name doubles as the single-instance lock. That is why a second sotto invocation forwards rather than starting another process.

The tray icon

Sotto lives in the system tray. Its menu opens Settings, opens the Notepad, and quits.

Starting at login

Settings → General → Launch at login registers Sotto to start with your session, so the shortcut is available without you thinking about it.