summaryrefslogtreecommitdiff
path: root/arch/hyprland/.config/hypr/keybinds.conf
blob: 2f00c8fb0f4d48e573b7bc6681544457fafe2e04 (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
$mainMod = SUPER

# ── Core ──────────────────────────────────────────────────────────────────────
bind = $mainMod,       Q,         exec,            ghostty
bind = $mainMod,       C,         killactive
bind = $mainMod,       J,         togglesplit
bind = $mainMod CTRL,  V,         togglefloating
bind = $mainMod,       F,         fullscreen,      1
bind = $mainMod CTRL,  F,         fullscreen,      0
bind = $mainMod SHIFT, L,         exec,            loginctl lock-session
bind = $mainMod,       R,         exec,            ~/.local/bin/launcher
bind = $mainMod,       W,         exec,            ghostty --class=float-term -e ~/.local/bin/pick-wallpaper
bind = $mainMod SHIFT, F,         exec,            zen-browser

# Keyboard pointer modes (wl-kbptr)
bind = $mainMod,       G,         exec,            pkill wl-kbptr || true; wl-kbptr -o modes=floating,click -o mode_floating.source=detect
bind = $mainMod,       M,         exec,            pkill wl-kbptr || true; wl-kbptr -o modes=tile,bisect,click

# Clipboard
bind = $mainMod SHIFT, V,         exec,            cliphist list | bemenu | cliphist decode | wl-copy

# ── Focus movement ────────────────────────────────────────────────────────────
bind = $mainMod, left,  movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up,    movefocus, u
bind = $mainMod, down,  movefocus, d
bind = $mainMod, h,     movefocus, l
bind = $mainMod, l,     movefocus, r
bind = $mainMod, k,     movefocus, u
bind = $mainMod, j,     movefocus, d

# ── Mouse scroll wheel movement ───────────────────────────────────────────────
binde = $mainMod, B, exec, ydotool mousemove --wheel -- 0  1
binde = $mainMod, V, exec, ydotool mousemove --wheel -- 0 -1

# ── Workspaces ────────────────────────────────────────────────────────────────
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up,   workspace, e-1

# ── Special workspaces (scratchpads) ─────────────────────────────────────────
bind = $mainMod,       S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace,        special:magic

# ── Screenshots ───────────────────────────────────────────────────────────────
bind =              , Print,       exec, grim -g "$(slurp)" - | wl-copy
bind = $mainMod,      Print,       exec, grim - | wl-copy
bind = $mainMod SHIFT, Print,      exec, grim -g "$(hyprctl activewindow -j | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')" - | wl-copy

# ── Resize submap ─────────────────────────────────────────────────────────────
bind = $mainMod CTRL, R, submap, resize

submap = resize
binde = , h,     resizeactive, -20 0
binde = , j,     resizeactive,   0 20
binde = , k,     resizeactive,   0 -20
binde = , l,     resizeactive,  20 0
binde = , left,  resizeactive, -20 0
binde = , down,  resizeactive,   0 20
binde = , up,    resizeactive,   0 -20
binde = , right, resizeactive,  20 0
bind  = , Escape, submap, reset
bind  = , Return, submap, reset
bind  = , catchall, submap, reset
submap = reset

# ── Mouse window management ───────────────────────────────────────────────────
bindm = $mainMod,      mouse:272, movewindow
bindm = $mainMod CTRL, mouse:272, movewindow
bindm = $mainMod,      mouse:273, resizewindow

# ── Media keys ────────────────────────────────────────────────────────────────
bindl  = , XF86AudioPlay,  exec, playerctl play-pause
bindl  = , XF86AudioNext,  exec, playerctl next
bindl  = , XF86AudioPrev,  exec, playerctl previous
bindl  = , XF86AudioMute,  exec, pamixer -t

bindle = , XF86AudioRaiseVolume,  exec, pamixer -i 5
bindle = , XF86AudioLowerVolume,  exec, pamixer -d 5
bindle = , XF86MonBrightnessUp,   exec, brightnessctl set +5%
bindle = , XF86MonBrightnessDown, exec, brightnessctl set 5%-

bind = $mainMod, F2, exec, brightnessctl -d asus::kbd_backlight set 1-
bind = $mainMod, F3, exec, brightnessctl -d asus::kbd_backlight set +1
bind = $mainMod, F4, exec, asusctl aura effect --next-mode