About
noctwhspr
Noctalia companion for hyprwhspr — native speech-to-text for Linux. hyprwhspr is fast, accurate, private, system-wide dictation: press a hotkey, talk, and your words land in whatever you were typing — transcribed by local in-memory models (Whisper, Parakeet) that never leave your machine, or by top cloud APIs if you point it there. Its visuals even theme themselves to match your Noctalia theme.
This plugin puts hyprwhspr on your bar: the widget shows the dictation state at a glance, left-click starts or stops a recording, and right-click restarts the hyprwhspr service if it ever gets stuck.
Plugin
| Field | Value |
|---|---|
| ID | goodroot/noctwhspr |
| Entries | Bar widget: status |
Requirements
Install hyprwhspr and set it up so
its hyprwhspr.service systemd user service exists. The widget drives
hyprwhspr's own tray script (hyprwhspr-tray.sh), which it looks up under the
install root — /usr/lib/hyprwhspr for the Arch/AUR package. Nothing else is
needed; the widget has no network access of its own.
Usage
Enable the plugin in Settings → Plugins, then add the status widget to your
bar in Settings → Bar.
The glyph tracks the dictation state reported by hyprwhspr:
| Glyph | State |
|---|---|
| Filled record dot (error color) | Recording — dictation is capturing audio |
| Microphone (primary color) | Ready — service is up, waiting for a hotkey or click |
| Zzz | Model unloaded — first recording will load it |
| Microphone off | Service stopped |
| Warning triangle | Error — the tooltip explains what is wrong |
Interactions:
- Left-click — toggle recording (same as the hyprwhspr hotkey). If the service is stopped, this starts it first.
- Right-click — restart the
hyprwhspr.servicesystemd user service. - Hover — the tooltip shows the detailed status line, including error reasons when something is wrong.
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
root |
string |
/usr/lib/hyprwhspr |
Directory hyprwhspr is installed under. Leave at the default unless hyprwhspr lives at a non-standard prefix; HYPRWHSPR_ROOT in Noctalia's environment is also honored. |
Notes
- The widget is a thin shim over hyprwhspr's tray script — the same script
that backs its Waybar module — so state detection stays in one place. It
polls
<root>/config/hyprland/hyprwhspr-tray.sh statusevery 2 seconds and renders the returned JSON. - Spawned processes: the tray script on every poll and click; the script in
turn queries
systemctl --userand hyprwhspr's runtime state files. Right-click runssystemctl --user restart hyprwhspr.servicethrough the script. No network calls and no filesystem writes are made by the plugin itself. - If the widget shows "hyprwhspr not found", hyprwhspr is not installed at
the configured root — point the
rootsetting at your install prefix. - Works on any compositor Noctalia runs on; the
hyprlandin the script path is historical, hyprwhspr itself supports Hyprland, Niri and friends.
Versions
| Version | Plugin API | Updated |
|---|---|---|
| v1.0.0 latest | 3 | Jul 16, 2026 |
Older versions stay installable on a Noctalia release whose plugin API is below the latest version's.