Saturday, January 15, 2011

plasma desktop scripting API updates for 4.7 release

I've been adding useful bits of API to the Plasma Shell Scripting with every release since it debuted. The Plasma Workspaces 4.6 release slated for this month will have "API version 3", which is backwards compatible with all previous releases and adds the following:


  • theme: read/write string containing the name of the desktop theme to use for the interface, e.g. default, Air, Oxygen, etc.

  • multihead: read-only boolean, true if the system is running with multiple screens in a "Xaphod" multiple display server configuration

  • multiheadScreen: read-only number which, if multihead is true, contains the (real) screen id of the current screen



Not tremendously exciting, but that's because we don't add random bits of API hoping that they could be useful to someone, somewhere, sometime. When we find new use cases, either due to our own use of the API or because someone else who uses it (e.g. distro packagers, power users...) sends us an email or files a feature request, we examine them for validity and how best to service that need.

Even though 4.6.0 isn't out yet, we already had a backlog of items for 4.7 since we got a small raft of requests after the feature freeze for 4.6. I implemented them all over the past few days, however, so API version 4 will also include:


  • boolean applicationExists(String name)

  • mixed defaultApplication(String kindOrMimetype [, boolean storageId = false])

  • String applicationPath(String name)

  • String dataPath([String type[, String path]])

  • Array[String => Array[String]] knownWallpaperPlugins()



As usual, they are all documented in full on the Plasma Shell Scripting page on Techbase.

Those following development in trunk can try out the new API right now and feedback is quite welcome. If you have a use case that isn't being met by the current API, please let us know sooner rather than later so that I can schedule them for the 4.7 release.

1 comment:

toddrme2178 said...

Great, good to see better multi-head support.