Plasma/shellPackage

From KDE Community Wiki
Revision as of 19:16, 4 March 2013 by Notmart (talk | contribs) (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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

Default layout

  • A BUNCH OF STUFF HERE?*

Default settings ContainmentActions Default containment for each type Default toolbox


contents/defaults

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); } }