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