Development/Tutorials/Plasma4/JavaScript/API-Extensions: Difference between revisions

From KDE TechBase
(Created page with '== Using Extensions == An API extension is a security controlled set of functions and objects that are loaded on demand. These extensions are requested by the widget by listing t...')
 
 
(2 intermediate revisions by one other user not shown)
Line 4: Line 4:
Required extensions are requested using the X-Plasma-RequiredExtensions key, and optional extensions with the X-Plasma-OptionalExtensions. For example:
Required extensions are requested using the X-Plasma-RequiredExtensions key, and optional extensions with the X-Plasma-OptionalExtensions. For example:


<code ini>
<syntaxhighlight lang="ini">
X-Plasma-RequiredExtensions=FileDialog,MyCustomQScriptExtension
X-Plasma-RequiredExtensions=FileDialog,MyCustomQScriptExtension
X-Plasma-OptionalExtensions=LaunchApp,HTTP
X-Plasma-OptionalExtensions=LaunchApp,HTTP
</code>
</syntaxhighlight>


The Simplified Javascript Engine then decides if the widget will actually get that extension or not. Failure to load a required extension will result in script execution being aborted.
The Simplified Javascript Engine then decides if the widget will actually get that extension or not. Failure to load a required extension will result in script execution being aborted.

Latest revision as of 23:27, 11 September 2014

Using Extensions

An API extension is a security controlled set of functions and objects that are loaded on demand. These extensions are requested by the widget by listing the required and the optional extensions (if any) it wants loaded in its metadata.desktop file. This way, even prior to the widget being loaded, Plasma can know what it will want.

Required extensions are requested using the X-Plasma-RequiredExtensions key, and optional extensions with the X-Plasma-OptionalExtensions. For example:

X-Plasma-RequiredExtensions=FileDialog,MyCustomQScriptExtension
X-Plasma-OptionalExtensions=LaunchApp,HTTP

The Simplified Javascript Engine then decides if the widget will actually get that extension or not. Failure to load a required extension will result in script execution being aborted.

Available Extensions