Re: Background Image Proposal

Rafal Wierzbicki (rafal@mcss.cas.mcmaster.ca)
Wed, 3 Mar 1999 16:26:39 -0500 (EST)



> Ethan Fischer wrote :
> >On Wed, 3 Mar 1999, Rafal Wierzbicki wrote:
> 
> >> I think that asetroot is the better alternative for managing desktop
> 
> looks like I have not made one thing clear. So here is this again :
> 
> We have 6 possible scenarios of using Pager and Backgrounds :
> 1. No Pager, No Backgrounds
> 2. Pager, No backgrounds
> 3. Pager, single background
> 4. Pager, multiple background
> 5. No Pager, single background
> 6. No Pager, multiple backgrounds

 You seem to want to tie Pager to the desktop backgrounds, but:

	- if we ever add gnome compliance to AS, Pager will be replaceable
	  by the GNOME pager
        - users may choose not to use Pager but they still will want to be
	  able to change desktop backgrounds and/or switch desks
	  (it is possible without Pager)
	- users may want to elect to use Pager with color only but still
	  would want to be able to manipulate desktop backgrounds.
 
  The most logical solution to the above scenarios in my opinion is to
leave asetroot the way it is, if the user decides to use an external image
loader he still can, asetroot can be easily disabled.

 > 
> I have absolutely nothing against Asetroot, but look here :
> Using Asetroot makes sense only in scenarios 5 and 6.
> In scenarios 3 and 4 we will end up with 2 modules running at the same time

  Look above, running asetroot makes sense in all scenarios, and if the
user's setup is different from what we expect, asetroot can be easily
disabled.

> :
> Pager to provide desktop management, and Asetroot for the sole purpose
> of background switching!

  That is correct, Pager's task is to manage desks and asetroot's task is
to manage the backgrounds. 

> Background switching is a simple functionality that can fit in 100 lines of
> code,

  First of all, you're suggesting loading all desk backgrounds into memory
at startup, talk about memory and CPU waste. You want to set up a number
of X properties which will cause a furtther waste of both memory and cpu +
increased network traffic for people who networked workstations.

> and to have that I'll need to run whole additional module, wasting my 
> memory and
> CPU.
> I'm telling you the truth - I would hate that. I would rather see this 100
> lines
> incorporated in to a Pager, as long as it's already monitoring Desk
> changes

  Get rid of Pager's image handling, leave *only* transparency in, cut out
all those needless, pointless options the Pager has and I guarantee you
that with asetroot and Pager both running at the same time your memory
usage will be greatly reduced and not only that.  This will make it easier
for the user to configure the thing.

> But in this case I need those images to be loaded  into memory (only once).
> The best way to do that is to run some prog on startup, that will set up X
> properties with
> image information.

  That can be discussed further, is it worth loading all images at once...
if so the ROOT_PMAP prop can be used to store and obtain more than one
pixmap at a time.

> Ok, if we don't want one more prog to do this - let's modify Asetroot, so
> if it's run
> not as a module - it will load all images into memory and set up those X
> properties, and
> possibly display first desk's image on screen.

  I disagree, first of all asetroot can detect when a user selects an
image from the root menu, display it and save its configuration, 2nd of
all I'm working on a gui (Wharf) for asetroot that will allow for changes
of bg image styles at runtime and so forth.  Don't forget that asetroot
can be disabled at any time (Modules->Stop asetroot).