feat: manage Handy preferences and startup declaratively
This commit is contained in:
1 parent
345ef7c56c
commit
0992f3b863
6 files changed
+74
-46
No files matched your search
+23
-34
@@ -119,40 +119,29 @@ reports are not a fresh comparison with this baseline.
|
||||
## Open choices and next discussion
|
||||
|
||||
Dictation: plain local transcription is selected; rambling cleanup is deferred.
|
||||
The shared Niri module installs Handy and starts it hidden with the desktop.
|
||||
Super+D toggles recording; Super+Shift+D cancels. Commands were verified against
|
||||
the pinned Handy 0.9.1 source. No microphone recording or model download was run.
|
||||
After user activation, launch Handy from Walker, download/select Parakeet V3,
|
||||
keep automatic language detection and disable push-to-talk for toggle operation.
|
||||
In Advanced, choose paste method None and clipboard handling Copy to Clipboard.
|
||||
Keep post-processing disabled. Settings/models remain writable app-owned state.
|
||||
Start Handy manually for the current session; desktop autostart applies on login.
|
||||
Try an English and a Dutch recording, paste into Codex with Ctrl+Shift+V, then
|
||||
submit manually. User feedback needed: recognition accuracy, delay and shortcut
|
||||
delivery. Automatic paste can follow if wanted after checking Niri compatibility.
|
||||
Verification: formatting, flake evaluation, Zenith and Polaris no-link system
|
||||
builds, and whitespace checks passed. No system activation or interactive
|
||||
dictation was performed; recognition quality and latency remain unmeasured.
|
||||
First-use diagnosis: Handy was set to Nemotron, Direct Input, Don't Modify
|
||||
Clipboard and push-to-talk. One recording transcribed but output used X11 input
|
||||
simulation; other recordings returned zero usable samples. Default digital mic
|
||||
is unmuted. Set None + Copy to Clipboard and retry a full sentence; microphone
|
||||
selection/voice detection needs further checking if History stays empty.
|
||||
Niri Super+D invokes a forced toggle, independent of Handy's push-to-talk setting;
|
||||
Handy's Ctrl+Space global binding is not the Niri binding. Keep the user's minimal
|
||||
overlay. Noctalia's native microphone filter suppresses all microphone activity
|
||||
popups/indicators, while camera and screen-sharing indications remain enabled.
|
||||
The Noctalia change passed formatting, flake evaluation and both workstation
|
||||
builds; user activation and the clipboard retry remain pending.
|
||||
Automatic paste: Niri now includes wtype, which Handy natively uses to deliver
|
||||
Wayland paste shortcuts. Set Paste Method to Ctrl+Shift+V for Kitty, keep automatic
|
||||
submission off, and restart Handy after activation. Interactive delivery remains
|
||||
unverified. Handy 0.9.1 supports Overlay Style Live with streaming models; the
|
||||
selected Nemotron Streaming 3.5 is a suitable candidate. Minimal hides live text.
|
||||
This supersedes the initial Parakeet V3/clipboard-only recommendation when live
|
||||
feedback and automatic paste are wanted; no custom input script is needed.
|
||||
The wtype addition passed formatting, flake evaluation, both workstation builds
|
||||
and whitespace checking. Activation and the interactive paste trial are pending.
|
||||
Handy preferences are Nix-owned in `modules/capabilities/handy.nix`: Nemotron
|
||||
Streaming 3.5, automatic language detection, default microphone, Live overlay at
|
||||
the bottom, Ctrl+Shift+V paste through wtype, preserved clipboard, manual submission
|
||||
and no cloud processing. Other preferences use pinned app defaults. A user service
|
||||
copies the baseline into Handy's writable store on each start, allowing migrations
|
||||
while resetting GUI edits. Models/recordings stay outside Nix; the selected model
|
||||
is already downloaded on Zenith. Other hosts still need model provisioning.
|
||||
Super+Shift+D toggles; Super+Ctrl+D cancels. Super+D push-to-talk awaits the user's
|
||||
decision about a keyboard listener: Niri 26.04 has no key-release bindings.
|
||||
Noctalia suppresses microphone activity popups/indicators; camera and screen-sharing
|
||||
indications remain. Automatic paste and live capture need interactive checks.
|
||||
|
||||
Hang investigation: stopping live Vulkan transcription never completed; cancel
|
||||
returned the UI to idle but subsequent requests reported pipeline busy. Handy was
|
||||
no longer running when inspected; no crash cause is established. The same saved
|
||||
1.56-second recording completed in CPU batch mode (135 ms inference, 729 ms load)
|
||||
and Vulkan batch mode (156 ms inference, 420 ms load). This checks model inference,
|
||||
not live capture/stop/cancel. No new audio was recorded. Switching to CPU is not a
|
||||
confirmed fix. After activation, retry live recording and stopping, and inspect
|
||||
the service logs if it hangs.
|
||||
Verification: formatting, flake evaluation, both workstation builds and whitespace
|
||||
checks passed. Handy loaded the generated settings in an isolated data directory
|
||||
without settings parse errors. System activation remains user-owned and pending.
|
||||
|
||||
The focus is the broader environment, not further API/database polish. Candidate
|
||||
areas remain places/ownership, navigation/interaction, human/agent collaboration,
|
||||
|
||||
@@ -29,8 +29,8 @@ use a flake to declare its tools without Nix owning the surrounding workspace.
|
||||
interaction with useful connections to the rest of the environment.
|
||||
- Use Handy for local plain dictation, mainly English with occasional Dutch.
|
||||
Use native Wayland automatic paste and optional live text with a streaming model.
|
||||
Niri owns recording shortcuts;
|
||||
model downloads and microphone preferences remain application-owned. Cleanup
|
||||
Nix owns Handy preferences and desktop integration; the user service restores
|
||||
settings on each start. Model downloads and recordings remain application data. Cleanup
|
||||
through Codex, a cloud API or a local language model is deferred.
|
||||
- Outlook is acceptable as an application, but its interaction and integration
|
||||
do not fit as naturally. Accessible mail for tools and agents matters separately
|
||||
|
||||
Reference in new issue
Block a user