37 lines
1 KiB
Lua
37 lines
1 KiB
Lua
|
|
local helper = jarvis.context.command_path .. "\\_window_helper.ps1"
|
||
|
|
local cmd_id = jarvis.context.command_id
|
||
|
|
|
||
|
|
local combos = {
|
||
|
|
show_desktop = "win+d",
|
||
|
|
maximize_window = "win+up",
|
||
|
|
minimize_window = "win+down",
|
||
|
|
snap_left = "win+left",
|
||
|
|
snap_right = "win+right",
|
||
|
|
close_window = "alt+f4",
|
||
|
|
restore_all = "win+shift+m",
|
||
|
|
task_view = "win+tab",
|
||
|
|
}
|
||
|
|
|
||
|
|
local combo = combos[cmd_id]
|
||
|
|
if not combo then
|
||
|
|
jarvis.log("error", "window/dispatch.lua: unknown command_id: " .. tostring(cmd_id))
|
||
|
|
jarvis.audio.play_error()
|
||
|
|
return { chain = false }
|
||
|
|
end
|
||
|
|
|
||
|
|
local cmd = string.format(
|
||
|
|
'powershell -NoProfile -ExecutionPolicy Bypass -File "%s" -Combo "%s"',
|
||
|
|
helper, combo
|
||
|
|
)
|
||
|
|
local res = jarvis.system.exec(cmd)
|
||
|
|
|
||
|
|
if res.success then
|
||
|
|
jarvis.log("info", "window cmd " .. cmd_id .. " (" .. combo .. ")")
|
||
|
|
jarvis.audio.play_ok()
|
||
|
|
else
|
||
|
|
jarvis.log("error", "window cmd " .. combo .. " failed: " .. tostring(res.stderr))
|
||
|
|
jarvis.audio.play_error()
|
||
|
|
end
|
||
|
|
|
||
|
|
return { chain = false }
|