#!/usr/bin/openrc-run
depend() {
after logind
after alsasound
}
start() {
users="$(users)"
for user in $users $([ -z "$users" ] && getent passwd | grep -P '1[0-9]{3,5}' | cut -d: -f1); do uid=$(getent passwd "$user" | cut -d: -f3) [ "$uid" \< 1000 ] && continue
grp="$(getent group "$user" | cut -d: -f1)"
if pgrep -u "$user" session >/dev/null; then
func_ran=1
su -s /bin/sh -c "dbus-launch env XDG_RUNTIME_DIR=/run/user/$uid pipewire" $user $grp || eend 1 &
sleep 1 && if [ -n "$(command -v wireplumber)" ]; then if ! pgrep wireplumber -u $user; then su -s /bin/sh -c "dbus-launch env XDG_RUNTIME_DIR=/run/user/$uid wireplumber" $user $grp || exit 1; fi
elif [ -n "$(command -v pipweire-media-session)" ]; then if ! pgrep pipewire-media-session -u $user; then su -s /bin/sh -c "dbus-launch env XDG_RUNTIME_DIR=/run/user/$uid pipewire-media-session" $user $grp || exit 1; fi; fi &
sleep 1 && if [ -n "$(command -v pipewire-pulse)" ]; then if ! pgrep pipewire-pulse -u $user; then su -s /bin/sh -c "dbus-launch env XDG_RUNTIME_DIR=/run/user/$uid pipewire-pulse" $user $grp; fi; fi
fi
done
[ -z $func_ran ] && eend 1
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}