## bind settings
binds {
     workspace_back_and_forth = 1
     allow_workspace_cycles = 1
}


## App Launcher
bindr = SUPER, SPACE, exec, fuzzel

## Display Toggle
bind = SUPER, F4, exec, sh ~/.config/hypr/scripts/kde_like_monitors.sh

## Restart some programs
### Input Tool
bind = Ctrl_ALT, I, exec, pkill fcitx5 -9;sleep 1;fcitx5 -d --replace; sleep 1;fcitx5-remote -r
### Notification Manager
bind = Ctrl_ALT, N, exec, swaync-client -rs
### Status Bar
bind = Ctrl_ALT, B, exec, pkill waybar;sleep 1;waybar # Status Bar


## Shortcuts
### Browser
bind = SUPER, B, exec, floorp
### Lock-window
bind = SUPER, L, exec, hyprlock
### File Explorer
bind = SUPER, E, exec, nemo
### Logout Menu
bind = CTRL_SUPER, Q, exec, wlogout
### Terminal Emulator
bind = SUPER, Return, exec, alacritty
### Screenshot (Area Mod)
bind = SUPER, S, exec, sh ~/.config/hypr/scripts/Screenshot-Area.sh

### Screenshot (Fullscreen Mod)
bind = SUPER_ALT, S, exec, sh ~/.config/hypr/scripts/Screenshot-Fullscreen.sh
### Screenshot (Window Mod)
bind = SUPER_CTRL, S, exec, sh ~/.config/hypr/scripts/Screenshot-Hyprland-Window.sh


## Window actions
bind = SUPER, F, fullscreen
bind = SUPER, Q, killactive
#bind = SUPER, Q, hy3:killactive

## Window actions (bonus)
bind = SUPER_SHIFT, F, togglefloating


## Workspace jumping
bind = SUPER,1,workspace,1
bind = SUPER,2,workspace,2
bind = SUPER,3,workspace,3
bind = SUPER,4,workspace,4
bind = SUPER,5,workspace,5
bind = SUPER,6,workspace,6
bind = SUPER,7,workspace,7
bind = SUPER,8,workspace,8
bind = SUPER,9,workspace,9
bind = SUPER,0,workspace,10


## Window movement between Workspace
### without switching to the Workspace
bind = SUPER_CTRL, 1, movetoworkspacesilent, 1
bind = SUPER_CTRL, 2, movetoworkspacesilent, 2
bind = SUPER_CTRL, 3, movetoworkspacesilent, 3
bind = SUPER_CTRL, 4, movetoworkspacesilent, 4
bind = SUPER_CTRL, 5, movetoworkspacesilent, 5
bind = SUPER_CTRL, 6, movetoworkspacesilent, 6
bind = SUPER_CTRL, 7, movetoworkspacesilent, 7
bind = SUPER_CTRL, 8, movetoworkspacesilent, 8
bind = SUPER_CTRL, 9, movetoworkspacesilent, 9
bind = SUPER_CTRL, 0, movetoworkspacesilent, 10

### also switching to the Workspace
bind = SUPER_SHIFT, 1, movetoworkspace, 1
bind = SUPER_SHIFT, 2, movetoworkspace, 2
bind = SUPER_SHIFT, 3, movetoworkspace, 3
bind = SUPER_SHIFT, 4, movetoworkspace, 4
bind = SUPER_SHIFT, 5, movetoworkspace, 5
bind = SUPER_SHIFT, 6, movetoworkspace, 6
bind = SUPER_SHIFT, 7, movetoworkspace, 7
bind = SUPER_SHIFT, 8, movetoworkspace, 8
bind = SUPER_SHIFT, 9, movetoworkspace, 9
bind = SUPER_SHIFT, 0, movetoworkspace, 10

bind = SUPER_SHIFT, mouse_down, movetoworkspace, -1
bind = SUPER_SHIFT, mouse_up, movetoworkspace, +1

bind = SUPER_SHIFT, mouse:275, movetoworkspace, e+1
bind = SUPER_SHIFT, mouse:276, movetoworkspace, e-1


