-#!/bin/sh
+#!/bin/bash
if [ "x" = "x${DBUS_SESSION_BUS_ADDRESS}" ]; then
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus"
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/'
+ sed ' /^method return .*/d
+ s/^Error org.freedesktop.DBus.Error.Failed: "\?\(.*\)"\?$/ERROR: \1/
+ s/^ string "\(.*\)"/\1/
+ s:[[{,]:&\n:g
+ s: *[]}]:\n&:g
+ ' |
+ sed ' s:^ *::
+ s: *$::
+ /[]}],*$/ {x;s:...::;x}
+ G
+ /[[{]\n/ {x;s:$: :;x}
+ s:^\(.*[^\n]\)\n\( *\)$:\2\1:
+ '
}
send() {
org.AGL.afm.user.$1 \
"string:$2" |
pretty
+ return ${PIPESTATUS[0]}
}
case "$1" in
send start "\"$i\""
;;
+ run-remote|start-remote)
+ i=$2
+ send start '{"id":"'"$i"'","mode":"remote"}'
+ ;;
+
once)
i=$2
send once "\"$i\""