Commit Graph

9 Commits

Author SHA1 Message Date
alan e5020d24fe Pin model downloads: fixed commit, SHA-256 and size checks, transfer deadline 2026-09-08 15:26:44 +01:00
alan bb215de565 Marketplace preview image 2026-09-07 12:21:18 +01:00
alan f592fe8d6a Settings: room for duplicate language names
Wider popup, slightly narrower key buttons, 'English 2' instead of 'English · 2'.
2026-09-07 01:07:30 +01:00
alan 2cf875de28 Same language more than once; timed warm microphone
- A language can be added several times, each entry with its own key,
  + Return switch and agent key (ids en, en-2, …; the keybindings list
  shows 'English 2, sends'). Rows show 'English · 2'.
- Advanced → Keep mic open: off / 2 minutes after a recording / 10 minutes /
  always. The timed options give instant starts during a burst of dictation
  while letting a Bluetooth headset return to its music profile afterwards.
2026-09-07 01:05:10 +01:00
alan 29c2e83f0c Update README.md 2026-09-07 00:47:34 +01:00
alan 1d6c2228a8 Settings: live preview tiles for the bar animation
Four tiles (bars, wave, pulse, dots) animate with a synthetic voice; click
one to pick it.
2026-09-07 00:35:03 +01:00
alan 15cd5116a2 Localized bar strings, signal-gated listening, warm microphone, animation styles
- The bar speaks the language being dictated ("Ouvindo…", "Escuchando…", …).
- Green now means real audio is arriving, not just that pw-record connected:
  a Bluetooth microphone sends silence while it switches profile, which is
  where the first words were being lost.
- Advanced → "Keep the microphone open": the stream is parked between
  recordings and a recording starts instantly with ~0.6 s of pre-roll.
- Settings → "Bar animation": bars, wave, pulse or dots.
- pw-record is shut down off the event loop so a cancel can never stall.
2026-09-07 00:31:14 +01:00
alan a07082f17b History retention, simpler history actions, microphone picker, install offer
- Settings: "Keep history" (a day … forever, default a month); older
  recordings and their audio are pruned at startup, after each recording
  and when the setting changes.
- History rows keep play, copy and delete only.
- Advanced: the microphone is picked from PipeWire's sources instead of a
  free-text field, with a note about Bluetooth headsets switching profile.
- A stock machine without voxtype gets a banner with an Install button that
  runs omarchy-voxtype-install in a floating terminal; the daemon refuses to
  record until the tools are there and says why.
2026-09-07 00:08:05 +01:00
alan f2ed66ed17 Speech to Text: Omarchy bar plugin for dictation
A bar widget plus a stdlib-only Python daemon. Press a language's key to
record, press it again to stop: the text is pasted at the cursor (or handed
to the default coding agent with a second key). While recording the bar
shows a waveform (yellow while the microphone opens, green while listening)
and the words as they are recognised; the recording is transcribed at every
pause, so stopping only transcribes the last phrase. Every recording and its
text are kept in a searchable history with playback, copy, paste and delete.

Uses Omarchy's own dictation engine (voxtype, local Whisper) by default and
downloads any model a language needs by itself; whisper.cpp or a custom
command can be picked instead. Key bindings are applied at runtime through
Hyprland's Lua API and never touch a key something else already uses.
2026-09-06 23:55:22 +01:00