#!/bin/sh
# Using super as the main modifier key, so remember to check if a key conflicts with a DWM keybinding.

# Reload sxhkdrc configuration
super + shift + r
    pkill -usr1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config'

# Running dmenu/rofi scripts
ctrl + alt + BackSpace
    st -e $SHELL -c 'htop'
super + r
    menu-run
super + d; p
    rofi-pass
super + d; s
    menu-sink
super + grave
    menu-unicode
super + d; l
    menu-layout
super + d; m
    menu-man
super + n
    menu-norg

# Change layouts
super + C
    autorandr --change --default default

# Spawn programs
super + c
    emacsclient -c -a "emacs" -n --eval '(progn (set-frame-font "FiraCode Nerd Font") (cfw:open-org-calendar))'
super + u
    emacsclient -c -a "emacs" -n --eval '(vterm-frame)'
super + Return
    st
super + w
    $BROWSER
super + e
    st -e $SHELL -c 'tmp="$(mktemp)" && command lf -last-dir-path="$tmp" "$@" && test -f "$tmp" && dir="$(command cat "$tmp")" && rm -f "$tmp" && test -d "$dir" && cd "$dir" && exec $SHELL'
super + s; e
    emacsclient -c -a 'emacs'

# Implementing basic control hotkeys
super + l
    xsecurelock
# Print
F10
    rofi -dmenu -l 0 -p "Screenshot filename" < /dev/null | xargs -I "name" maim -s ~/name
# shift + Print
shift + F10
    rofi -dmenu -l 0 -p "Screenshot filename" < /dev/null | xargs -I "name" maim ~/name
super + p
    rofi -dmenu -l 0 -p "Screenshot filename" < /dev/null | xargs -I "name" maim -s ~/name
super + P
    rofi -dmenu -l 0 -p "Screenshot filename" < /dev/null | xargs -I "name" maim ~/name
super + minus
    wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)" 
super + shift + minus
    wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)" 
super + equal
    wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)" 
super + shift + equal
    wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)" 
# XF86MonBrightnessUp
F7
    change-brightness up
# XF86MonBrightnessDown
F6
    change-brightness down

