Files
sims/scripts/sims-cli.sh
2026-05-03 20:15:43 +02:00

36 lines
913 B
Bash
Executable File

#!/usr/bin/env bash
# sims-cli — talk to the running `sims` status bar over DBus.
set -euo pipefail
DEST=org.Fabric.fabric.sims
OBJ=/org/Fabric/fabric
IFACE=org.Fabric.fabric
invoke() {
dbus-send --session --print-reply --dest="$DEST" "$OBJ" \
"$IFACE.InvokeAction" "string:$1" "array:string:" >/dev/null
}
list_actions() {
dbus-send --session --print-reply --dest="$DEST" "$OBJ" \
org.freedesktop.DBus.Properties.Get \
"string:$IFACE" string:Actions
}
usage() {
cat <<'EOF' >&2
usage: sims-cli <command> [args]
finder open window finder
notmuch-refresh refresh unread mail count
list list registered actions
EOF
exit 2
}
case "${1:-}" in
finder) invoke open-finder ;;
notmuch-refresh) invoke refresh-notmuch ;;
list) list_actions ;;
*) usage ;;
esac