Subject: FVWM: "Transparent" rxvt and FvwmBacker

From: Allin Cottrell <[email-masked]>
Date: Tue, 22 Jun 1999 17:54:30 -0400 (EDT)

First, thanks to all at fvwm for a great WM. 

I've used 1.2X for several years with pleasure.  Recently I
installed 2.2.2, and I like many of the new features.  One
little problem I've run into.  I'm using FvwmBacker for a
little visual variety, putting a background xpm onto one of my
desks (the rest have solid color backgrounds).  And into the
bargain I've compiled rxvt for "transparency" to let the pixmap
shine through.  So I have an rxvt window sitting on the xpm'd
desk, and other stuff going on elsewhere.  Now when I shift to
the xpm'd desk the xpm turns on OK, but the rxvt background
remains with the solid color of the desktop I just left.  I
suppose this is because of the slight delay in the xpm
appearing: the rxvt background has already been set.  

I can get the rxvt bg to show the pixmap by doing a manual
"Refresh", or a "clear", but obviously it would be nicer to have
it happen automatically.  So I'm wondering what I could put into
the "*FvwmBackerDesk N" command to make this happen.  (I've
tried appending "Refresh" after "xpmroot" but that doesn't work,
I suppose because fvwm doesn't wait for the xpmroot to finish
before doing the refresh.)

Thanks in advance.

-- 
Allin Cottrell
Department of Economics
Wake Forest University, NC

--
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: Dominik Vogt <[email-masked]>
Date: Wed, 23 Jun 1999 00:49:10 +0200

> before doing the refresh.)

Note that this is a problem of rxvt, not fvwm. You could use
FvwmCommand. Assuming you put this stuff in your InitFunc:

  AddToFunc InitFunction
  + Module FvwmCommandS
  + Exec "xpmroot <your image> ; FvwmCommand Refresh"

This ensures you get the refres after xpmroot has run.

Bye

Dominik ^_^

--
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
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: Allin Cottrell <[email-masked]>
Date: Tue, 22 Jun 1999 21:11:47 -0400 (EDT)

>   + Exec "xpmroot <your image> ; FvwmCommand Refresh"

I probably didn't explain myself well enough, but I don't think
that adding to InitFunction will do what I want.  I have a solid
background on desk 1, an xpm background and a "transparent" rxvt
on desk 3.  Fvwm has been running for some time.  I use Fvwm
Pager to move from desk 3 to desk 1: all OK.  I use the pager
again to move from desk 1 to desk 3: the background fills in
fine (after a slight delay), but the rxvt (which was drawn with
no appreciable delay) retains the background of desk 1.  What I
wish to do is insert a "wait" (for the xpmroot) before a
"Refresh" of desk 3, so the rxvt will have the right background.

Allin Cottrell.

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 23 Jun 1999 04:31:04 +0200

> "Refresh" of desk 3, so the rxvt will have the right background.

Uh, you made it clear enough, I'm just tired. Try using FvwmEvent.

Bye

Dominik ^_^

---

From: Brad Giaccio <[email-masked]>
Date: Wed, 23 Jun 1999 13:05:10 -0400

> Uh, you made it clear enough, I'm just tired. Try using FvwmEvent.

Then do 
 AddToFunc InitFunction
 + Module FvwmCommandS

*FvwmBackerDesk 3 Exec "xpmroot <your image> ; FvwmCommand Refresh"

-- 
--- There are two kinds of knowledge, you either know the answer or
			you know where to find it
		      -Kane, Johnson, and anonymous
--
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: "s.a>" <[email-masked]>
Date: Wed, 23 Jun 1999 17:36:03 -0400

Hi, I dont know if it will suit your needs but I suggest that you use
Esetroot for setting your backgrounds if you are are using
transparency_. It seems to work pretty goed for rxvt. dont know where to
get it but I think It might be part of the Eterm dist.
-sa

---

From: Allin Cottrell <[email-masked]>
Date: Thu, 24 Jun 1999 10:05:38 -0400 (EDT)

> *FvwmBackerDesk 3 Exec "xpmroot <your image> ; FvwmCommand Refresh"

This looks very promising.  But when I try to start FvwmCommandS
(at Init or from a menu) I'm getting "FvwmCommandS: dead pipe"
right away.  Any ideas what might be wrong here?  Thanks.

---

From: Allin Cottrell <[email-masked]>
Date: Thu, 24 Jun 1999 10:07:09 -0400 (EDT)

On Wed, 23 Jun 1999, s.a> wrote:

> Hi, I dont know if it will suit your needs but I suggest
> that you use Esetroot for setting your backgrounds if you
> are are using transparency_. It seems to work pretty goed
> for rxvt.

Thanks, I just tried that.  Esetroot works OK, but does not
solve the particular timing problem I'm having with xpmroot.

Allin Cottrell.

---

From: Brad Giaccio <[email-masked]>
Date: Thu, 24 Jun 1999 10:22:58 -0400

If you are running on a linux kernel this is a know bug, and fixed in the beta series. 
if you edit modules/FvwmCommand/FvwmCommandS.c replace
  SendText(Fd,"",0); /* tell fvwm that we are here */
with
  SendText(Fd," ",0); /* tell fvwm that we are here */

The problem is that linux pipes die on zero length packets.

Brad

---

From: Allin Cottrell <[email-masked]>
Date: Thu, 24 Jun 1999 10:52:13 -0400 (EDT)

>   SendText(Fd," ",0); /* tell fvwm that we are here */

Thanks!  Now it works perfectly, the rxvt picks up the right
background when I move between desks.

Allin Cottrell.