#
# OS-shortcuts
#
# workspace navigation
bindsym $mod+ctrl+h workspace prev
# TODO: multi-monitor setup using J/K?
bindsym $mod+ctrl+l workspace next

# window navigation
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

# move windows
bindsym $mod+shift+h move left
bindsym $mod+shift+j move down
bindsym $mod+shift+k move up
bindsym $mod+shift+l move right

# closing windows (kill uses WM_DELETE, if available) (split is toggled for quasi alternating layout)
bindsym $mod+q  split toggle kill
bindsym $alt+F4 split toggle kill

# toggle between the different possible splits
bindsym $mod+F10 fullscreen toggle
bindsym $mod+e   layout     toggle split

# system commands
bindsym $mod+shift+c reload
bindsym $mod+shift+r restart
bindsym $mod+shift+e exit
bindsym $mod+shift+f floating toggle
bindsym $mod+o exec --no-startup-id xlock -mode petri -delay 20000 -size 2 -ncolors 16 -saturation 0.4 -echokeys -echokey '*' -usefirst

#
# XF86 key actions
#
# volume control
bindsym XF86AudioRaiseVolume exec --no-startup-id x-volume up
bindsym XF86AudioLowerVolume exec --no-startup-id x-volume down
bindsym XF86AudioMute        exec --no-startup-id x-volume mute
bindsym XF86AudioMicMute     exec --no-startup-id x-mic-mute

# brightness control
bindsym XF86MonBrightnessUp   exec --no-startup-id x-brightness up
bindsym XF86MonBrightnessDown exec --no-startup-id x-brightness down

# media controls
bindsym XF86AudioPlay  exec playerctl play-pause
bindsym XF86AudioPause exec playerctl play-pause
bindsym XF86AudioNext  exec playerctl next
bindsym XF86AudioPrev  exec playerctl previous

# app launchers and such
bindsym XF86Calculator exec --no-startup-id kitty -e 'calc'

#
# apps
#
# pickers
bindsym $mod+F5           exec --no-startup-id rofi -show window
bindsym $mod+space        exec --no-startup-id rofi -show drun
bindsym $mod+period       exec --no-startup-id rofi -show emoji -config emoji

# terminal
bindsym $mod+Return       exec --no-startup-id kitty --single-instance
bindsym $mod+t            exec --no-startup-id kitty --single-instance
bindsym $mod+backslash    exec --no-startup-id kitty --single-instance

# internet browser
bindsym $mod+b            exec --no-startup-id firefox --new-window
bindsym $mod+shift+b      exec --no-startup-id firefox --new-window --private-window

# screenshot
bindsym $mod+shift+s      exec --no-startup-id maim -f png -s | xclip -selection clipboard -t image/png
bindsym Print             exec --no-startup-id maim -f png    | xclip -selection clipboard -t image/png
bindsym $mod+ctrl+shift+s exec --no-startup-id maim -f png -s > $(xdg-user-dir PICTURES)/screenshot.png
bindsym $mod+Print+s      exec --no-startup-id maim -f png    > $(xdg-user-dir PICTURES)/screenshot.png
