###############################################################################
# Session Management
###############################################################################

## Session // Exit App // <><Shift> q ##
set_from_resource $i3-wm.binding.exit_app i3-wm.binding.exit_app Shift+q
bindsym $mod+$i3-wm.binding.exit_app [con_id="__focused__"] kill

## Session // Terminate App // <><Alt> q ##
set_from_resource $i3-wm.binding.kill_app i3-wm.binding.kill_app q
bindsym $mod+$alt+$i3-wm.binding.kill_app [con_id="__focused__"] exec --no-startup-id kill -9 $(xdotool getwindowfocus getwindowpid)

## Session // Reload i3 Config // <><Shift> c ##
set_from_resource $i3-wm.binding.reload i3-wm.binding.reload Shift+c
bindsym $mod+$i3-wm.binding.reload reload

## Session // Refresh Session // <><Shift> r ##
set_from_resource $i3-wm.binding.refresh i3-wm.binding.refresh Shift+r
set_from_resource $i3-wm.program.refresh_ui i3-wm.program.refresh_ui /usr/bin/regolith-look refresh
bindsym $mod+$i3-wm.binding.refresh exec --no-startup-id $i3-wm.program.refresh_ui

## Session // Restart i3 // <><Ctrl> r ##
set_from_resource $i3-wm.binding.restart i3-wm.binding.restart Ctrl+r
bindsym $mod+$i3-wm.binding.restart restart

## Session // Logout // <><Shift> e ##
set_from_resource $i3-wm.binding.logout i3-wm.binding.logout Shift+e
set_from_resource $i3-wm.program.logout i3-wm.program.logout /usr/bin/gnome-session-quit --logout
bindsym $mod+$i3-wm.binding.logout exec $i3-wm.program.logout

## Session // Reboot // <><Shift> b ##
set_from_resource $i3-wm.binding.reboot i3-wm.binding.reboot Shift+b
set_from_resource $i3-wm.program.reboot i3-wm.program.reboot /usr/bin/gnome-session-quit --reboot
bindsym $mod+$i3-wm.binding.reboot exec $i3-wm.program.reboot

## Session // Power Down // <><Shift> p ##
set_from_resource $i3-wm.binding.shutdown i3-wm.binding.shutdown Shift+p
set_from_resource $i3-wm.program.shutdown i3-wm.program.shutdown /usr/bin/gnome-session-quit --power-off
bindsym $mod+$i3-wm.binding.shutdown exec $i3-wm.program.shutdown

## Session // Lock Screen // <> Escape ##
set_from_resource $i3-wm.binding.lock i3-wm.binding.lock Escape
set_from_resource $i3-wm.program.lock i3-wm.program.lock dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
bindsym $mod+$i3-wm.binding.lock exec $i3-wm.program.lock

## Session // Sleep // <><Shift> s ##
set_from_resource $i3-wm.binding.sleep i3-wm.binding.sleep Shift+s
set_from_resource $i3-wm.program.sleep i3-wm.program.sleep systemctl suspend
bindsym $mod+$i3-wm.binding.sleep exec $i3-wm.program.sleep
