#!/bin/sh
if [ "x" = "x${DBUS_SESSION_BUS_ADDRESS}" ]; then
- DBUS_SESSION_BUS_ADDRESS:=unix:path=/run/user/$UID/bus
+ DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus"
fi
+export DBUS_SESSION_BUS_ADDRESS
+
+pretty() {
+ sed \
+ -e '/^method return .*/d' \
+ -e 's/^Error org.freedesktop.DBus.Error.Failed: "\?\(.*\)"\?$/ERROR: \1/' \
+ -e 's/^ string "\(.*\)"/\1/' \
+ -e 's/},/&\n/'
+}
send() {
- dbus-send --session --dest=org.AGL.afm.user --print-reply /org/AGL/afm/user org.AGL.afm.user.$1 "string:$2"
+ dbus-send --session --print-reply \
+ --dest=org.AGL.afm.user \
+ /org/AGL/afm/user \
+ org.AGL.afm.user.$1 \
+ "string:$2" |
+ pretty
}
case "$1" in
send start "\"$i\""
;;
+ run-remote|start-remote)
+ i=$2
+ send start '{"id":"'"$i"'","mode":"remote"}'
+ ;;
+
+ once)
+ i=$2
+ send once "\"$i\""
+ ;;
+
terminate|kill)
i=$2
send terminate "$i"
stop|pause)
i=$2
- send stop "$i"
+ send pause "$i"
;;
resume|continue)
i=$2
- send continue "$i"
+ send resume "$i"
;;
state|status)
run id
start id start an instance of the widget of id
- terminate rid
- kill rid terminate the running instance rid
+ once id run once an instance of the widget of id
+
+ kill rid
+ terminate rid terminate the running instance rid
stop rid
- pause rid stop the running instance rid
+ pause rid pause the running instance rid
resume rid
- continue rid continue the previously rid
+ continue rid continue the previously paused rid
- state rid
- status rid get status of the running instance rid
+ status rid
+ state rid get status of the running instance rid
EOC
;;