Support clipboard shortcuts in shell panels
This commit is contained in:
@@ -1,12 +1,10 @@
|
|||||||
-- Work around Hyprland send_shortcut sometimes leaving synthetic key state stuck/repeating.
|
-- Send through the virtual keyboard so universal clipboard shortcuts reach
|
||||||
-- https://github.com/hyprwm/Hyprland/discussions/14099
|
-- both normal windows and focused layer-shell surfaces such as Omarchy panels.
|
||||||
|
-- Hyprland's send_key_state with window = "activewindow" cannot target layers.
|
||||||
local function send_shortcut_once(mods, key)
|
local function send_shortcut_once(mods, key)
|
||||||
return function()
|
return function()
|
||||||
hl.dispatch(hl.dsp.send_key_state({ mods = mods, key = key, state = "down", window = "activewindow" }))
|
local modifier = mods:lower()
|
||||||
|
hl.dispatch(hl.dsp.exec_cmd("wtype -M " .. modifier .. " -k " .. key:lower() .. " -m " .. modifier))
|
||||||
hl.timer(function()
|
|
||||||
hl.dispatch(hl.dsp.send_key_state({ mods = mods, key = key, state = "up", window = "activewindow" }))
|
|
||||||
end, { timeout = 50, type = "oneshot" })
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -105,6 +105,15 @@ grep -Fq $'SUPER + RETURN Terminal' <<<"$fresh_output" || fail "default applicat
|
|||||||
grep -Fq $'SUPER + SHIFT + A ChatGPT' <<<"$fresh_output" || fail "default application bindings include preinstalled web apps"
|
grep -Fq $'SUPER + SHIFT + A ChatGPT' <<<"$fresh_output" || fail "default application bindings include preinstalled web apps"
|
||||||
pass "default application bindings load from package defaults"
|
pass "default application bindings load from package defaults"
|
||||||
|
|
||||||
|
grep -F 'hl.dsp.exec_cmd("wtype -M " .. modifier .. " -k " .. key:lower() .. " -m " .. modifier)' "$ROOT/default/hypr/bindings/clipboard.lua" >/dev/null ||
|
||||||
|
fail "universal clipboard shortcuts use the virtual keyboard"
|
||||||
|
pass "universal clipboard shortcuts reach focused layer-shell fields"
|
||||||
|
|
||||||
|
if grep -F 'hl.dsp.send_key_state' "$ROOT/default/hypr/bindings/clipboard.lua" >/dev/null; then
|
||||||
|
fail "universal clipboard shortcuts do not target only normal windows"
|
||||||
|
fi
|
||||||
|
pass "universal clipboard shortcuts do not exclude layer-shell fields"
|
||||||
|
|
||||||
removed_home="$tmpdir/removed-home"
|
removed_home="$tmpdir/removed-home"
|
||||||
mkdir -p "$removed_home/.local/state/omarchy"
|
mkdir -p "$removed_home/.local/state/omarchy"
|
||||||
touch "$removed_home/.local/state/omarchy/preinstalls-removed"
|
touch "$removed_home/.local/state/omarchy/preinstalls-removed"
|
||||||
|
|||||||
Reference in New Issue
Block a user