<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sugarlabs.org/index.php?action=history&amp;feed=atom&amp;title=Platform_Team%2FSweets_Distribution%2FFeatures%2FPlugins</id>
	<title>Platform Team/Sweets Distribution/Features/Plugins - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sugarlabs.org/index.php?action=history&amp;feed=atom&amp;title=Platform_Team%2FSweets_Distribution%2FFeatures%2FPlugins"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;action=history"/>
	<updated>2026-04-07T12:19:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=88457&amp;oldid=prev</id>
		<title>Alsroot: Redirected page to Deployment Platform/Shell Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=88457&amp;oldid=prev"/>
		<updated>2013-06-12T08:36:26Z</updated>

		<summary type="html">&lt;p&gt;Redirected page to &lt;a href=&quot;/go/Deployment_Platform/Shell_Plugins&quot; title=&quot;Deployment Platform/Shell Plugins&quot;&gt;Deployment Platform/Shell Plugins&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:36, 12 June 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#REDIRECT [[Deployment Platform/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sugar &lt;/del&gt;Shell]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#REDIRECT [[Deployment Platform/Shell &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Plugins&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alsroot</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=88399&amp;oldid=prev</id>
		<title>Alsroot: Redirected page to Deployment Platform/Sugar Shell</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=88399&amp;oldid=prev"/>
		<updated>2013-06-04T05:08:56Z</updated>

		<summary type="html">&lt;p&gt;Redirected page to &lt;a href=&quot;/index.php?title=Deployment_Platform/Sugar_Shell&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Deployment Platform/Sugar Shell (page does not exist)&quot;&gt;Deployment Platform/Sugar Shell&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:08, 4 June 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each other, thus, they are assumed to be setup by Sugar distributors or experienced users.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#REDIRECT &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Deployment Platform/&lt;/ins&gt;Sugar Shell]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A plugin is a Python module placed in a {{Code|/opt/sweets/sugar/src/jarabe/plugins/&#039;&#039;PLUGIN_NAME&#039;&#039;}} directory. To make a plugin module useful, it should contain the following variables and functions:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* {{Code|&#039;&#039;&#039;ORDER&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Required. Variable with plugin order. Plugins with smaller {{Code|ORDER}} will be initiated and started earlier.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* {{Code|&#039;&#039;&#039;TITLE&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. This title will appear in the &#039;&#039;Sweets Distribution&#039;&#039; Control Panel component in order to provide a user the opportunity to enable/disable the plugin. If {{Code|TITLE}} is omitted, the plugin will be enabled unconditionally.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* {{Code|&#039;&#039;&#039;init()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Required. Initialize the plugin. This function will be called before the Shell initialization phase, so, it is possible to put &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Wikipedia:Monkey patch|monkey patching]] code here.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* {{Code|&#039;&#039;&#039;start()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Required. Start the plugin. Actual starting the plugin. This function will be called when Shell starts heavy code like Journal.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* {{Code|&#039;&#039;&#039;binding()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. Posix shell commands to source before starting the &lt;/del&gt;Sugar Shell&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Function should return a list of strings. Resulting lines will be sourced before starting the Sugar Shell process. Note that sourcing will happen before starting DBus session and after X session.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* {{Code|&#039;&#039;&#039;control_panel_section()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. If it exists, it should return a widget to place as a sub-section in the &#039;&#039;Sweets Distribution&#039;&#039; Control Panel section. The returning widget should take care of reading/writing the plugin configuration on its own, and should assume the application of configuration changes right after making them, i.e., without any apply buttons. The regular way to handle plugin configuration is using {{Code|Option}} class like the example code does below.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Use [http://git.sugarlabs.org/desktop/sugar-example-plugin example plugin&lt;/del&gt;] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source as a template for new ones.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alsroot</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=82316&amp;oldid=prev</id>
		<title>FGrose at 00:53, 19 August 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=82316&amp;oldid=prev"/>
		<updated>2012-08-19T00:53:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:53, 18 August 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;over&lt;/del&gt;, thus, they are assumed to be setup by Sugar distributors or experienced users.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;other&lt;/ins&gt;, thus, they are assumed to be setup by Sugar distributors or experienced users.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Plugin ia &lt;/del&gt;a Python module placed &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to &lt;/del&gt;{{Code|/opt/sweets/sugar/src/jarabe/plugins/&#039;&#039;PLUGIN_NAME&#039;&#039;}} directory. To make plugin module useful, it should contain the following variables and functions:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A plugin is &lt;/ins&gt;a Python module placed &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in a &lt;/ins&gt;{{Code|/opt/sweets/sugar/src/jarabe/plugins/&#039;&#039;PLUGIN_NAME&#039;&#039;}} directory. To make &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/ins&gt;plugin module useful, it should contain the following variables and functions:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&amp;#039;&amp;#039;&amp;#039;ORDER&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Required. Variable with plugin order. Plugins with smaller {{Code|ORDER}} will be initiated and started earlier.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&amp;#039;&amp;#039;&amp;#039;ORDER&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Required. Variable with plugin order. Plugins with smaller {{Code|ORDER}} will be initiated and started earlier.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;TITLE&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. This title will appear in &#039;&#039;Sweets Distribution&#039;&#039; Control Panel component to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;let &lt;/del&gt;user &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a chance &lt;/del&gt;to enable/disable plugin. If {{Code|TITLE}} is omitted, plugin will be enabled unconditionally.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;TITLE&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. This title will appear in &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;&#039;&#039;Sweets Distribution&#039;&#039; Control Panel component &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in order &lt;/ins&gt;to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;provide a &lt;/ins&gt;user &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the opportunity &lt;/ins&gt;to enable/disable &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;plugin. If {{Code|TITLE}} is omitted, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;plugin will be enabled unconditionally.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;init()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Required. Initialize the plugin. This function will be called before Shell initialization phase, so, it is possible to put &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;here &lt;/del&gt;monkey patching code.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;init()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Required. Initialize the plugin. This function will be called before &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;Shell initialization phase, so, it is possible to put &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Wikipedia:Monkey patch|&lt;/ins&gt;monkey patching&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;code &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;here&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&amp;#039;&amp;#039;&amp;#039;start()&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Required. Start the plugin. Actual starting the plugin. This function will be called when Shell starts heavy code like Journal.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&amp;#039;&amp;#039;&amp;#039;start()&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Required. Start the plugin. Actual starting the plugin. This function will be called when Shell starts heavy code like Journal.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;binding()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. Posix shell commands to source before starting Sugar Shell. Function should return a list of strings. Resulting lines will be sourced before starting Sugar Shell process. Note that sourcing will happen before starting DBus session and after X session.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;binding()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. Posix shell commands to source before starting &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;Sugar Shell. Function should return a list of strings. Resulting lines will be sourced before starting &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;Sugar Shell process. Note that sourcing will happen before starting DBus session and after X session.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;control_panel_section()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. If it exists, it should return a widget to place as a sub-section &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to &lt;/del&gt;&#039;&#039;Sweets Distribution&#039;&#039; Control Panel section. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Returnig &lt;/del&gt;widget should take care &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;about &lt;/del&gt;reading/writing plugin configuration on its own and should assume &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;applying &lt;/del&gt;configuration changes right after making them, i.e., without any apply buttons. The regular way to handle plugin configuration is using {{Code|Option}} class like &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;below &lt;/del&gt;example code does.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Code|&#039;&#039;&#039;control_panel_section()&#039;&#039;&#039;}}&amp;lt;br&amp;gt;Optional. If it exists, it should return a widget to place as a sub-section &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in the &lt;/ins&gt;&#039;&#039;Sweets Distribution&#039;&#039; Control Panel section. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The returning &lt;/ins&gt;widget should take care &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of &lt;/ins&gt;reading/writing &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;plugin configuration on its own&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;and should assume &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the application of &lt;/ins&gt;configuration changes right after making them, i.e., without any apply buttons. The regular way to handle plugin configuration is using {{Code|Option}} class like &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;example code does &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;below&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Use [http://git.sugarlabs.org/desktop/sugar-example-plugin example plugin] source as a template for new &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;one&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Use [http://git.sugarlabs.org/desktop/sugar-example-plugin example plugin] source as a template for new &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ones&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FGrose</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=82161&amp;oldid=prev</id>
		<title>Alsroot: Created page with &quot;Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each over, thus, they are assumed to be setup by Sugar distributors...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Platform_Team/Sweets_Distribution/Features/Plugins&amp;diff=82161&amp;oldid=prev"/>
		<updated>2012-08-12T08:13:15Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each over, thus, they are assumed to be setup by Sugar distributors...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each over, thus, they are assumed to be setup by Sugar distributors or experienced users.&lt;br /&gt;
&lt;br /&gt;
Plugin ia a Python module placed to {{Code|/opt/sweets/sugar/src/jarabe/plugins/&amp;#039;&amp;#039;PLUGIN_NAME&amp;#039;&amp;#039;}} directory. To make plugin module useful, it should contain the following variables and functions:&lt;br /&gt;
&lt;br /&gt;
* {{Code|&amp;#039;&amp;#039;&amp;#039;ORDER&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Required. Variable with plugin order. Plugins with smaller {{Code|ORDER}} will be initiated and started earlier.&lt;br /&gt;
&lt;br /&gt;
* {{Code|&amp;#039;&amp;#039;&amp;#039;TITLE&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Optional. This title will appear in &amp;#039;&amp;#039;Sweets Distribution&amp;#039;&amp;#039; Control Panel component to let user a chance to enable/disable plugin. If {{Code|TITLE}} is omitted, plugin will be enabled unconditionally.&lt;br /&gt;
&lt;br /&gt;
* {{Code|&amp;#039;&amp;#039;&amp;#039;init()&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Required. Initialize the plugin. This function will be called before Shell initialization phase, so, it is possible to put here monkey patching code.&lt;br /&gt;
&lt;br /&gt;
* {{Code|&amp;#039;&amp;#039;&amp;#039;start()&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Required. Start the plugin. Actual starting the plugin. This function will be called when Shell starts heavy code like Journal.&lt;br /&gt;
&lt;br /&gt;
* {{Code|&amp;#039;&amp;#039;&amp;#039;binding()&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Optional. Posix shell commands to source before starting Sugar Shell. Function should return a list of strings. Resulting lines will be sourced before starting Sugar Shell process. Note that sourcing will happen before starting DBus session and after X session.&lt;br /&gt;
&lt;br /&gt;
* {{Code|&amp;#039;&amp;#039;&amp;#039;control_panel_section()&amp;#039;&amp;#039;&amp;#039;}}&amp;lt;br&amp;gt;Optional. If it exists, it should return a widget to place as a sub-section to &amp;#039;&amp;#039;Sweets Distribution&amp;#039;&amp;#039; Control Panel section. Returnig widget should take care about reading/writing plugin configuration on its own and should assume applying configuration changes right after making them, i.e., without any apply buttons. The regular way to handle plugin configuration is using {{Code|Option}} class like below example code does.&lt;br /&gt;
&lt;br /&gt;
Use [http://git.sugarlabs.org/desktop/sugar-example-plugin example plugin] source as a template for new one.&lt;/div&gt;</summary>
		<author><name>Alsroot</name></author>
	</entry>
</feed>