1
0
mirror of https://github.com/frebib/dotfiles.git synced 2024-06-14 12:57:23 +00:00
dotfiles/scripts/systemd-run-i3
Joe Groocock 3f274253ff
scripts/systemd-run-i3: bind applications to graphical session
When the graphical-session target exits, this should terminal all units
bound to it.

Signed-off-by: Joe Groocock <me@frebib.net>
2020-08-18 13:17:55 +01:00

30 lines
583 B
Bash
Executable File

#!/bin/bash -e
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 8)
args=()
while getopts "s:e:d:cnw" opt
do case "$opt" in
s) slice="$OPTARG";;
e) args+=("--setenv=$OPTARG");;
d) args+=("--working-directory=$OPTARG");;
c) args+=("--scope");;
n) args+=("--no-block");;
w) args+=("--wait");;
*) shift;;
esac
done
shift $((OPTIND-1))
if [ -z "$slice" ]; then
slice=app
fi
exec systemd-run \
--user \
--collect \
--slice="$slice" \
--unit="$slice-$1-$rand" \
--property=BindsTo=graphical-session.target \
${args[@]} -- "$@"