New panel framework

Erik Harrison erikharrison at gmail.com
Fri Sep 2 01:19:17 CEST 2005


On 9/1/05, Jasper Huijsmans <jasper at xfce.org> wrote:
> Hey all,
> 
> I have just created and experimental branch for the panel, into which I
> imported the sources of a new panel framework that I've been working on
> for, well, for a long time ;)
> 
> It may disappoint you to learn that it doesn't do anything useful yet.
> In fact, there is a lot of basic functionality still missing. But, it
> should be possible for a developer to get a good idea of the general design.

For those people who don't know where to look, perhaps you could
provide download instructions? ;-)

> 
> To test it do the following:
> 
> 1) ./autogen.sh --prefix=/somewhere/safe && make && make install
> 
> 2a) mkdir -p ~/.local/share/xfce4
> 2b) ln -s /somewhere/safe/share/xfce4/panel-plugins \
>           ~/.local/share/xfce4/panel-plugins
> 
> (This is need for the new panel to find its plugins. Disaster awaits
> otherwise).
> 
> 3) LD_LIBRARY_PATH=/somewhere/safe/lib:$LD_LIBRARY_PATH \
>         /somewhere/safe/bin/xfce4-panel &
> 
> 4) Play around with it. Be sure to right-click on the items.
> 
> 5) /somewhere/safe/bin/xfce4-panel -x  (if it didn't crash earlier)
>     Try '/somewhere/safe/bin/xfce4-panel -h' for more available options.
> 

All of these worked fine

> After that, please also have a look at the code and see if it makes
> sense to you. For the plugin system read README.Plugins first.

I'm no one to criticize C code, but it looks very pretty in there, and
well laid out. Although I would hope that eventually Dbus could be
used for IPC, there isn't anything that I could see that prevents that
occuring.

The plugin interface looks excellent. I gave it a relatively quick
looksie, perhaps I should try porting or writing a plugin to see if it
has any limitations.

I like that from the programmer's perspective there is not real
difference in making an external or an internal panel item. I would
however worry that if the examples ship as internal, then people will
build internal plugins out of ignorance instead of necessity.

> 
> It does support a lot of cool things already, but most of the
> implementation is incomplete:
> * multiple panels
> * both internal and external plugins (an example of each is included)
> * transparency, autohide, size, monitor settings, fixed width
> * either a fixed position or floating with horizontal or vertical
>    orientation
> 
> 
> I'd like to know a few things:
> 
> * Does it work?

Yes. It crashed once on exit, out of the three or four times I shut it down.

> 
> * Does the dialog design and the available options look useful.
> 

Mostly. I don't have that many monitors. ;-)

Perhaps we should be able to name panels when they are created? And
then you right click on a panel, click configure, and the dialog comes
up with that panel pre selected.

> * Does the panel plugin system look like it will be able to support all
>    current functionality?

I don't know how well it maps to the current API, but it seems to
support all of the functionalty that current plugins use.

> 
> 
> I don't think it is time yet to start porting plugins, but it shouldn't
> be very hard to do. Again, information about the plugin system is
> available in README.Plugins.
> 
> I know it sometimes crashes on exit. It probably has to do with
> GtkSockets being destroyed while they are being removed from the panel.
> Or something.

That loop in clean up sets off alarms in my head for some reason. It
seems like a dangerous to thing to do without locking the panel in
some way, but I'm probably ignorant, stupid, or both.

> 
> So, for anyone who has some time to waste and would like to help me
> create a new panel for 4.4, here is your chance. Enjoy!
> 

I wouldn't call it a waste 

> Thanks,
>         Jasper
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> http://foo-projects.org/mailman/listinfo/xfce4-dev
> 


-- 
"This brings me back to a time where I had no worries. 
All I needed to do was watch Perfect Strangers."
-Erik



More information about the Xfce4-dev mailing list