Plasma/DesktopScripting: Difference between revisions

From KDE Community Wiki
No edit summary
 
Line 1: Line 1:
This page records currently outstanding TODOs for the Plasma Desktop Scripting support. Please feel free to tackle any of the items below at your convenience.
==Change of names?==
Change name from "Plasma Desktop Scripting" to "Plasma Shell Scripting"?


== Application Querying ==
==Desktop==
* <s>''Boolean'' '''applicationExists(String name)''': searches $PATH first, then application storage name (aka the .desktop file name), then Name= entries for apps with installed .desktop files, then GenericName= entries for same</s>
In the current API, "Activity" refers to a desktop containment. This mapped nicely to the old concept of "desktop is the activity" but failed as we extended the reach of activities beyond the desktop shell. So:
* <s>''String'' '''defaultApplication(String kind)''': returns the desktop entry or the executable if none exists of the default app, if any (e.g. terminal, web browser, email, etc)</s>


=== Rejected Pending Use Case ===
* rename Activity to Desktop
* make it possible assign a Desktop to an Activity


* ''Array[String]'' '''matchingApplications(String name, String category, Array[String] keywords)'''
==Activities==
A proper API for managing activities including:


== Path Queries ==
* querying existing by name or id
* creating
* switching


* <s>''String'' '''dataPath(String name)''': returns the default path for pictures, movies, documents, etc.</s>
==Wallpaper==
* <s>''String'' '''applicationPath(String name)''': returns the full local path to a given application or .desktop file</s>
Needs to be re-examined in light of new QML Wallpaper support


== Wallpapers ==
==Configuration Keys==
Would it be useful to include a bit of optional json or kconfigxt xml in plasmoid and containment packages describing their configuration, which the scripting could then access as a means of seeing what can be read and set? See [http://techbase.kde.org/KDE_System_Administration/PlasmaDesktopScripting#Configuration_Keys current dox on keys.]


* <s>''Array[String]'' '''knownWallpaperPlugins''': returns a list of all installed wallpaper plugins and their modes</s>
If actually used by plasmoids/containments for their config needs (which means kconfigxt is probably not good enough)  would provide a very nice and reliable introspection method.

Latest revision as of 14:33, 1 February 2013

Change of names?

Change name from "Plasma Desktop Scripting" to "Plasma Shell Scripting"?

Desktop

In the current API, "Activity" refers to a desktop containment. This mapped nicely to the old concept of "desktop is the activity" but failed as we extended the reach of activities beyond the desktop shell. So:

  • rename Activity to Desktop
  • make it possible assign a Desktop to an Activity

Activities

A proper API for managing activities including:

  • querying existing by name or id
  • creating
  • switching

Wallpaper

Needs to be re-examined in light of new QML Wallpaper support

Configuration Keys

Would it be useful to include a bit of optional json or kconfigxt xml in plasmoid and containment packages describing their configuration, which the scripting could then access as a means of seeing what can be read and set? See current dox on keys.

If actually used by plasmoids/containments for their config needs (which means kconfigxt is probably not good enough) would provide a very nice and reliable introspection method.