mirror of
https://github.com/prdlk/noctalia-ostt.git
synced 2026-08-02 17:41:38 +00:00
82 lines
2.5 KiB
TOML
82 lines
2.5 KiB
TOML
# OSTT voice-to-text for the Noctalia bar.
|
|
#
|
|
# A bar widget that toggles an ostt (https://github.com/kristoferlund/ostt)
|
|
# recording headlessly — no popup terminal — and shows a live record indicator
|
|
# while the microphone is capturing. Transcriptions default to being pasted
|
|
# into the focused app (ostt --paste).
|
|
#
|
|
# recorder [[widget]] the bar capsule: indicator + click-to-toggle
|
|
# monitor [[service]] polls ostt's recording.pid and publishes status
|
|
#
|
|
# Hotkey integration (compositor keybind):
|
|
# noctalia msg plugin prdlk/ostt:recorder focused toggle
|
|
|
|
id = "prdlk/ostt"
|
|
name = "OSTT"
|
|
version = "1.0.0"
|
|
min_noctalia = "5.0.0"
|
|
author = "prdlk"
|
|
license = "MIT"
|
|
dependencies = []
|
|
tags = ["audio", "voice", "speech-to-text", "productivity"]
|
|
icon = "microphone"
|
|
description = "Voice-to-text with OSTT: click the mic (or bind a hotkey) to record, click again to transcribe and paste straight into the focused app. Shows a red record indicator while the microphone is live."
|
|
|
|
[[widget]]
|
|
id = "recorder"
|
|
entry = "recorder.luau"
|
|
|
|
[[widget.setting]]
|
|
key = "output_mode"
|
|
type = "select"
|
|
label_key = "settings.output_mode.label"
|
|
description_key = "settings.output_mode.description"
|
|
default = "paste"
|
|
options = [
|
|
{ value = "paste", label_key = "settings.output_mode.paste" },
|
|
{ value = "clipboard", label_key = "settings.output_mode.clipboard" },
|
|
]
|
|
|
|
[[widget.setting]]
|
|
key = "model"
|
|
type = "string"
|
|
label_key = "settings.model.label"
|
|
description_key = "settings.model.description"
|
|
default = ""
|
|
|
|
[[widget.setting]]
|
|
key = "process_action"
|
|
type = "string"
|
|
label_key = "settings.process_action.label"
|
|
description_key = "settings.process_action.description"
|
|
default = ""
|
|
|
|
[[widget.setting]]
|
|
key = "show_elapsed"
|
|
type = "bool"
|
|
label_key = "settings.show_elapsed.label"
|
|
description_key = "settings.show_elapsed.description"
|
|
default = true
|
|
|
|
[[widget.setting]]
|
|
key = "notify_on_done"
|
|
type = "bool"
|
|
label_key = "settings.notify_on_done.label"
|
|
description_key = "settings.notify_on_done.description"
|
|
default = true
|
|
|
|
[[widget.setting]]
|
|
key = "extra_args"
|
|
type = "string"
|
|
label_key = "settings.extra_args.label"
|
|
description_key = "settings.extra_args.description"
|
|
default = ""
|
|
advanced = true
|
|
|
|
# Headless poller: watches ostt's recording.pid (works for recordings started
|
|
# by the widget, a hotkey IPC, or a plain `ostt launch` outside Noctalia) and
|
|
# publishes { phase, elapsed } to the plugin state channel for the widget(s).
|
|
[[service]]
|
|
id = "monitor"
|
|
entry = "monitor.luau"
|