Backdrop list

Brian J. Tarricone bjt23 at cornell.edu
Sun May 2 10:31:51 CEST 2004


Brian J. Tarricone wrote:

> Andrew Conkling wrote:
>
>> While you're at it, could you implement some way of removing the current
>> background? from the list, or at the very least, some way of
>> ascertaining the name of the current background?  I made a list of 300+
>> pictures, all with similar names, and I'd like to systematically take
>> out those that are less suitable for background usage.
>
> another good idea - you're just full of them this weekend, mmm? ^_^  
> let's see...  i suppose probably the easiest way that doesn't 
> introduce new UI elements is to preselect the current backdrop when 
> you click the 'edit list' button.  i like that because it's simple, 
> but i don't like it because it's non-obvious: for a new user, it may 
> not be readily apparent that a particular item is selected by 
> default.  or, conversely, they may look for this particular feature, 
> and not notice that it's actually there.
>
> but, it's simple and elegant, so i'm going to go ahead and implement 
> it.  if anyone can think of something more clever, feel free to speak up.

yah, so after looking this over, it occurs to me that there's no way for 
the settings panel to know which backdrop is selected.

first note to make this clear: the settings panels (which are really 
just shared libs loaded by and running in the process space of 
xfce-mcs-manager) are the only things 'allowed' to set settings.  the 
apps themselves can only read them.  this is an unfortunate limitation 
of xfce-mcs-manager (this limitation makes the mcs manager a _lot_ 
easier to implement, but, obviously, has its drawbacks).

xfdesktop itself gets the signal to reload itself, and so it notices 
that the currently selected desktop image (which it _reads_ from the mcs 
manager's settings) is actually a list file.  it randomly selects an 
image from the list, and sets it.  it doesn't notify the settings panel 
because, as i said, it has no way of doing so.  the settings panel has 
no idea, in fact, that the image has just changed.

so you pop open the settings panel, and want to edit the list file.  i'd 
love to preselect the current backdrop, but the settings panel doesn't 
know what it is.  all it knows is that a list file is selected.

so, unfortunately, no-go on this feature for the time being, as making 
it work would require a heavy redesign.  my first simple thought was to 
make the settings panel responsible for selecting the random image from 
the list file.  but running 'xfdesktop -reload' (or just 'xfdesktop', 
when it's already running) sends a message to xfdesktop itself, which 
runs in a separate process space from the settings manager.  it would be 
theoretically possible to have it use a similar mechanism to tell the 
settings panel to reload its settings (and pick a new image), but that 
would affect the mcs manager as a whole (including the settings panels 
for every other xfce app), and i'm not sure that doing that would be 
safe - i.e., it could step on one or more of the other settings panels' 
toes.

at least this is how i see it at 4:30am.  sorry for the long rambly 
response (and the flood of list emails from me), but i figured after i 
said i'd implement the feature, i owed some kind of explanation why i'm 
now not going to do it.  the only way i can think of doing it without 
too much trouble would be to draw text on top of the image itself 
stating what the filename is.  this is incredibly ugly and stupid, and 
there's no way i'm going to do it (esp. since i know some people, like 
myself, would hate it and want to disable it, and this would be a rather 
bloaty pref).

    -brian



More information about the Xfce mailing list