summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua
blob: f5afb728010ce5dc79dceb0061998698fb9b7874 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---------------------
---- KEYBINDINGS ----
---------------------

local mainMod  = "SUPER"
local secondMod = "CTRL + ALT"

-- Switch workspaces with mainMod + [0-9]
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
for i = 1, 10 do
    local key = i % 10
    hl.bind(mainMod .. " + " .. key,         hl.dsp.focus({ workspace = i }))
    hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
end

-- Shell Binds
hl.bind("SUPER",                    hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
hl.bind(mainMod .. " + P",         hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
hl.bind(mainMod .. " + M",         hl.dsp.exec_cmd("dms ipc call processlist toggle"))
hl.bind(mainMod .. " + SHIFT + N", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
hl.bind(mainMod .. " + N",         hl.dsp.exec_cmd("dms ipc call notifications toggle"))
hl.bind(mainMod .. " + S",         hl.dsp.exec_cmd("dms ipc call settings toggle"))
hl.bind(mainMod .. " + Y",         hl.dsp.exec_cmd("dms ipc call dankdash wallpaper"))

-- Apps
hl.bind(secondMod .. " + T",        hl.dsp.exec_cmd("kitty"))
hl.bind(secondMod .. " + F",        hl.dsp.exec_cmd("freetube"))
hl.bind(secondMod .. " + D",        hl.dsp.exec_cmd("discord"))
hl.bind(secondMod .. " + G",        hl.dsp.exec_cmd("gedit"))
hl.bind(secondMod .. " + P",        hl.dsp.exec_cmd("pavucontrol"))

-- Power
hl.bind("CTRL + SUPER + Home", hl.dsp.exec_cmd("reboot"))
hl.bind("CTRL + SUPER + End",  hl.dsp.exec_cmd("poweroff"))

-- Window management
hl.bind(mainMod .. " + Q",   hl.dsp.window.kill())
hl.bind(mainMod .. " + V",   hl.dsp.window.float())
hl.bind(mainMod .. " + Tab", hl.dsp.exec_cmd([[hyprshell socat '{"OpenSwitch":{"reverse":false}}']]))
hl.bind(mainMod .. " + SHIFT + Tab", hl.dsp.exec_cmd([[hyprshell socat '{"OpenSwitch":{"reverse":true}}']]))

-- 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" }))

-- Move/resize windows with mainMod + mouse
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag())
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize())

-- Laptop multimedia keys
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 -e4 -n2 set 5%+"),                   { locked = true, repeating = true })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"),                   { locked = true, repeating = true })

-- Media keys (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 })