Plasma/shellPackage: Difference between revisions
(Created page with "=Package filesystem= Package Type in desktop file: Plasma/Shell contents/components/ contents/views/ contents/layout.js -> file contents/defaults ->file ==contents/compo...") |
No edit summary |
||
Line 19: | Line 19: | ||
Where <containment type> is allowed to be '''Desktop''' or '''Panel''' | Where <containment type> is allowed to be '''Desktop''' or '''Panel''' | ||
==contents/layout.js== | |||
The default layout JavaScript file supports a similar API to Plasma1 desktop scripting. | |||
The manipulation of Applet geometry will change a bit. | |||
==contents/defaults== | |||
Default settings | Default settings | ||
Line 26: | Line 30: | ||
Default containment for each type | Default containment for each type | ||
Default toolbox | Default toolbox | ||
Example defaults config file | Example defaults config file |
Revision as of 19:19, 4 March 2013
Package filesystem
Package Type in desktop file: Plasma/Shell
contents/components/ contents/views/ contents/layout.js -> file contents/defaults ->file
contents/components/
Shell UI components - named files AppletError.qml CompactApplet.qml Configuration.qml WidgetExplorer.qml
contents/views/
Each view (panel view or desktop view) will load a qml file that will "contain the containment", it will have the form <containment type>.qml Where <containment type> is allowed to be Desktop or Panel
contents/layout.js
The default layout JavaScript file supports a similar API to Plasma1 desktop scripting. The manipulation of Applet geometry will change a bit.
contents/defaults
Default settings ContainmentActions Default containment for each type Default toolbox
Example defaults config file
[Desktop] ContainmentPlugin=org.kde.desktop ToolBox=org.kde.standardtoolbox [Desktop][ContainmentActions] Ctrl;LeftButton=org.kde.standardmenu MiddleButton=org.kde.paste [Panel] ContainmentPlugin=org.kde.panel ToolBox=org.kde.standardtoolbox [Panel][ContainmentActions] Ctrl;LeftButton=org.kde.standardmenu [Theme] Theme=air-mobile
Layout package details In metadata.desktop: X-Plasma-ContainmentCategories=<containment type>
Applet geometry setting Containment geometry strategies: * None * Indexed * Grid * Free * Grouped
Applet geometry manipulation from scripts
Item { property int appletPlacementStrategy: “indexed”
Connections { target: parent onIndexedPlacementRequest: applet, index onGridPlacementRequest: applet, x, y onFreePlacementRequest: applet, point }
}
PlacementStrategy ContainmentInterface::placementStrategy() const {
// look up the appletPlacementStrategy property and return it
}
void ContainmentInterface::requestIndexedPlacement(Applet *applet, int index) { if (placementStrategy() == IndexedStrategy) { emit indexedPlacementRequest(applet, index); } }