Subject: FVWM: changing the desktop background

From: Rick Jones <[email-masked]>
Date: Wed, 9 Oct 2002 16:52:02 -0400 (EDT)

I know this must be a *VERY* simple thing to do with
fvwm but I haven't seemed to find anything saying how
to set the "desktop" to a specific color.

Rick

______________________________________________________________________ 
Post your free ad now! http://personals.yahoo.ca
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Dan Espen <[email-masked]>
Date: Wed, 09 Oct 2002 17:14:56 -0400

> to set the "desktop" to a specific color.

Question 6.6 in the FAQ:

6.6  How do I set the background with fvwm?

A: Setting the background image is not really part of the window
   manager.  If you are using one of the Linux distributions,
   most likely, some part of the distribution is setting the background
   for you.

   There is a program shipped with fvwm (fvwm-root, previously known as
   xpmroot) that you can use to set the background to XPM or PNG image.
   Other programs like "xv", "xli", "xloadimage", and "display" may be
   used too, they support some image formats that fvwm-root does not.

   If you just want a static image on your background, you might invoke
   one of these programs from your .xsession or .xinitrc file.  You can
   also invoke one of these programs from the InitFunction in your
   .fvwm2rc.

   The fvwm module FvwmBacker can be used to change the background
   depending on the desk you are currently on.

-- 
Dan Espen                           E-mail: [email-masked]

---

From: Wolfgang Pfeiffer <[email-masked]>
Date: Wed, 9 Oct 2002 23:40:27 +0200 (CEST)

> to set the "desktop" to a specific color.

I have this in my
~/.fvwm/themes/personal/background
file (I really hope I understand this file correctly: it's some weeks
ago I changed it, IIRC .. :):

############################################
DestroyFunc FuncFvwmStartThemeBackground
AddToFunc   FuncFvwmStartThemeBackground
#+ I exec xsetroot -bg blue -fg black
+ I exec xsetroot -solid rgb:2C/57/F5

DestroyFunc FuncFvwmStopThemeBackground
AddToFunc   FuncFvwmStopThemeBackground
+ I Nop
###########################################

Important, as it seems, this line:
+ I exec xsetroot -solid rgb:2C/57/F5
this gives you an *extremely beautiful blue background :)

this line :
#+ I exec xsetroot -bg blue -fg black
is (as I hope :) my backup of what was there valid before.

Rick:
My apologies for having sent you back some moments ago my definitely
incomplete answer to your mail ... this was an accident: Sorry about
that ...

Regards
Wolfgang

-- 
Key on: http://home.t-online.de/home/520050060325-0001/
Key fingerprint = 5FFA E2D1 6DB5 C023 0C5F  3FA7 4E08 5F9F 1560 0BA8

Home Page: www.geocities.com/wolfgangpfeiffer/

                            -- END TRANSMISSION --

---

From: Glyn Millington <[email-masked]>
Date: Wed, 09 Oct 2002 22:38:16 +0100

> to set the "desktop" to a specific color.

I use a nice little program called "chameleon"!  It's available on the
Debian sites but haven't been able to find it  elsewhere.

Glyn

---

From: Wolfgang Pfeiffer <[email-masked]>
Date: Thu, 10 Oct 2002 00:15:04 +0200 (CEST)

> ago I changed it, IIRC .. :):

 ... at least that's what I'm hoping for ... :)

I have these these rpm's installed, too:
fvwm-themes-extra-0.6.1-1
fvwm-themes-base-0.6.1-1

Regards
Wolfgang

                            -- END TRANSMISSION --

---

From: Steve Talley <[email-masked]>
Date: Thu, 10 Oct 2002 10:35:10 -0600

Rick Jones wrote:

> I know this must be a *VERY* simple thing to do with fvwm but I
> haven't seemed to find anything saying how to set the "desktop" to a
> specific color.

I use a program called xvirtualroot (attached).  All it does is
display an image or color in a full-sized window.  Any mouse clicks on
the xvirtualroot window get passed to the root window underneath (so
fvwm mappings on the root window work).

Then in my .fvwm2rc, I have:

Style XVirtualRoot CirculateSkip, StaysOnBottom, NeverFocus, NoTitle, NoHandles, WindowListSkip, BorderWidth 0, StartsLowered

Since I have three desktops, I start three xvirtualroot windows (one
on each desktop, with different background images) at startup.

