#!/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;