Context Item Add-ons: Difference between revisions
Created page with " Context item add-ons allows the Context menu in Kodi to be extended. Add-ons must provide the <code>kodi.context.item</code> extension point and a item definition as foll..." |
No edit summary |
||
| Line 57: | Line 57: | ||
xbmc.executebuiltin("Notification(\"Hello context items!\", \"%s\")" % message) | xbmc.executebuiltin("Notification(\"Hello context items!\", \"%s\")" % message) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Add-on development]] | |||
Revision as of 08:24, 3 March 2015
Context item add-ons allows the Context menu in Kodi to be extended. Add-ons must provide the kodi.context.item extension point and a item definition as follows:
<item> <label></label> <visible></visible> <parent></parent> </item>
<label>: Required. The label to show in the context menu. String or an ID from the language file.
<visible>: Required. A visibility expression that determines when the item will be visible in the context menu.
<parent>: Optional. The parent group for the context item. If "kodi.core.manage" the item will be added under the "Manage" sub-menu. If not specified, it will be added to the top level.
It is currently only possible to provide one item per add-on.
Note: Before adding a context menu extension to existing add-on, keep in mind that there is limited space in the context menu and that having multiple extension in and add-on will force the user to have all of them enabled at the same time.
Example addon.xml definition:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="context.item.hello.world" name="Hello World" version="1.0.0" provider-name="your-name">
<requires>
<import addon="xbmc.python" version="2.20.0"/>
</requires>
<extension point="kodi.context.item" library="addon.py">
<item>
<label>Hello World</label>
<visible>!IsEmpty(ListItem.Genre)</visible>
</item>
</extension>
<extension point="kodi.addon.metadata">
<platform>all</platform>
<summary></summary>
<description></description>
</extension>
</addon>
Example python script:
The item the context menu was opened on can be accessed in python via the sys.listitem attribute. The attribute is an instance of xbmcgui.ListItem. The following example script will display a notification message showing the name of item:
import sys
import xbmc
if __name__ == '__main__':
message = "Clicked on '%s'" % sys.listitem.getLabel()
xbmc.executebuiltin("Notification(\"Hello context items!\", \"%s\")" % message)