# Move windows around

## Move focus with mainMod + vim keys
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d

## Resize with mainMod + shift + vim keys
binde = $mainMod L_SHIFT, l, resizeactive, 10 0 # right
binde = $mainMod L_SHIFT, h, resizeactive, -10 0 # left
binde = $mainMod L_SHIFT, k, resizeactive, 0 -10 #up
binde = $mainMod L_SHIFT, j, resizeactive, 0 10 # down

## Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

## Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

## Move to different monitor
bind = $mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1
bind = $mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1

## Switch workspaces with mainMod + [0-9]
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

## Move active window to a workspace with mainMod + SHIFT + [0-9]
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

## Change display settings
bindd = $mainMod, F, Make app fullscreen, fullscreen
bindd = $mainMod, T, Toggle floating, togglefloating
bindd = $mainMod, P, Toggle pseudo, pseudo
bindd = $mainMod, S, Toggle split, togglesplit
bindd = $mainMod, Q, Kill active window, killactive

## special workspace
bind = $mainMod, TAB, togglespecialworkspace, magic
bind = $mainMod SHIFT, TAB, movetoworkspace, special:magic

## master layout
bind = $mainMod, S, layoutmsg, swapwithmaster
bind = $mainMod, n, layoutmsg, swapnext
bind = $mainMod, p, layoutmsg, swapprev

# APPS

## general

bind = $mainMod, RETURN, exec, [workspace 4] $terminal
bind = $mainMod  CONTROL_L, RETURN, exec, $terminal
bind = $mainMod, space , exec, $menu

bind = $mainMod ALT_L, s ,exec, uwsm app -- signal-desktop

bind = $mainMod Control_L, s, exec, uwsm app -- mangohud steam
bind = $mainMod Control_L, b, exec, [workspace 2] uwsm app -- $browser
bind = $mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes
bind = $mainMod Control_L, m, exec, [workspace 9] uwsm app $music_player

## restart waybar
bind = $mainMod CONTROL_L, B, exec, ~/.local/bin/restart_waybar.sh

