# ----------------------------------------------------- 
# Key bindings
# name: "Default"
# ----------------------------------------------------- 

# SUPER KEY
$mainMod = SUPER

# Applications
# bind = $mainMod, RETURN, exec, app2unit -- zterm
bind = $mainMod, RETURN, exec, app2unit -- zterm
bind = $mainMod, B, exec, uwsm-app -S out -- librewolf
bind = $mainMod, E, exec, uwsm-app -S out -- dolphin
bind = $mainMod CTRL, E, exec, uwsm-app -S out -- hyprlauncher
bind = $mainMod CTRL SHIFT, S, toggleswallow
bind = $mainMod CTRL ALT, O, exec, uwsm-app -S out -- ~/.config/hypr/scripts/keybindtestscript.sh

# Windows
# bind = $mainMod, Q, exec, uwsm-app -S out -- ~/.config/hypr/scripts/closeapp.sh
bind = $mainMod, Q, exec, hyprctl dispatch killactive
bind = $mainMod, F, fullscreen
bind = $mainMod, T, togglefloating
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bind = $mainMod SHIFT, right, resizeactive, 100 0
bind = $mainMod SHIFT, left, resizeactive, -100 0
bind = $mainMod SHIFT, down, resizeactive, 0 100
bind = $mainMod SHIFT, up, resizeactive, 0 -100
bind = $mainMod, G, togglegroup
bind = $mainMod, J, layoutmsg, togglesplit
bind = $mainMod, K, layoutmsg, swapsplit
bind = $mainMod CTRL, up, swapwindow, u
bind = $mainMod CTRL, down, swapwindow, d
bind = $mainMod CTRL, left, swapwindow, l
bind = $mainMod CTRL, right, swapwindow, r
bind = $mainMod, M, movetoworkspacesilent, special:minimized
bind = $mainMod CTRL, M, togglespecialworkspace, minimized
bind = $mainMod CTRL, M, submap, minimized
submap = minimized
bind = , Return, movetoworkspace, +0
bind = , Return, submap, reset
bind = , mouse:272, movetoworkspace, +0
bind = , mouse:272, submap, reset
bind = , escape, togglespecialworkspace, minimized
bind = , escape, submap, reset
submap = reset

# Toggle mic mute
bind = CTRL SHIFT, M, exec, /home/zach/.config/cronjobscripts/wpctl-mute.sh

# Actions
# bind = $mainMod CTRL, L, global, zshell:show-osd
# bind = $mainMod CTRL, L, global, zshell:toggle-settings
bind = $mainMod CTRL, L, global, zshell:toggle-drawing


bind = $mainMod, Tab, global, zshell:toggle-overview
bind = $mainMod CTRL, RETURN, global, zshell:toggle-launcher
bind = $mainMod CTRL SHIFT, R, exec, app2unit -- zshell-cli shell kill; sleep 0.5; app2unit -- zshell-cli shell start
bind = $mainMod CTRL, V, exec, uwsm-app -S out -- cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
bind = , PRINT, global, zshell:screenshotFreeze

bind = $mainMod, P, exec, uwsm-app -S out -- hyprpicker -a --format=hex

bind = , code:171, exec, uwsm-app -S out -- ddcutil setvcp 10 + 20 --enable-dynamic-sleep --skip-ddc-checks --bus=7 && ddcutil setvcp 10 + 20 --enable-dynamic-sleep --skip-ddc-checks --bus=6
bind = , code:173, exec, uwsm-app -S out -- ddcutil setvcp 10 - 20 --enable-dynamic-sleep --skip-ddc-checks --bus=7 && ddcutil setvcp 10 - 20 --enable-dynamic-sleep --skip-ddc-checks --bus=6

bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ --limit 1.0
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- --limit 1.0

# 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 SHIFT, Tab, workspace, m-1

# Fn keys

bind = , code:238, exec, uwsm-app -S out -- brightnessctl -d smc::kbd_backlight s +10
bind = , code:237, exec, uwsm-app -S out -- brightnessctl -d smc::kbd_backlight s 10- 
