Wrapping the panel

Nick Schermer nickschermer at gmail.com
Mon Sep 7 23:50:08 CEST 2009


2009/9/7 Bo Lorentsen <bl at lue.dk>:
> Nick Schermer wrote:
>>
>> XfceInternalPanelPlugin is an object that implements the
>> XfcePanelPlugin interface, with a GtkEvenBox as parent
>> type.XfceExternalPanelPlugin the same but with a GtkPlug as parent
>> type. XfcePanelPlugin (the iface) also implements a base for the
>> signals and properties.
>>
>
> Hmm, the XfcePanelPlugin don't seem like a interface to me, and technically
> a pure interface can't have signals nor properties.

Yes i can have that, using a base.
>>
>> Both the internal and external plugins also implement the
>> XfcePanelItem interface, which is the communication between the panel
>> and plugin (XfcePanelPlugin interface the users' side of the
>> implementation).
>>
>
> Ok, this XfcePanelItemInterface is new to the 4.8 version of the panel ?

No, 4.6. In 4.8 it's called the XfcePanelPluginProvider iface, but you
don't have to do anything with those since they are not public api.

> Are there any working doc. on the internal of this new panel ?

Me? Docs? Think twice ;-).

> So to me we need something like this (internal and external may disappear in
> 4.8 ?)

4.8 looks like this (compiled as a library):
GtkEventBox
    XfcePanelPlugin
        UserPlugin

Internal/external is defined in the .deskop file of the plugin. If the
plugin is external the panel will start the plugin in a wrapper
application which is a GtkPlug with dbus communication to the panel.

> It seems to me that you broke a few GTK+ roles too :-)

Everything is legal and implemented as it should be (tm), just a bit
more complicated then it will be in 4.8.

Nick



More information about the Xfce4-dev mailing list