Subject: Window content refresh

From: Scott Scriven <[email-masked]>
Date: Fri, 08 Jan 1999 01:17:34 -0700

Allo..

To anyone with a reasonable knowledge of X and Fvwm's code:

I'm trying to add a feature to Fvwm, for my own use..  It may be
useful/interesting for other people, but maybe not.  :)  

The feature is one I saw in BlackBox -- updating window contents while
moving the window.  The upshot is, for example, moving a transparent
Eterm and having its contents update constantly (for a better
translucent effect).  Currently, it only updates upon releasing the
mouse button.  This is pretty simple, but I haven't been able to kludge
it into Fvwm.

Anyone know what I should change to accomplish this?  I tried modifying
sources, but don't know enough about X programming to send the window
events as it moves.  "refresh_win_function()" looked promising, but
merely slowed down the interface considerably; and none of the other
things I tried seemed to be a step in the right direction.

Er, if possible, reply to my address (not just the list); I don't think
my subscription to fvwm-workers has taken effect yet.  :)

 _  _ _  _ ___ ___  -----------"Use the source, Luke!"---------
( \/ ( \/ (__ (__ ) | ~  Scott Scriven (Toy Keeper / XYZZ)    |
 \  / \  /  //  //  | mailto:[email-masked]           |
 /  \ / /  //_ //_  | mailto:[email-masked]         |
(_/\_(_/  (___(___) | http://www.vis.colostate.edu/~scriven/  |
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Tim Phipps <[email-masked]>
Date: Thu, 14 Jan 1999 17:26:50 +0000

Scott Scriven wrote:
> moving the window.

This can be done with "OpaqueMoveSize 100"

> The upshot is, for example, moving a transparent
> translucent effect).

Gack! You mean shaped windows that change their shape in the middle of a
move! I don't know if that will work or not. I tried to get hold of
eterm and xtail to test this but both seem to have disappeared.  If you
can let me have a URL for the source I'll have a play but I'm not
promising anything.

Cheers,
Tim.

---

From: Scott Scriven <[email-masked]>
Date: Thu, 14 Jan 1999 14:14:28 -0700

> can let me have a URL for the source I'll have a play but I'm not

Well, yes.  I guess that would be another side-effect.  The main thing
is that the window would get notified of the move upon each frame,
instead of only after the move is completed.

Eterm is supposedly available here:
	ftp://ftp.enlightenment.org/pub/Eterm/
	ftp://ftp.eterm.org/pub/Eterm/
	http://www.eterm.org
But they all seem to be down.

So...

I've put it here:
	http://www.vis.colostate.edu/~scriven/tmp/Eterm-0.8.7.tar.gz

But this really isn't very important..  :)  It's just another fun
amusement.

---

From: Tim Phipps <[email-masked]>
Date: Fri, 15 Jan 1999 15:23:57 +0000

>         http://www.vis.colostate.edu/~scriven/tmp/Eterm-0.8.7.tar.gz

I remember now what Eterm does. It's translucent not transparent (bad
choice of words on the part of Eterms author(s)).  It's rxvt with the
pixmap background hacked to copy the pixmap from the root with the
origin set to coincide with the root pixmap.  It looks like it's
transparent but windows under Eterm don't show through.

Anyway the function to call is SetupFrame() and you could probably just
add the call just after the XMoveWindow() inside the moveloop() loop. 
Just for completeness you should also add it in the loop in
animatedMoveWindow().

SetupFrame() sends the messages but it also does some xmoving and
resizng on it's own (not quite sure what it's doing). This might cause
clients to have a fit so it would be worth testing a fair bit.  It's
probably use a lot more network traffic and CPU cycles but then if you
use opaque or animated moves yo probably have enough bandwidth.

Cheers,
Tim.

---

From: Scott Scriven <[email-masked]>
Date: Fri, 15 Jan 1999 13:48:32 -0700

> Just for completeness you should also add it in the loop in

That's one of the things I tried.  All it did was make the the frame
rate drop severely.  (but still no refresh inside the window)  I have no
idea why it didn't work as expected; so I asked you guys..  :)

I'll probably poke around the source for Blackbox to see what it's doing
right.  (but not for a little while... things are a bit busy now)