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