pyxfce panel plugin

Jannis Pohlmann info at sten-net.de
Sun Mar 19 18:26:21 CET 2006


On Sun, 19 Mar 2006 17:55:13 +0100
"daniele favara" <danjele at gmail.com> wrote:

> On 3/19/06, Jasper Huijsmans <jasper at xfce.org> wrote:
> > daniele favara schreef:
> > > On 3/19/06, Danny Milosavljevic <danny.milosavljevic at liwest.at>
> > > wrote:
> > >> Hi,
> > >>
> > >> Am Donnerstag, den 16.03.2006, 08:42 +0100 schrieb daniele
> > >> favara:
> > >>> hi all,
> > >>>
> > >>> i decided to test pyxfce ... and here there is a first panel
> > >>> plugin in python.
> > >>>
> > >>> bzr:     http://www.dsslive.org/bzr/basilico/
> > >>> tar.gz: http://www.dsslive.org/downloads/basilico/
> > >>> shots:  http://www.dsslive.org/mediawiki/index.php/Basilico
> > >>>
> > >>> it would be nice if someone could test it.
> > >> nice :)
> > >>
> > >> Works here
> > >>
> > >>
> > >>> i would even help on writing the pyxfce referencies .. if
> > >>> someone could help me on that, i don't really know how it is
> > >>> normally done.
> > >> Depends on what kind of docs you want to write... most of the
> > >> bindings are just generated code so the xfce C docs are usually
> > >> sufficient for a reference...
> > >
> > > it would be useful i think to have sae doc as pygtk.
> > >
> > >> But for example a tutorial would be nice to have :)
> > >>
> > >>
> > >>> it's really far from being stable ... but the main issue i
> > >>> found was that i couldn't resize the gtk.Container ... is it me
> > >>> or a pyxfce bug ?
> > >> What do you mean? resize what? Containers resize automatically...
> > >> whenever the allocation of the contents changes...
> > >
> > >                label=gtk.Label("Computer")
> > >                #label=gtk.Label()
> > >                label.set_size_request(args[0],128)
> > >                #print
> > >                #"=======================",label.get_size_request()
> > >                label.show()
> > >                # === Add Label and Icon to Box ===
> > >                box.pack_start(icon,expand=True, fill=True,
> > > padding=0  )
> > >                #box.add(icon)
> > >                box.pack_end(label,expand=True, fill=True,
> > > padding=0  )
> > >                #box.add(label)
> > >
> > > i would expect here to have:
> > >
> > > [icon | computer] (as for xfce4-menu plugin)
> > >
> > > but the button size doesn't change.
> > >
> >
> > Do you handle the size-changed event from the plugin? There is a
> > default handler that will run otherwise. A C handler must return
> > TRUE to prevent the default handler to run; I presume there is
> > something similar for the python bindings?
> >
> 
> == __init__ ==
> self.constructor=xfce4.panel.Plugin()
> self.constructor.window.set_geometry_hints(min_width=128)
> self.constructor.connect("size-changed",self.cb_size) # Init Panel
> Plugin
> 
> == self.cb_size ==
> 
> here is the whole gtk stuff ... button box and so on as the
> size-changed signal is sent when the plugin has been added.
> 
> let's say the panel size (height) is  33 the signal return a tuple
> like this:
> 
> size-changed signal (33,)
> 
> then i tried even to use:
> 
> widget.set_size_request(args[0],128)
> 
> where args[0] is the size (33)
> 
> then for each widgets i tried:
> 
> print widget.get_size_request()
> 
> and i get normally:
> 
> (33, 128)
> 
> but in the panel the button has still a size of (33,33).

Do you return true from the size-changed callback? If not the changes
you made may not be recognized properly.

- Jannis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
URL: <http://mail.xfce.org/pipermail/xfce4-dev/attachments/20060319/4baebf31/attachment.pgp>


More information about the Xfce4-dev mailing list