diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-19 11:36:00 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-19 11:36:00 +0200 |
| commit | 2d51494f7aa574da3b054a8bbdcf2532ff32a71f (patch) | |
| tree | 9fab3f2a50b69ba7fc15693e17734bec878bb1ae /desktop/assistant/Assistant.qml | |
| parent | c1fc2001219eb9aa349439b3007b57e1ced25335 (diff) | |
| download | quickshell-2d51494f7aa574da3b054a8bbdcf2532ff32a71f.tar.gz quickshell-2d51494f7aa574da3b054a8bbdcf2532ff32a71f.zip | |
assistant: grey out the mic when the model cannot hear
AssistantModule keeps each router model's input_modalities and exposes
hears: the model loading, else the first not unloaded (the daemon's
rule), reports audio. Unknown inputs or a router that is down count as
yes; the daemon's error covers the rest. The model list is now read on
every canvas open, not only when a preferred model is set, so hears is
current when the card shows.
Checked: the rule against the router's live /models (Gemma resident:
on; Qwen resident or loading: off; router down: on). Not yet seen by
eye after a desktop shell reload.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/assistant/Assistant.qml')
| -rw-r--r-- | desktop/assistant/Assistant.qml | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/desktop/assistant/Assistant.qml b/desktop/assistant/Assistant.qml index 865f157..c4d0771 100644 --- a/desktop/assistant/Assistant.qml +++ b/desktop/assistant/Assistant.qml @@ -212,9 +212,12 @@ Scope { property var mic: null // the recording's Process, null when not recording property int micSecs: 0 readonly property bool recording: root.mic !== null + // Whether the model in use takes audio. Set from shell.qml. + property bool hears: true function record() { - if (root.recording || !root.connected || root.busy || root.opRunning || root.blocked) return; + if (root.recording || !root.connected || !root.hears || root.busy || root.opRunning + || root.blocked) return; root.notice = ""; root.micSecs = 0; root.mic = micRun.createObject(root); |
