dotfiles/bin/executable_thinkpad-dock

46 lines
1.4 KiB
Bash

#!/usr/bin/env bash
# Watch for the Keyboard instead of the Thinkpad dock since this keeps us from tripping
# into weird race conditions as the docks usb hub takes a few seconds to settle.
if [[ "${ACTION}" != "" && "${NAME}" != '"ZSA Technology Labs Inc ErgoDox EZ Shine Keyboard"' ]] &&
[[ "${ACTION}" != "" && "${NAME}" != '"ZSA Technology Labs Planck EZ Glow Keyboard"' ]]; then
echo "Skipping superfluous events for ${NAME}" >> /tmp/thinkpad.log
exit 0
fi;
SWAYSOCK=/run/user/$(id -u)/sway-ipc.sock
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus"
export SWAYSOCK
export DBUS_SESSION_BUS_ADDRESS
TITLE="Docking Station: ${ACTION} ${NAME}"
/home/bascht/.nix-profile/bin/notify-send -t 3000 "$TITLE"
sleep 0.5
# Home and at my main desk
if swaymsg -t get_inputs | grep "ZSA Technology Labs Inc ErgoDox EZ Shine"; then
nmcli connection up "thinkpad-dock"
nmcli connection down "dorhamm-wifi"
if grep closed /proc/acpi/button/lid/LID/state; then
swaymsg output eDP-1 disable
fi
# Home and on the side desk
elif swaymsg -t get_inputs | grep "ZSA Technology Labs Inc Planck EZ Glow"; then
nmcli connection up "dorhamm-docking"
nmcli connection down "dorhamm-wifi"
if grep closed /proc/acpi/button/lid/LID/state; then
swaymsg output eDP-1 disable
fi
# Whereever else
else
nmcli connection up "dorhamm-wifi"
nmcli connection down "dorhamm-docking"
nmcli connection down "thinkpad-dock"
swaymsg output eDP-1 enable
fi;