cadmus-launch 657 B

12345678910111213141516171819202122
  1. #!/usr/bin/env bash
  2. # cadmus-launch — sets Wayland session env vars when launched from a
  3. # root-owned key daemon (e.g. keyd's command()), then exec's `cadmus`.
  4. set -euo pipefail
  5. USER_NAME="${CADMUS_USER:-$USER}"
  6. USER_ID="$(id -u "$USER_NAME")"
  7. export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/${USER_ID}}"
  8. export DBUS_SESSION_BUS_ADDRESS="${DBUS_SESSION_BUS_ADDRESS:-unix:path=${XDG_RUNTIME_DIR}/bus}"
  9. if [[ -z "${WAYLAND_DISPLAY:-}" ]]; then
  10. for sock in "${XDG_RUNTIME_DIR}"/wayland-*; do
  11. [[ -S "$sock" ]] || continue
  12. export WAYLAND_DISPLAY
  13. WAYLAND_DISPLAY="$(basename "$sock")"
  14. break
  15. done
  16. fi
  17. exec cadmus