DashNix/eww_laptop/scripts/auto_dock.sh

46 lines
962 B
Bash
Executable file

#!/bin/bash
bat=/sys/class/power_supply/BAT0/
char="$(cat "$bat/status")"
monitor_count=$(hyprctl monitors | rg "ID 1")
internal_active=$(hyprctl monitors | rg "eDP-1")
close() {
if [ "$char" == "Discharging" ]; then
# dunstify 'discharging and locking'
playerctl --all-players -a pause
swaylock -c 000000 & systemctl suspend
else
if [ "$monitor_count" == "" ]; then
# dunstify 'charging but no second monitor, locking'
playerctl --all-players -a pause
swaylock -c 000000 & systemctl suspend
else
dunstify 'charging and second monitor, switching to external mode'
./monitor.sh onlysecond
fi
fi
}
open() {
if [ "$internal_active" == "" ]; then
if [ "$monitor_count" == "" ]; then
dunstify 'external monitor connected, extending'
./monitor.sh extend
else
dunstify 'only internal'
./monitor.sh onlyfirst
fi
fi
}
if [ "$1" == "open" ]; then
open
else
close
fi