Some notes on gnome-panel.idl



Tonight I finally looked at gnome-panel.idl.  I have a few
suggestions.

First, I don't really understand why it reparents windows instead of
just parenting them correctly at creation time.  (I haven't really
looked at the details of Gtk, so I don't know if this is even
possible.)  Shouldn't we just use Owen's plug/socket code?


My second comment is about the state-saving part of the interface.  It
assumes that panel applets have very modest state-saving needs.  For
instance, the X session management protocol defines a way for an
application to register command that the session manager can run to
clean up state associated with a given application.  There is no way
to expose this to a panel applet.

I think there are two reasonable ways to go here:

1. Take the state saving code out of gnome-panel.idl, and use the X
session management for applets.  This has some complications: the
panel (probably) must become a session manager.  Basically this means
turning the guts of gnome-session into a library.

2. Expose the relevant bits of the X protocol in an IDL interface, and
have GNOME::Applet inherit from this new interface.  This might be
complicated, too, but in a different way.

Will we ever want to write a program that can run both as a panel
applet and as a standalone app?  If so, that might influence our
choice (or at least how we expose session management to the applets
themselves).

Tom



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]