Creating Plasma::Containments or Plasma::PopupApplets via the scripting api

Richard Dale richard.j.dale at gmail.com
Thu Apr 23 21:10:22 CEST 2009


On Thu, Apr 23, 2009 at 5:07 PM, Aaron J. Seigo <aseigo at kde.org> wrote:
> On Thursday 23 April 2009, Richard Dale wrote:
>> On Wed, Apr 22, 2009 at 4:30 PM, Richard Dale <richard.j.dale at gmail.com>
> wrote:
>> > On Wed, Apr 22, 2009 at 3:59 PM, Aaron J. Seigo <aseigo at kde.org> wrote:
>> >> On Wednesday 22 April 2009, Richard Dale wrote:
>> >>> then a Plasma::Containment is created for the scripting applet.
>> >>
>> >> yes; not a well documented feature.
>> >>
>> >>> We were actually discussing Plasma::PopupApplet, and I wondered if a
>> >>> similar addition to the Applet::load() code, along with a
>> >>> 'Plasma/PopupApplet' ServiceTypes, could be added to handle those?
>> >>
>> >> absolutely.
>> >
>> > Please find a patch attached to add scripting PopupApplets then. I
>> > don't have a build environment for the kdelibs trunk at the moment and
>> > so I can't test it yet, but if anyone else could have a look at it and
>> > commit if ok, that would be great.
>>
>> OK, I've got a version of kde 4.2 kdelibs to build and I've commit a
>> version of the patch that compiles to both the trunk and 4.2 branches.
>
> great...
>
>> Should we add Plasma::GLApplet as another scripting applet type for
>> completeness?
>
> that's a good question; probaby, though it would require gl bindings to be of
> any use... can't hurt anything, i suppose :)
There are gl bindings for Ruby which work well with the Qt GL*
classes, and I would think python has some.

I need to add a new servicetype for the new PopupApplet and so I've
got a file called plasma-applet-popupapplet.desktop containing this:

[Desktop Entry]
Type=ServiceType
X-KDE-ServiceType=Plasma/PopupApplet

Comment=Plasma popup applet
... translations of the comment

Does that seem correct?

The Containment one also has these lines:

[PropertyDef::X-Plasma-ContainmentCategories]
Type=QStringList

Do I need an equivalent one for Plasma/PopupApplets?

C++ PopupApplets don't seem to have their own service defined and they
are just Plasma/Applets. I think I've seen this in a .desktop file
though:

ServiceTypes=Plasma/Applet,Plasma/PopupApplet

Is that what we should have - or is it just wrong, and there should
only ever be one ServiceType defined for plasma things in .desktop
files?

I was going to add this to the 4.2 branch, but if it needs
translations in the service type files, then maybe I shouldn't.

-- Richard


More information about the Plasma-devel mailing list