Files
nix-config/dotfiles/hypr-desk/source/binds.lua
T
smayzy 19ec68c058
nixos config pipeline / show-flake (push) Successful in 17s
nixos config pipeline / deploy (push) Successful in 7s
add lua config for hyprland
2026-08-15 05:12:00 +02:00

104 lines
5.2 KiB
Lua

------------------------------------
--- USE WEV TO GET THE KEYS CODE ---
------------------------------------
--------------------
--- KEYBINDINGSS ---
--------------------
-- MainMod
mainMod = "SUPER"
-- exec
hl.bind(mainMod .. " + comma", hl.dsp.exit())
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen())
hl.bind(mainMod .. " + T", hl.dsp.window.float())
hl.bind(mainMod .. " + C", hl.dsp.window.close())
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd("kitty"))
hl.bind(mainMod .. " + A", hl.dsp.exec_cmd("alacritty"))
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd("dolphin"))
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd("wofi --show drun"))
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("wlogout"))
-- Quick
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("obsidian"))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("virt-manager"))
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("virt-manager"))
-- Reload waybar
hl.bind(mainMod .. " + SHIFT + B", hl.dsp.exec_cmd("killall waybar && waybar &"))
-- Hide waybar
hl.bind(mainMod .. " + X", hl.dsp.exec_cmd("pkill waybar || waybar"))
-- Clipboard history
hl.bind(mainMod .. " + V", hl.dsp.exec_cmd("cliphist list | wofi -dmenu | cliphist decode | wl-copy"))
-- Screenshot to clipboard
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd("grim -g \"$(slurp -d)\" - | wl-copy"))
-- Move focus with mainMod + arrow keys
hl.bind(mainMod .. " + h", hl.dsp.focus({direction = "left"}))
hl.bind(mainMod .. " + l", hl.dsp.focus({direction = "right"}))
hl.bind(mainMod .. " + k", hl.dsp.focus({direction = "up"}))
hl.bind(mainMod .. " + j", hl.dsp.focus({direction = "down"}))
-- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- Resize Windows
hl.bind(mainMod .. " + CTRL + h", hl.dsp.window.resize({ x = -20 , y = 0 }))
hl.bind(mainMod .. " + CTRL + l", hl.dsp.window.resize({ x = 20 , y = 0 }))
hl.bind(mainMod .. " + CTRL + k", hl.dsp.window.resize({ x = 0 , y = -20}))
hl.bind(mainMod .. " + CTRL + j", hl.dsp.window.resize({ x = 0 , y = 20 }))
-- Set default workspace
hl.workspace_rule({workspace = "1", monitor = "DP-1", default = true})
hl.workspace_rule({workspace = "2", monitor = "DP-1"})
hl.workspace_rule({workspace = "3", monitor = "DP-1"})
hl.workspace_rule({workspace = "4", monitor = "DP-1"})
hl.workspace_rule({workspace = "5", monitor = "DP-1"})
hl.workspace_rule({workspace = "6", monitor = "DP-1"})
hl.workspace_rule({workspace = "7", monitor = "DP-1"})
hl.workspace_rule({workspace = "8", monitor = "DP-1"})
hl.workspace_rule({workspace = "9", monitor = "DP-1"})
hl.workspace_rule({workspace = "10", monitor = "DP-1"})
hl.workspace_rule({workspace = "11", monitor = "DP-2", default = true})
hl.workspace_rule({workspace = "12", monitor = "DP-2"})
hl.workspace_rule({workspace = "13", monitor = "DP-2"})
hl.workspace_rule({workspace = "14", monitor = "DP-2"})
-- Switch workspaces
hl.bind(mainMod .. " + ampersand", hl.dsp.focus({ workspace = "1"}))
hl.bind(mainMod .. " + eacute", hl.dsp.focus({ workspace = "2"}))
hl.bind(mainMod .. " + quotedbl", hl.dsp.focus({ workspace = "3"}))
hl.bind(mainMod .. " + apostrophe", hl.dsp.focus({ workspace = "4"}))
hl.bind(mainMod .. " + parenleft", hl.dsp.focus({ workspace = "5"}))
hl.bind(mainMod .. " + minus", hl.dsp.focus({ workspace = "6"}))
hl.bind(mainMod .. " + egrave", hl.dsp.focus({ workspace = "7"}))
hl.bind(mainMod .. " + underscore", hl.dsp.focus({ workspace = "8"}))
hl.bind(mainMod .. " + ccedilla", hl.dsp.focus({ workspace = "9"}))
hl.bind(mainMod .. " + agrave", hl.dsp.focus({ workspace = "10"}))
hl.bind(mainMod .. " + dead_circumflex", hl.dsp.focus({ workspace = "11"}))
hl.bind(mainMod .. " + dollar", hl.dsp.focus({ workspace = "12"}))
hl.bind(mainMod .. " + ugrave", hl.dsp.focus({ workspace = "13"}))
hl.bind(mainMod .. " + asterisk", hl.dsp.focus({ workspace = "14"}))
-- Move active window to a workspace
hl.bind(mainMod .. " + SHIFT + ampersand", hl.dsp.window.move({ workspace = "1"}))
hl.bind(mainMod .. " + SHIFT + eacute", hl.dsp.window.move({ workspace = "2"}))
hl.bind(mainMod .. " + SHIFT + quotedbl", hl.dsp.window.move({ workspace = "3"}))
hl.bind(mainMod .. " + SHIFT + apostrophe", hl.dsp.window.move({ workspace = "4"}))
hl.bind(mainMod .. " + SHIFT + parenleft", hl.dsp.window.move({ workspace = "5"}))
hl.bind(mainMod .. " + SHIFT + minus", hl.dsp.window.move({ workspace = "6"}))
hl.bind(mainMod .. " + SHIFT + egrave", hl.dsp.window.move({ workspace = "7"}))
hl.bind(mainMod .. " + SHIFT + underscore", hl.dsp.window.move({ workspace = "8"}))
hl.bind(mainMod .. " + SHIFT + ccedilla", hl.dsp.window.move({ workspace = "9"}))
hl.bind(mainMod .. " + SHIFT + agrave", hl.dsp.window.move({ workspace = "10"}))
hl.bind(mainMod .. " + SHIFT + dead_circumflex", hl.dsp.window.move({ workspace = "11"}))
hl.bind(mainMod .. " + SHIFT + dollar", hl.dsp.window.move({ workspace = "12"}))
hl.bind(mainMod .. " + SHIFT + ugrave", hl.dsp.window.move({ workspace = "13"}))
hl.bind(mainMod .. " + SHIFT + asterisk", hl.dsp.window.move({ workspace = "14"}))