xvirtualroot also supports the __SWM_VROOT window property, which some
window managers use to designate the "virtual" root window.
Subsequently programs which support this property (like xv) can draw
to this window.  For example, running "xv --root ..." will result in
xv drawing to the xvirtualroot window instead of the actual X root
window.

    Usage: xvirtualroot [-display <display>] [-w] -f <file> [-bg <color>]
        xvirtualroot [-display <display>] [-w] -bg <color>
        xvirtualroot --help
        xvirtualroot --version

    Options:

    -f <file>           Specify the image file to display.  Use
                        "-" to read from STDIN.

    -bg <color>         Set the background color of the window.

    -w                  Print the X window ID of the xvirtualroot window.
                        Useful when using another program to draw
                        in the xvirtualroot window.

    -display <display>  Specify the X server to contact.

    --help              Print this message and exit.

    --version           Print version information and exit.

Steve

---

From: Victor Eijkhout <[email-masked]>
Date: Sat, 12 Oct 2002 11:03:40 -0400

At 10:35 -0600 2002/10/10, Steve Talley wrote:
>Style XVirtualRoot CirculateSkip, StaysOnBottom, NeverFocus, 
>NoTitle, NoHandles, WindowListSkip, BorderWidth 0, StartsLowered

Them's a lot of options!

And still I think I could use more: the xvirtualroot program works 
fine, but in the pager it looks like a full-size window is *in front* 
of all others. (fvwm 2.4.11).
-- 
Victor Eijkhout <[email-masked]>
tel: 865 974 9308 (W), 865 673 6998 (H), 865 974 8296 (F)
http://www.cs.utk.edu/~eijkhout/
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Steve Talley <[email-masked]>
Date: Mon, 14 Oct 2002 17:17:39 -0600

Victor Eijkhout wrote:

> I've compiled your xvirtualroot program and it works as advertised.
> Thanks!
>
> How do you start different pictures on different desktops
> _at_startup_? I can do something complicated with FvwmBacker, but it
> sounds like you have a better solution.

I use Xt resource-setting arguments, like "-xrm '*Desk: 1'".  See the
FVWM man page for details.

> fine, but in the pager it looks like a full-size window is *in
> front* of all others. (fvwm 2.4.11).

Hmm, sounds like a bug in the pager.  But I don't use the pager, so
I'm not sure.

Steve

---

From: Dan Espen <[email-masked]>
Date: Mon, 14 Oct 2002 20:34:08 -0400

> FVWM man page for details.

An argument like "-xrm '*Desk: 1'" will cause an application
to start on a different desk, but it won't put a different picture
on the background for each desktop.  For that, you need FvwmBacker.
Try it, I don't think its that complicated.

---

From: Mikhael Goikhman <[email-masked]>
Date: Tue, 15 Oct 2002 02:37:43 +0000

> Try it, I don't think its that complicated.

Well, "xvirtualroot -xrm '*Desk: 2 0 1' -f bg.xpm &" does what is needed.

Not that I advocate setting a background using permanent xvirtualroot
windows instead of FvwmBacker module together with fvwm-root or
fvwm-themes-images utilities. But this is an acceptable solution.

I see one advantage to xvirtualroot, it may be a bit faster as compared to
FvwmBacker that always recalculates the image. One of disadvantages is
that half transparent png icons look not very good on such virtual root
and are slow. (This is only relevant for fvwm-2.5.x, of course.)

Regards,
Mikhael.

---

From: Mikhael Goikhman <[email-masked]>
Date: Tue, 15 Oct 2002 02:47:24 +0000

On 12 Oct 2002 11:03:40 -0400, Victor Eijkhout wrote:
> > Style XVirtualRoot CirculateSkip, StaysOnBottom, NeverFocus, \

I would add:

  Style XVirtualRoot SkipMapping, FixedPosition, FixedSize

The last 2 are only for 2.5.x.

> of all others. (fvwm 2.4.11).

It seems there is a bug in FvwmPager regarding initial drawing of windows
on lower layers.

In 2.5.x you may hide xvirtualroot in pager completely using:

  *FvwmPager: UseSkipList

Regards,
Mikhael.

---

From: Dan Espen <[email-masked]>
Date: Mon, 14 Oct 2002 23:29:10 -0400

> Well, "xvirtualroot -xrm '*Desk: 2 0 1' -f bg.xpm &" does what is needed.

Oops.  Sorry, looking back thru the archive, I can see that I
wasn't paying attention to this xvirtualroot thingie.

> and are slow. (This is only relevant for fvwm-2.5.x, of course.)

I used these options:

