Add interactive edit mode with floating popup

This commit is contained in:
Thales Maciel 2026-02-26 15:11:06 -03:00
parent b42298b9b5
commit 99f07aef82
10 changed files with 1045 additions and 46 deletions

View file

@ -67,7 +67,10 @@ Create `~/.config/aman/config.json` (or let `aman` create it automatically on fi
```json
{
"daemon": { "hotkey": "Cmd+m" },
"daemon": {
"hotkey": "Cmd+m",
"edit_hotkey": "Cmd+Shift+m"
},
"recording": { "input": "0" },
"stt": { "model": "base", "device": "cpu" },
"injection": {
@ -91,6 +94,7 @@ Hotkey notes:
- Use one key plus optional modifiers (for example `Cmd+m`, `Super+m`, `Ctrl+space`).
- `Super` and `Cmd` are equivalent aliases for the same modifier.
- `daemon.hotkey` and `daemon.edit_hotkey` must be different.
AI cleanup is always enabled and uses the locked local Llama-3.2-3B GGUF model
downloaded to `~/.cache/aman/models/` during daemon initialization.
@ -127,8 +131,21 @@ systemctl --user enable --now aman
- Press the hotkey once to start recording.
- Press it again to stop and run STT.
- Press `Esc` while recording to cancel without processing.
- `Esc` is only captured globally while dictation recording is active.
- Transcript contents are logged only when `-v/--verbose` is used.
Edit mode:
- Copy text to clipboard and press `daemon.edit_hotkey`.
- Aman opens an editable popup with the clipboard snapshot and immediately starts recording an instruction.
- If clipboard is empty, the popup opens with empty text so the first instruction can create content.
- Press `daemon.edit_hotkey` again to stop recording and apply the instruction.
- Repeat to iterate with more voice instructions.
- Press `Enter` to close the popup and inject the final text.
- Press `Ctrl+C` to copy final text to clipboard and close the popup (no injection).
- Press `Esc` to cancel the edit session completely.
- While edit mode is open, the normal dictation hotkey is ignored.
Wayland note:
- Running under Wayland currently exits with a message explaining that it is not supported yet.