summaryrefslogtreecommitdiffstats
path: root/data/dbus-interfaces/org.gnome.Shell.Extensions.xml
diff options
context:
space:
mode:
Diffstat (limited to 'data/dbus-interfaces/org.gnome.Shell.Extensions.xml')
-rw-r--r--data/dbus-interfaces/org.gnome.Shell.Extensions.xml267
1 files changed, 267 insertions, 0 deletions
diff --git a/data/dbus-interfaces/org.gnome.Shell.Extensions.xml b/data/dbus-interfaces/org.gnome.Shell.Extensions.xml
new file mode 100644
index 0000000..ab80c10
--- /dev/null
+++ b/data/dbus-interfaces/org.gnome.Shell.Extensions.xml
@@ -0,0 +1,267 @@
+<!DOCTYPE node PUBLIC
+'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
+'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
+<node>
+
+ <!--
+ org.gnome.Shell.Extensions:
+ @short_description: Extensions interface
+
+ The interface used to query and manage extensions.
+ -->
+ <interface name="org.gnome.Shell.Extensions">
+
+ <!--
+ ListExtensions:
+ @extensions: A dictionary of extension infos
+
+ Get a list of installed extensions. The returned @extensions
+ dictionary maps extension UUIDs to info vardicts. See
+ GetExtensionInfo() for documentation on possible keys.
+ -->
+ <method name="ListExtensions">
+ <arg type="a{sa{sv}}" direction="out" name="extensions"/>
+ </method>
+
+ <!--
+ GetExtensionInfo:
+ @uuid: The UUID of the extension
+ @info: The returned extension info
+
+ The information returned in the @info vardict depends on the
+ metadata the extension provides, however it is guaranteed to
+ contain the following keys:
+
+ <variablelist>
+ <varlistentry>
+ <term>uuid s</term>
+ <listitem><para>The UUID of the extension</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>name s</term>
+ <listitem><para>The name of the extension</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>description s</term>
+ <listitem><para>
+ A short summary that describes what the extension does
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shell-version as</term>
+ <listitem><para>An array of support shell versions</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>type d</term>
+ <listitem><para>
+ The type of extension:
+ <simplelist>
+ <member>1: SYSTEM</member>
+ <member>2: PER_USER</member>
+ </simplelist>
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>state d</term>
+ <listitem><para>
+ The state the extension is in:
+ <simplelist>
+ <member>1: ENABLED</member>
+ <member>2: DISABLED</member>
+ <member>3: ERROR</member>
+ <member>4: OUT_OF_DATE</member>
+ <member>5: DOWNLOADING</member>
+ <member>6: INITIALIZED</member>
+ <member>99: UNINSTALLED</member>
+ </simplelist>
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>path s</term>
+ <listitem><para>The extension directory</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>error s</term>
+ <listitem><para>The most recent error caught in init(), enable() or disable()</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>hasPrefs b</term>
+ <listitem><para>Whether the extension includes preference UI</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ By convention, many extensions will also include the following keys:
+ <variablelist>
+ <varlistentry>
+ <term>version d</term>
+ <listitem><para>The extension version</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>url s</term>
+ <listitem><para>The URL to the extension homepage or repository</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>settings-schema s</term>
+ <listitem><para>The ID of a bundled GSettings schema</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>gettext-domain s</term>
+ <listitem><para>The domain used for translations</para></listitem>
+ </varlistentry>
+ </variablelist>
+ -->
+ <method name="GetExtensionInfo">
+ <arg type="s" direction="in" name="uuid"/>
+ <arg type="a{sv}" direction="out" name="info"/>
+ </method>
+
+ <!--
+ GetExtensionErrors:
+ @uuid: The UUID of the extension
+ @errors: The returned errors
+
+ Get the list of errors that caused the extension
+ to be in ERROR state.
+ -->
+ <method name="GetExtensionErrors">
+ <arg type="s" direction="in" name="uuid"/>
+ <arg type="as" direction="out" name="errors"/>
+ </method>
+
+ <!--
+ InstallRemoteExtension:
+ @uuid: The UUID of the extension
+ @result: The result of the operation
+
+ Download and install an extension.
+ -->
+ <method name="InstallRemoteExtension">
+ <arg type="s" direction="in" name="uuid"/>
+ <arg type="s" direction="out" name="result"/>
+ </method>
+
+ <!--
+ UninstallExtension:
+ @uuid: The UUID of the extension
+ @success: Whether the operation was successful
+
+ Uninstall an extension.
+ -->
+ <method name="UninstallExtension">
+ <arg type="s" direction="in" name="uuid"/>
+ <arg type="b" direction="out" name="success"/>
+ </method>
+
+ <!--
+ ReloadExtension:
+ @uuid: The UUID of the extension
+
+ Reload an extension.
+ -->
+ <method name="ReloadExtension">
+ <arg type="s" direction="in" name="uuid"/>
+ </method>
+
+ <!--
+ EnableExtension:
+ @uuid: The UUID of the extension
+ @success: Whether the operation was successful
+
+ Enable an extension.
+ -->
+ <method name="EnableExtension"> \
+ <arg type="s" direction="in" name="uuid"/> \
+ <arg type="b" direction="out" name="success"/> \
+ </method> \
+
+ <!--
+ DisableExtension:
+ @uuid: The UUID of the extension
+ @success: Whether the operation was successful
+
+ Disable an extension.
+ -->
+ <method name="DisableExtension"> \
+ <arg type="s" direction="in" name="uuid"/> \
+ <arg type="b" direction="out" name="success"/> \
+ </method> \
+
+ <!--
+ LaunchExtensionPrefs:
+ Deprecated for OpenExtensionPrefs
+ -->
+ <method name="LaunchExtensionPrefs">
+ <arg type="s" direction="in" name="uuid"/>
+ </method>
+
+ <!--
+ OpenExtensionPrefs:
+ @uuid: The UUID of the extension
+ @parent_window: Identifier for the application window
+ @options: Vardict with further options
+
+ Opens the prefs dialog of extension @uuid.
+
+ The following @options are recognized:
+
+ <variablelist>
+ <varlistentry>
+ <term>modal b</term>
+ <listitem>
+ <para>Whether the prefs window should be modal, default: false</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ -->
+ <method name="OpenExtensionPrefs">
+ <arg type="s" direction="in" name="uuid"/>
+ <arg type="s" direction="in" name="parent_window"/>
+ <arg type="a{sv}" direction="in" name="options"/>
+ </method>
+
+ <!--
+ CheckForUpdates:
+ Update all extensions for which updates are available
+ -->
+ <method name="CheckForUpdates"/>
+
+ <signal name="ExtensionStateChanged">
+ <arg type="s" name="uuid"/>
+ <arg type="a{sv}" name="state"/>
+ </signal>
+
+ <!--
+ ExtensionStatusChanged:
+ Deprecated for ExtensionStateChanged
+ -->
+ <signal name="ExtensionStatusChanged">
+ <arg type="s" name="uuid"/>
+ <arg type="i" name="state"/>
+ <arg type="s" name="error"/>
+ </signal>
+
+ <!--
+ ShellVersion:
+ The GNOME Shell version
+ -->
+ <property name="ShellVersion" type="s" access="read"/>
+
+ <!--
+ UserExtensionsEnabled:
+ Whether user extensions are enabled
+ -->
+ <property name="UserExtensionsEnabled" type="b" access="readwrite"/>
+
+ </interface>
+</node>