Style XVirtualRoot CirculateSkip, StaysOnBottom, NeverFocus, NoTitle, NoHandles
Style XVirtualRoot WindowListSkip, BorderWidth 0, StartsLowered
Style XVirtualRoot SkipMapping, FixedPosition, FixedSize

but I still got a placement outline.  Did I miss an option?

I couldn't move or resize the window.  My root mouse and keybindings
worked.  But I could Delete, Destroy, or windowshade the window by selecting
the command from a menu.  Thats sort of odd, since I can't
focus it, but I guess that makes some sense.

It doesn't cooperate with xaniroc.
The mouse pointer doesn't change to the root pointer either
(makes sense).

---

From: Mikhael Goikhman <[email-masked]>
Date: Tue, 15 Oct 2002 04:29:08 +0000

> but I still got a placement outline.  Did I miss an option?

Yes, this should be added:

  Style XVirtualRoot CascadePlacement

> I couldn't move or resize the window.

Adding FixedPosition makes sence only after everything works ok.

> My root mouse and keybindings worked.  But I could Delete, Destroy, or
> windowshade the window by selecting the command from a menu.  Thats sort
> of odd, since I can't focus it, but I guess that makes some sense.

I think it is ok, maybe an option to disallow WindowShade would be good.

> It doesn't cooperate with xaniroc.

Well, this is xaniroc problem, it could be more configurable and
accept window id option to work with any window, not just root.
Then xaniroc would work with "xvirtualroot -w" id.

> The mouse pointer doesn't change to the root pointer either

I don't know whether it is possible to tell X just to duplicate
(dynamically) the root cursor to another window.

Regards,
Mikhael.

---

From: Victor Eijkhout <[email-masked]>
Date: Mon, 21 Oct 2002 02:49:07 -0400

>fvwm-themes-images utilities. But this is an acceptable solution.

Is fvwm-root a component of 2.5.* ? I don't find it in 2.4.11.

Using xvirtualroot:

*FvwmBacker: Command (Desk *) Function ChangeDesk
DestroyFunc ChangeDesk
AddToFunc ChangeDesk
+ I Exec xvirtualroot -f $[HOME]/.fvwm/$$d.xpm

the problem is that I don't know how to kill a previous root window. 
I get more and more root windows, and they are all hidden behind the 
first.

Will have to check out themes next.

---

From: Steve Talley <[email-masked]>
Date: Mon, 21 Oct 2002 09:18:32 -0600

Victor Eijkhout wrote:

> > Not that I advocate setting a background using permanent
> > xvirtualroot windows instead of FvwmBacker module together with
> > fvwm-root or fvwm-themes-images utilities. But this is an
> > acceptable solution.
>

The point of xvirtualroot is to avoid having to use FvwmBacker.  Start
one xvirtualroot window per desktop at startup, with the appropriate
-xrm '*Desk: n' parameter and the appropriate FVWM style settings, and
then the background will be different for each desktop automatically.

Or, just start one xvirtualroot window for all desktops, if you want
the same background on all desktops.

Use "xv -root ..." or equivilent to change the background image if
desired.

Since xvirtualroot is just another X window, the background image that
it provides appears much more quickly than a FvwmBacker-invoked
background when changing desktops.  Typically FvwmBacker causes the
image to be reread/recalculated/redrawn on each desktop change, which
makes for a less-than-smooth transition.

Steve

---

From: Mikhael Goikhman <[email-masked]>
Date: Mon, 21 Oct 2002 15:57:46 +0000

> Is fvwm-root a component of 2.5.* ? I don't find it in 2.4.11.

Is not it in your $PATH together with other fvwm-* utilities?

With 2.4.8+ after "make install" fvwm-root gets installed in the same bin
directory as fvwm. The old executable names for fvwm-root and fvwm get
installed too, but you may start to use the new names.

Regards,
Mikhael.

---

From: Victor Eijkhout <[email-masked]>
Date: Tue, 22 Oct 2002 13:30:35 -0400

>directory as fvwm.

I got my fvwm2 installation from fink (package manager on Mac OS X). 
I'll contact the maintainer about this.

---

From: Victor Eijkhout <[email-masked]>
Date: Tue, 22 Oct 2002 14:53:53 -0400

>I'll contact the maintainer about this.

So I did.

At 14:36 -0400 2002/10/22, David R. Morrison wrote:
>I ran "dpkg -L fvwm2 | grep fvwm-root" to confirm that it's not there.
>The fink package runs "make install" on fvwm2, but this is not installed.
>
>Can ther person who told you this provide more clues?