Add voice dictation with voxtype (#4088)

* Try with voxtype

* Update delay to prevent skipped characters

* Add removal of voxtype

* Use -bin package

* Fix for yay

* Nerdicons!

* Use new, subtle nerdfont glyphs instead of standard icons

* Do this in the waybar config instead

* Make voxtype a permanent fixture so it is not lost on waybar resets

* Record purpose

* Add Dictation hotkeys

* Tweak wording and point to config

* Reuse the same help

* Better communication

* Anticipate moving the package to OPR

* Clarify where the packages are coming from

* input group not needed when using hyprland hotkey

* Explain hotkey off

* Allow for changing of the model on right click

* Allow config on right click

* Be more specific

* Focus on config editing with waybar clicks

---------

Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
This commit is contained in:
David Heinemeier Hansson
2026-01-06 13:00:19 +01:00
committed by GitHub
parent e3cd567f6f
commit 0d42f1bafe
12 changed files with 263 additions and 6 deletions

60
migrations/1767685679.sh Normal file
View File

@@ -0,0 +1,60 @@
echo "Add voxtype to waybar"
patch -N ~/.config/waybar/style.css << 'EOF'
--- a/waybar/style.css
+++ b/waybar/style.css
@@ -74,10 +74,16 @@ tooltip {
#custom-screenrecording-indicator {
min-width: 12px;
- margin-left: 8.75px;
+ margin-left: 5px;
font-size: 10px;
+ padding-bottom: 1px;
}
#custom-screenrecording-indicator.active {
color: #a55555;
}
+
+#custom-voxtype {
+ min-width: 12px;
+ margin: 0 0 0 7.5px;
+}
EOF
patch -N ~/.config/waybar/config.jsonc << 'EOF'
--- a/waybar/config.jsonc
+++ b/waybar/config.jsonc
@@ -5,7 +5,7 @@
"spacing": 0,
"height": 26,
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
- "modules-center": ["clock", "custom/update", "custom/screenrecording-indicator"],
+ "modules-center": ["clock", "custom/update", "custom/voxtype", "custom/screenrecording-indicator"],
"modules-right": [
"group/tray-expander",
"bluetooth",
@@ -140,6 +140,19 @@
"signal": 8,
"return-type": "json"
},
+ "custom/voxtype": {
+ "exec": "omarchy-voxtype-status",
+ "return-type": "json",
+ "format": "{icon}",
+ "format-icons": {
+ "idle": "",
+ "recording": "󰍬",
+ "transcribing": "󰔟"
+ },
+ "tooltip": true,
+ "on-click-right": "omarchy-voxtype-config",
+ "on-click": "omarchy-voxtype-model"
+ },
"tray": {
"icon-size": 12,
"spacing": 17
EOF
omarchy-restart-waybar