--██ ▄█▀ ██████ ██ ██ █████▄ ██ ███ ██ ████▄ ██ ███ ██ ▄████ ▄█████ --████ ██▄▄ ▀██▀ ██▄▄██ ██ ██ ▀▄██ ██ ██ ██ ██ ▀▄██ ██ ▄▄▄ ▀▀▀▄▄▄ --██ ▀█▄ ██▄▄▄▄ ██ ██▄▄█▀ ██ ██ ██ ████▀ ██ ██ ██ ▀███▀ █████▀ -- See https://wiki.hyprland.org/Configuring/Keywords/ local mainMod = "SUPER" -- Sets "Windows" key as main modifier local terminal = "ghostty" local fileManager = "thunar" local menu = "rofi -show drun" local browser = "librewolf" local browser2 = "google-chrome-stable" -- Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more hl.bind(mainMod .. " + A", hl.dsp.exec_cmd("~/.config/hypr/scripts/status.sh")) hl.bind(mainMod .. " + B", hl.dsp.exec_cmd(browser)) hl.bind(mainMod .. " + SHIFT + B", hl.dsp.exec_cmd(browser2)) hl.bind(mainMod .. " + C", hl.dsp.window.close()) hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager)) hl.bind(mainMod .. " + F", hl.dsp.window.float({ action = "toggle" })) --bind = $mainMod, J, togglesplit, # dwindle hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit dwindle")) hl.bind(mainMod .. " + L", hl.dsp.exec_cmd("hyprlock")) hl.bind(mainMod .. " + M", hl.dsp.exit()) hl.bind(mainMod .. " + N", hl.dsp.exec_cmd("swaync-client -t -sw")) hl.bind(mainMod .. " + P", hl.dsp.window.pseudo()) hl.bind(mainMod .. " + S", hl.dsp.exec_cmd(terminal .. " -e ~/.config/hypr/scripts/statmon/target/release/statmon")) hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd("hyprshot -m region --clipboard-only,")) hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd("~/.config/hypr/scripts/power-menu.sh")) hl.bind(mainMod .. " + U", hl.dsp.exec_cmd("~/.config/hypr/scripts/update-sys.sh up")) hl.bind(mainMod .. " + V", hl.dsp.exec_cmd("cliphist list | rofi -dmenu | cliphist decode | wl-copy")) hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("~/.config/hypr/scripts/wifi-menu.sh")) hl.bind(mainMod .. " + SHIFT + W", hl.dsp.exec_cmd("~/.config/hypr/scripts/bt-menu.sh")) hl.bind(mainMod .. " + return", hl.dsp.exec_cmd(terminal)) hl.bind(mainMod .. " + space", hl.dsp.exec_cmd(menu)) --hl.bind(mainMod .. " + backslash", hl.dsp.exec_cmd("~/.config/hypr/scripts/monitor_setup.sh")) hl.bind(mainMod .. " + slash", hl.dsp.exec_cmd(terminal .. " -e btop")) -- Move focus with mainMod + arrow keys hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" })) hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" })) hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" })) hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" })) -- Switch workspaces with mainMod + [0-9] hl.bind(mainMod .. " + 1", hl.dsp.focus({ workspace = 1 })) hl.bind(mainMod .. " + 2", hl.dsp.focus({ workspace = 2 })) hl.bind(mainMod .. " + 3", hl.dsp.focus({ workspace = 3 })) hl.bind(mainMod .. " + 4", hl.dsp.focus({ workspace = 4 })) hl.bind(mainMod .. " + 5", hl.dsp.focus({ workspace = 5 })) hl.bind(mainMod .. " + 6", hl.dsp.focus({ workspace = 6 })) hl.bind(mainMod .. " + 7", hl.dsp.focus({ workspace = 7 })) hl.bind(mainMod .. " + 8", hl.dsp.focus({ workspace = 8 })) hl.bind(mainMod .. " + 9", hl.dsp.focus({ workspace = 9 })) hl.bind(mainMod .. " + 0", hl.dsp.focus({ workspace = 10 })) -- Move active window to a workspace with mainMod + SHIFT + [0-9] hl.bind(mainMod .. " + SHIFT + 1", hl.dsp.window.move({ workspace = 1, follow = false })) hl.bind(mainMod .. " + SHIFT + 2", hl.dsp.window.move({ workspace = 2, follow = false })) hl.bind(mainMod .. " + SHIFT + 3", hl.dsp.window.move({ workspace = 3, follow = false })) hl.bind(mainMod .. " + SHIFT + 4", hl.dsp.window.move({ workspace = 4, follow = false })) hl.bind(mainMod .. " + SHIFT + 5", hl.dsp.window.move({ workspace = 5, follow = false })) hl.bind(mainMod .. " + SHIFT + 6", hl.dsp.window.move({ workspace = 6, follow = false })) hl.bind(mainMod .. " + SHIFT + 7", hl.dsp.window.move({ workspace = 7, follow = false })) hl.bind(mainMod .. " + SHIFT + 8", hl.dsp.window.move({ workspace = 8, follow = false })) hl.bind(mainMod .. " + SHIFT + 9", hl.dsp.window.move({ workspace = 9, follow = false })) hl.bind(mainMod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10, follow = false })) -- Example special workspace (scratchpad) --bind = $mainMod, S, togglespecialworkspace, magic --bind = $mainMod SHIFT, S, movetoworkspace, special:magic ---hl.bind("SUPER_ALT_CTRL + L", hl.dsp.exec_cmd("hyprctl keyword monitor \"eDP-1,preferred,auto,1\"")) --Mouse Key Assignements --bind = , code:191, exec, $terminal --bind = , code:198, exec, $terminal -- Lid Open & Closed --bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/monitor_setup.sh -- trigger when the switch is turning on --bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/monitor_setup.sh -- Scroll through existing workspaces with mainMod + scroll hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" })) hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" })) -- Move/resize windows with mainMod + LMB/RMB and dragging hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag()) hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize()) -- Laptop multimedia keys for volume and LCD brightness hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true }) hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true }) hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true }) hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true }) hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 10%+"), { locked = true, repeating = true }) hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 10%-"), { locked = true, repeating = true }) -- Requires playerctl hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true }) hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true }) hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true }) hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true }) -- --- Mouse Side Button Remaps --- hl.bind("mouse:276", hl.dsp.send_shortcut({ mods = "", key = "ESCAPE", window = "active" })) hl.bind("mouse:275", hl.dsp.send_shortcut({ mods = "", key = "RETURN", window = "active" }))