File: //snap/core/17247/usr/bin/xdg-settings
#!/bin/bash
#
set -e
set -o pipefail
# we need to add a "cut -b4-" everyhwere because
# `dbus-send --print-reply=literal` indents the output by 3 spaces
# (hardcoded in dbus-print-message.c:print_iter)
if [ "$1" = "get" ]; then
dbus-send --print-reply=literal --session --dest=io.snapcraft.Settings /io/snapcraft/Settings io.snapcraft.Settings.Get string:"$2" | cut -b4-
elif [ "$1" = "check" ]; then
dbus-send --print-reply=literal --session --dest=io.snapcraft.Settings /io/snapcraft/Settings io.snapcraft.Settings.Check string:"$2" string:"$3" | cut -b4-
elif [ "$1" = "set" ]; then
# timeout of 300s to ensure the user has enough time to make a decision
dbus-send --reply-timeout=300000 --print-reply=literal --session --dest=io.snapcraft.Settings /io/snapcraft/Settings io.snapcraft.Settings.Set string:"$2" string:"$3" | cut -b4-
else
echo "unknown action $2"
fi