6db55eaea6
The extensions site recently added support for a custom "version-name" string in metadata: gitlab.gnome.org/Infrastructure/extensions-web/-/merge_requests/154 This allows developers to control the version that is exposed to users. As the version according to the developer is almost always more relevant than the automatic version assigned by the website, use it instead of the "version" field if set. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2995>
275 lines
8.0 KiB
XML
275 lines
8.0 KiB
XML
<!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>7: DISABLING</member>
|
|
<member>8: ENABLING</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>version-name s</term>
|
|
<listitem><para>The extension version name</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>
|