gnome panel question



Hi,

I want to try and fix something about the panel that has been bugging me 
for a long time : the fact that, when you move applets around on your 
panel, they will still be lumped to the right of the panel on a restart.

I digged through the code with a bit of help from Mark, and it seems there 
are various hacks that explain this behaviour at work.  Notably, there's a 
right_stick option that forces applets to the right.

Basically, the problem is like this :
a) each item on a panel stores its position in the panel in its gconf key 
(the position looks like pixel offset from start of panel)
b) items on the panel get loaded on startup
   an applet doesn't get loaded automatically, but a loader function is
   scheduled, apparently to make sure the panel starts up quickly 
   regardless of applet load times
c) basically, the stored position gets ignored mostly and items are put on
   the panel in their loading order
d) applets thus end up always on the right

Well, in any case, this is irritating to the user ;) the panel doesn't 
behave as expected.  Rather than trying to put in another hack, I'd like 
to eliminate the right_stick hack and solve it more or less in a clean 
way.  Since I'm pretty new to gnome hacking and I don't know the history 
of the panel well, I'd thought I'd ask for some input to see if I have the 
right ideas to solve it.

First of all, I'd like to know what the right_stick hack intended to solve 
exactly.  Mark told me that it is supposed to be a hack to solve the 
problem that, when your screen gets bigger or smaller, and thus also the 
panel, the applet ends up in a reasonable place instead of at the fixed
position stored in the configuration.  I can somehow follow that point, 
but is this all there is to it ?

Finally, my proposal.  I'd like to fix the panel so that it actually makes 
use of the stored position values.  I intend to interprete these values as 
an indication of relative position between items on the panel; ie if one 
launcher is at 0, an applet at 50, and the logout at 200, then to me it is 
clear that the applet should end up right behind the launcher and in front 
of the logout.
The only thing that I would need to change then is
a) maintain a list of items on the panel and relative positions
b) when an applet gets loaded, check after what item it should 
immediately come and put it there in the widget container

I think this enables the need for the right_stick hack and would work in 
all instances.  Please tell me if I'm overlooking anything here.

All comments to help out a newbie gnome hacker are welcome ;)

Thomas

-- 

The Dave/Dina Project : future TV today ! - http://davedina.apestaart.org/
<-*-                      -*->
The girl that I could never hurt
had to go and lose all that power over me
and I claimed victory
<-*- thomas apestaart org -*->
URGent, the best radio on the Internet - 24/7 ! - http://urgent.rug.ac.be/




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