47 lines
1.5 KiB
Bash
47 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -xv
|
|
|
|
# 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 ErgoDox EZ Shine Keyboard"' ]] &&
|
|
[[ "${ACTION}" != "" && "${NAME}" != '"ZSA Technology Labs Planck EZ Glow Keyboard"' ]]; then
|
|
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
|
|
|
|
if [[ "${ACTION}" == "add" ]]; then
|
|
ICON=$(readlink -f ~/.nix-profile/share/icons/gnome/48x48/devices/computer.png)
|
|
else
|
|
ICON=$(readlink -f ~/.nix-profile/share/icons/gnome/48x48/devices/display.png)
|
|
fi;
|
|
|
|
TITLE="${ACTION} ${NAME}"
|
|
/home/bascht/.nix-profile/bin/notify-send -t 3000 --icon="${ICON}" "Docking event" "$TITLE"
|
|
|
|
sleep 0.5
|
|
|
|
# Home and at my main desk
|
|
if swaymsg -t get_inputs | grep "ZSA Technology Labs Inc ErgoDox EZ Shine"; then
|
|
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 Planck EZ Glow"; then
|
|
if grep closed /proc/acpi/button/lid/LID/state; then
|
|
swaymsg output eDP-1 disable
|
|
fi
|
|
|
|
# Whereever else
|
|
else
|
|
if ! swaymsg -t get_outputs | jq -e '.[] | select(.name == "eDP-1" and .active == true)'
|
|
swaymsg output eDP-1 enable
|
|
fi
|
|
fi;
|