diff options
4 files changed, 44 insertions, 0 deletions
diff --git a/data/com.canonical.Unity.Greeter.Broadcast.gschema.xml b/data/com.canonical.Unity.Greeter.Broadcast.gschema.xml new file mode 100644 index 0000000..673f202 --- /dev/null +++ b/data/com.canonical.Unity.Greeter.Broadcast.gschema.xml @@ -0,0 +1,13 @@ +<schemalist> + <schema id="com.canonical.Unity.Greeter.Broadcast" path="/com/canonical/Unity/Greeter/Broadcast" gettext-domain="unity-greeter-session-broadcast"> + <key name="AllowStartApplication" type="b"> + <summary>Allow the Greeter to start applications in this session</summary> + <description> + The key controls whether the service in the session will listen + for and react to the request from the greeter to start an application + from the greeter. + </description> + <default>true</default> + </key> + </schema> +</schemalist> diff --git a/data/com.canonical.Unity.Greeter.Broadcast.service.in b/data/com.canonical.Unity.Greeter.Broadcast.service.in new file mode 100644 index 0000000..692c371 --- /dev/null +++ b/data/com.canonical.Unity.Greeter.Broadcast.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=com.canonical.Unity.Greeter.Broadcast +Exec=@pkglibexecdir@/unity-greeter-session-broadcast-service diff --git a/data/com.canonical.Unity.Greeter.Broadcast.xml b/data/com.canonical.Unity.Greeter.Broadcast.xml new file mode 100644 index 0000000..3c9e170 --- /dev/null +++ b/data/com.canonical.Unity.Greeter.Broadcast.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<node name="/com/canonical/Unity/Greeter/Broadcast"> + <interface name="com.canonical.Unity.Greeter.Broadcast"> + <!-- From the Greeter --> + <method name="RequestApplicationStart"> + <arg type="s" name="username" direction="in" /> + <arg type="s" name="appId" direction="in" /> + </method> + + + <!-- To the Session --> + <signal name="StartApplication"> + <arg type="s" name="username" direction="out" /> + <arg type="s" name="appId" direction="out" /> + </signal> + + <!-- Other --> + </interface> +</node> diff --git a/data/unity-greeter-session-broadcast-session.conf b/data/unity-greeter-session-broadcast-session.conf new file mode 100644 index 0000000..5f22ac0 --- /dev/null +++ b/data/unity-greeter-session-broadcast-session.conf @@ -0,0 +1,9 @@ +description "Unity Greeter Session Broadcast Session Component" +author "Ted Gould <ted@canonical.com>" + +task + +#TODO: Check GSettings Key +start on dbus-system SIGNAL="StartApplication" INTERFACE="com.canonical.Unity.Greeter.Broadcast" SENDER="com.canonical.Unity.Greeter.Broadcast" PATH="/com/canonical/Unity/Greeter/Broadcast" ARG0=${USER} + +exec start application APP_ID=${ARG1} |