Re: Background Image Proposal

Sasha_Vasko@osca.state.mo.us
Wed, 3 Mar 1999 16:01:19 -0600





>> 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:

By every means - NO !
I've just listed all possible scenarios

>    - if we ever add gnome compliance to AS, Pager will be replaceable
>      by the GNOME pager

That will fall under scenario 5 or 6 - and user will use asetroot in that
case

>        - 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)

That is scenario  6 - again user will use asetroot

>    - users may want to elect to use Pager with color only but still
>      would want to be able to manipulate desktop backgrounds.

In that case they disable Pager's background handling at compile time, and
again - use asetroot

>  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.

The idea is not to threw asetroot away - but to enchanse it, and create
better
communication protocol between it and Pager or other module.

>
> >
>> 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.

It does not make sense in scenarios 3 and 4 whichg will be substantial
amount of users
We've got to provide choice to the user !

>
>> :
>> 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 management consists of two parts - image loading and
background switching between desks - last one is very small, does not take
alot of
code and can be incorporated anywhere - asetroot, Pager, any other ASapp or
module -
that's a whole point !
>
>> 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

For most users that does not make any difference as far as all the desks
will be
used right away - for the rest of ppl, who wants to have several desks set
aside
just in case - they are wellcome to use asetroot !

>of X properties which will cause a furtther waste of both memory and cpu +
>increased network traffic for people who networked workstations.

Transferring 100 bytes over network every once in a while would not make
much
difference - at the same time one more module receiving messages from
afterstep
would put a bigger load on.

Again, If you do not agree with that - fine. I'll write this prog myself
for my own
enjoyment  - will be able to compare load in both cases and  if it is
sensible to
do we'll merge it to AfterStep, or I'll release it as some separate AS app.

>
>> 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 will be done in any case !

>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

Yes, but you can't argue with that Pager and no asetroot will be even more
efficient !

>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).

That's fine ! But we can use two different ways of starting asetroot !

BTW asetroot does not include support for image loading using external
loader -
as Pager does at the momment. That is a cool feature, and you should add
this one
to Asetroot.
Also Asetroot does not include all those great stuff that I've proposed to
put in config file,
like shading, differet tiling etc - Enhance it.


Sasha