* Add selectable dictation backends * Move dictation migration after repository priority update * Extract backend-specific dictation installers * Keep dictation installer dispatcher executable * Call dictation backend installers directly * Drop legacy Superwhisper migration and runtime cleanup * Separate dictation defaults from generic recording protocol * Add backend-specific dictation removers * Preserve existing Voxtype selection during upgrade * Make dictation backend selection safe and retryable * Show the dictation indicator only for selected Voxtype * Allow switching away from stopped Superwhisper * Remove the built-in bar dictation indicator * Store default dictation selection under defaults * Rename dictation backend selector to use * Move dictation removers into their own menu category
25 lines
753 B
Lua
25 lines
753 B
Lua
-- Backends may supply their own desktop integration without editing the
|
|
-- user's Hyprland config. Recording bindings remain owned by Omarchy.
|
|
local paths = require("default.hypr.paths")
|
|
local pipe = io.popen("omarchy-default-dictation 2>/dev/null", "r")
|
|
if not pipe then
|
|
return
|
|
end
|
|
|
|
local backend = pipe:read("*l")
|
|
pipe:close()
|
|
|
|
if not backend or not backend:match("^[%w%-]+$") or o.cmd_missing("omarchy-dictation-" .. backend) then
|
|
return
|
|
end
|
|
|
|
local integration = paths.config_home .. "/" .. backend .. "/shortcuts.lua"
|
|
local file = io.open(integration, "r")
|
|
if file then
|
|
file:close()
|
|
local ok, error = pcall(dofile, integration)
|
|
if not ok then
|
|
print("Could not load dictation backend " .. backend .. ": " .. tostring(error))
|
|
end
|
|
end
|