### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4

# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l

# flock wrapper for running only one process
set $flock /usr/share/tileos/scripts/flock.sh

# Your preferred terminal emulator
set $term alacritty
set $term_cwd $term --working-directory "$(/usr/share/tileos/scripts/swaycwd.sh 2>/dev/null || echo $HOME)"
set $term_float $term --class floating_shell -e

# Your preferred application launcher
set $menu wofi --term $term

# Add --to-code to bindsym, support for non-latin layouts
set $bindsym bindsym --to-code

# Bluetooth menu
set $bluetooth $flock $term_float bluetuith

# Brightness control
set $brightness_up swayosd-client --brightness +10
set $brightness_down swayosd-client --brightness -10

# Volume control
set $volume_down swayosd-client --output-volume -5
set $volume_up swayosd-client --output-volume 5
set $volume_mute swayosd-client --output-volume mute-toggle
set $mic_mute swayosd-client --input-volume mute-toggle

# Player control
set $play_pause swayosd-client --playerctl play-pause
set $play_next swayosd-client --playerctl next
set $pley_prev swayosd-client --playerctl prev

# Pulseaudo command
set $pulseaudio $term_float pulsemixer

# Calendar application
set $calendar $term_float calcurse

# Help overlay
set $help_menu '[ -x "$(command -v nwg-wrapper)" ] && [ -f $HOME/.config/nwg-wrapper/help.sh ] && /usr/share/tileos/scripts/help.sh'

# Help overlay command
set $help /usr/share/tileos/scripts/help.sh --toggle

# Workspace names
set $ws1 number 1
set $ws2 number 2
set $ws3 number 3
set $ws4 number 4
set $ws5 number 5
set $ws6 number 6
set $ws7 number 7
set $ws8 number 8
set $ws9 number 9
set $ws10 number 10

# Screenshot
set $grimshot /usr/bin/grimshot
set $pipe_output $grimshot save output -
set $pipe_selection $grimshot save window -
set $pipe_active $grimshot save active -
set $notify_paste bash -c '[[ $(wl-paste -l) == "image/png" ]] && notify-send "Screenshot copied to clipboard"'
set $swappy swappy -f -

set $screenshot_screen $pipe_output | $swappy && $notify_paste
set $screenshot_selection $pipe_selection | $swappy && $notify_paste
set $screenshot_active $pipe_active | $swappy && $notify_paste

# PolicyKit agent
set $polkit_agent /usr/bin/mate-polkit &

# SwayOSD daemon
set $swayosd '[ -x "$(command -v swayosd-server)" ] && swayosd-server'

# Night Light
set $wlsunset '[ -x "$(command -v wlsunset)" ] && /usr/share/tileos/scripts/sunset.sh "off"'

# Autotiling script
set $autotiling '[ -x "$(command -v autotiling)" ] && autotiling -w 1 3 5 7 9'

# Automatic workspace names
set $autoname_workspaces '[ -f /usr/share/tileos/scripts/autoname-workspaces.py ] && /usr/share/tileos/scripts/autoname-workspaces.py'

# switch between top-level containers (windows) in a workspace
set $switch_toplevel '[ -f /usr/share/tileos/scripts/switch-top-level.py ] && /usr/share/tileos/scripts/switch-top-level.py'

# Start PCmanFM-Qt as a daemon
set $pcmanfm_daemon '[ -x "$(command -v pcmanfm-qt)" ] && pcmanfm-qt -d'

# Clipboard manager
set $cliphist_store '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch cliphist store'
set $cliphist_watch '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch pkill -U $USER -x -RTMIN+9 waybar'

# Start nwg-drawer as a daemon
set $nwg_drawer_daemon '[ -x "$(command -v nwg-drawer)" ] && nwg-drawer -r -term "$term"'

# Start playerctl as daemon
set $watch_playerctl '[ -x "$(command -v playerctl)" ] && pkill -U $USER -x playerctl; playerctl -a metadata --format \'{{status}} {{title}}\' --follow | while read line; do pkill -U $USER -x -RTMIN+5 waybar; done'

# Start Calcurse calendar as a daemon
set $calendar_daemon 'calcurse --daemon'

# Notifications from Swappy
set $swappy_notify '[ -x "$(command -v swappy)" ] && /usr/share/tileos/scripts/screenshot-notify.sh'

# Toggle shortcuts inhibition mode for the current focused window
set $toggle_shorcuts_inhibitor 'swaymsg "seat - shortcuts_inhibitor toggle"'

# Per window keyboard layouts
set $swaykbdd '[ -x "$(command -v swaykbdd)" ] && swaykbdd'
