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)

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