### Special Workspace
bind = SUPER, Grave, togglespecialworkspace
bind = SUPER_CTRL, Grave, movetoworkspacesilent, special
bind = SUPER_SHIFT, Grave, movetoworkspace, special


## Workspace movement
bind = SUPER_CTRL, left, workspace, -1
bind = SUPER_CTRL, right, workspace, +1

### Using Vim-like keys
bind = SUPER_CTRL, H, workspace, -1
bind = SUPER_CTRL, L, workspace, +1

## Window focus movement
### Using Alt+Tab
#bind = ALT, Tab, hy3:movefocus, r
#bind = ALT_SHIFT, Tab, hy3:movefocus, l
bind = ALT, Tab, movefocus, r
bind = ALT_SHIFT, Tab, movefocus, l

### Using Arrow keys
#bind = SUPER, left, hy3:movefocus,l
#bind = SUPER, right, hy3:movefocus,r
#bind = SUPER, up, hy3:movefocus,u
#bind = SUPER, down, hy3:movefocus,d
bind = SUPER, left, movefocus,l
bind = SUPER, right, movefocus,r
bind = SUPER, up, movefocus,u
bind = SUPER, down, movefocus,d

### Using Vim-like keys
#bind = SUPER_Alt, H, hy3:movefocus, l
#bind = SUPER_Alt, L, hy3:movefocus, r
#bind = SUPER_Alt, K, hy3:movefocus, u
#bind = SUPER_Alt, J, hy3:movefocus, d
bind = SUPER_Alt, H, movefocus, l
bind = SUPER_Alt, L, movefocus, r
bind = SUPER_Alt, K, movefocus, u
bind = SUPER_Alt, J, movefocus, d


## Window direction movement
### Using Arrow keys
#bind = SUPER_SHIFT, left, hy3:movewindow,l
#bind = SUPER_SHIFT, right, hy3:movewindow,r
#bind = SUPER_SHIFT, up, hy3:movewindow,u
#bind = SUPER_SHIFT, down, hy3:movewindow,d
bind = SUPER_SHIFT, left, movewindow,l
bind = SUPER_SHIFT, right, movewindow,r
bind = SUPER_SHIFT, up, movewindow,u
bind = SUPER_SHIFT, down, movewindow,d

### Using Vim-like keys
#bind = SUPER_SHIFT, H, hy3:movefocus, l
#bind = SUPER_SHIFT, L, hy3:movefocus, r
#bind = SUPER_SHIFT, K, hy3:movefocus, u
#bind = SUPER_SHIFT, J, hy3:movefocus, d
bind = SUPER_SHIFT, H, movefocus, l
bind = SUPER_SHIFT, L, movefocus, r
bind = SUPER_SHIFT, K, movefocus, u
bind = SUPER_SHIFT, J, movefocus, d


## Some smart actions with Mouse
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow

bind = SUPER, mouse_down, workspace, -1
bind = SUPER, mouse_up, workspace, +1

bind = SUPER, mouse:275, workspace, e+1
bind = SUPER, mouse:276, workspace, e-1

### hy3 bonus
#bindn = , mouse:272, hy3:focustab, mouse
#bindn = , mouse_down, hy3:focustab, l, require_hovered
#bindn = , mouse_up, hy3:focustab, r, require_hovered


## Brightness control
bindel = , XF86MonBrightnessUp, exec, swayosd-client --brightness +5
bindel = , XF86MonBrightnessDown, exec, swayosd-client --brightness -5


## Playback control
bindl = ,XF86AudioPlay,exec, playerctl play-pause
bindl = ,XF86AudioNext,exec, playerctl next
bindl = ,XF86AudioPrev,exec, playerctl previous

### Playback control (bonus)
bindl = CONTROL_ALT, Return, exec, playerctl play-pause
bindl = CONTROL_ALT, right, exec, playerctl next
bindl = CONTROL_ALT, left, exec, playerctl previous


## Volume control
bindel = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume +2
bindel = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume -2
bindl = ,XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle
bindl = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle


## Volume control (bonus)
bindel = CONTROL_ALT, up, exec, swayosd-client --output-volume +2
bindel = CONTROL_ALT, down, exec, swayosd-client --output-volume -2
