diff options
Diffstat (limited to 'bin/gui-enter')
| -rwxr-xr-x | bin/gui-enter | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/bin/gui-enter b/bin/gui-enter deleted file mode 100755 index 45614cd..0000000 --- a/bin/gui-enter +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# this script is based on some assumptions that are made in the context -# of my gentoo/swaywm setup - -set -e -[ -n "$DEBUG" ] && set -x - -usage() { - printf "usage: %s USER [ARGS...]\n" "$(basename "$0")" - printf "\n" - printf "enter the desktop session of USER and run COMMAND.\n" - exit 1 -} - -case "$1" in --h) usage && exit 0 ;; -esac - -user="${1}" -[ -z "${user}" ] && usage -shift - -[ "${1}" = "--" ] && shift - -marker_bins=" - oguri - kanshi - waybar - wlsunset - pipewire - swayidle -" -pid= -for bin in ${marker_bins}; do - pid=$(pgrep --uid "$(id -u "${user}")" --exact "${bin}") || true - kill -0 "${pid}" && break -done -if [ -z "$pid" ]; then exit 1; fi - -grep -zE '^(SWAY|I3|WAYLAND|DBUS|XDG|PATH|BEMENU|HOME)' /proc/"${pid}"/environ | tr '\0' '\n' | sed -e "s/'/'\\\''/g" -e "s/=\(.*\)/='\1'/g" >/dev/shm/"gui_enter_env.${pid}" -[ -n "$DEBUG" ] && cat /dev/shm/"gui_enter_env.${pid}" -cmdline="set -aeu ; . /dev/shm/gui_enter_env.${pid} ; " -for i; do cmdline="${cmdline} '${i}'"; done -exec doas -nu "${user}" -- env -i sh -c "${cmdline}" |