diff options
Diffstat (limited to 'dockd.sh')
-rwxr-xr-x | dockd.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dockd.sh b/dockd.sh new file mode 100755 index 0000000..235035a --- /dev/null +++ b/dockd.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +dock() { + echo Docking... + xrandr \ + --output DP-0 --off \ + --output DP-1 --off \ + --output DP-2 --primary --mode 2560x1440 --pos 0x0 --rotate normal --dpi 96 \ + --output DP-3 --off \ + --output DP-4 --off \ + --output VGA-0 --off + killall xautolock + xautolock \ + -notify 10 \ + -time 10 \ + -locker "i3lock -n -f -c 000000 -i ~/.local/share/wallpapers/lock.png; sleep 0.2" \ + -notifier "notify-send -t=10000 '10 seconds to lock...'" + sysctl hw.snd.default_unit=1 + echo Docked +} + +undock() { + echo Undocking... + xrandr \ + --output DP-0 --off \ + --output DP-1 --off \ + --output DP-2 --off \ + --output DP-3 --primary --mode 1920x1080 --transform none --pos 0x0 --rotate normal --dpi 96 \ + --output DP-4 --off \ + --output VGA-0 --off + killall xautolock + xautolock \ + -killtime 10 \ + -killer "sleep 0.5; doas acpiconf -s3" \ + -notify 10 \ + -time 10 \ + -locker "i3lock -n -f -c 000000 -i ~/.local/share/wallpapers/lock.png; sleep 0.2" \ + -notifier "notify-send -t=10000 '10 seconds to lock...'" + sysctl hw.snd.default_unit=4 + echo Undocked +} + +while : +do + is_lid_open=$(sysctl -n dev.acpi_lid.0.state) + + if [ "$is_lid_open" != "$was_lid_open" ] + then + was_lid_open=$is_lid_open + [ "$is_lid_open" = "0" ] && dock || undock + fi + + sleep 10 +done |