Better universal copy / paste

Works in Nautilus and other places as expected now
This commit is contained in:
Ryan Hughes
2026-05-23 02:10:51 -04:00
parent dcfedbf89c
commit db7e393104
2 changed files with 30 additions and 3 deletions
+29 -2
View File
@@ -10,7 +10,34 @@ local function send_shortcut_once(mods, key)
end
end
o.bind("SUPER + C", "Universal copy", send_shortcut_once("CTRL", "Insert"))
o.bind("SUPER + V", "Universal paste", send_shortcut_once("SHIFT", "Insert"))
local terminal_classes = {
alacritty = true,
["com.mitchellh.ghostty"] = true,
foot = true,
kitty = true,
wezterm = true,
}
local function active_window_is_terminal()
local window = hl.get_active_window()
if not window or not window.class then
return false
end
return terminal_classes[window.class:lower()] == true
end
local function universal_clipboard_shortcut(default_mods, default_key, terminal_mods, terminal_key)
return function()
if active_window_is_terminal() then
send_shortcut_once(terminal_mods, terminal_key)()
else
send_shortcut_once(default_mods, default_key)()
end
end
end
o.bind("SUPER + C", "Universal copy", universal_clipboard_shortcut("CTRL", "C", "CTRL", "Insert"))
o.bind("SUPER + V", "Universal paste", universal_clipboard_shortcut("CTRL", "V", "SHIFT", "Insert"))
o.bind("SUPER + X", "Universal cut", send_shortcut_once("CTRL", "X"))
o.bind("SUPER + CTRL + V", "Clipboard manager", "omarchy-shell shell toggle omarchy.clipboard")