Skip to content

Service & shortcuts

Install the user-session daemon:

Terminal window
skald service install
systemctl --user start skaldd

skald service install writes ~/.config/systemd/user/skaldd.service, enables it, and prints shortcut binding examples for your desktop session.

Check status:

Terminal window
skald service status
systemctl --user status skaldd

Stop or restart the service:

Terminal window
skald service stop
skald service restart

Remove the unit:

Terminal window
skald service uninstall

skald service uninstall disables the unit, stops it if running, and removes ~/.config/systemd/user/skaldd.service.

Skald does not capture global hotkeys inside the daemon. Bind your compositor or desktop environment to an external command:

ActionCommand
Toggle dictationskald toggle
Push-to-talk startskald start or skald ptt-start
Push-to-talk stopskald stop or skald ptt-stop

Example (Hyprland):

bind = $mainMod, SPACE, exec, skald toggle
bind = $mainMod, V, exec, skald start
bindr = $mainMod, V, exec, skald stop

Push-to-talk requires key-release bindings where your compositor supports them. Otherwise use toggle mode.

Import the graphical session into systemd before starting the service:

Terminal window
systemctl --user import-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP DBUS_SESSION_BUS_ADDRESS

skald service install and skald doctor print session-specific import lines when they detect a mismatch between the CLI and daemon environment.

Safe paste is supported on X11 (xdotool), Hyprland (hyprctl Shift+Insert), and Sway (wtype). GNOME Wayland, KDE Wayland, and unknown sessions default to clipboard-only output.

Skald captures the active target when recording starts, when it stops, and immediately before paste. A changed, unknown, or stale target falls back to clipboard-only with an optional notification.