[comp.windows.x] Passing events through a window.

ea08+@andrew.cmu.edu (Eric A. Anderson) (11/28/90)

I don't know how many of you have see the programs ?neko, but I am
currently running oneko, it puts a cute little cat up on the screen
which chases your mouse around.
I would like to change the code -- It's put xlib so that events which
occur in the cat window are passed directly through to whatever window
is directly underneath the cat window.  Currently mouse clicks act as
though they are root windows clicks and keys just disappear.
Any suggestions on how this could be done?
          -Eric
*********************************************************
"My life is full of additional complications spinning around until
 it makes my head snap off."
           -Unc. Known.
"You are very smart, now shut up."
           -In "The Princess Bride"
*********************************************************

ea08+@andrew.cmu.edu (Eric A. Anderson) (12/01/90)

Since this apparently didn't make it out last time, I'm going to try to
send it out again.  I apoligize in advance if it actually did make it
out.

I don't know how many of you have see the programs ?neko, but I am
currently running oneko, it puts a cute little cat up on the screen
which chases your mouse around.
I would like to change the code -- I'd like to make it so that events
which occur in the cat window are passed directly through to whatever
window is directly underneath the cat window.  Currently mouse clicks
act as though they are root windows clicks and keys just disappear.
Any suggestions on how this could be done?

Just as a point, it's written in pure xlib, and I don't want to add a
toolkit on top.
          -Eric
*********************************************************
"My life is full of additional complications spinning around until
 it makes my head snap off."
           -Unc. Known.
"You are very smart, now shut up."
           -In "The Princess Bride"
*********************************************************

mouse@LARRY.MCRCIM.MCGILL.EDU (12/01/90)

> I am currently running oneko, it puts a cute little cat up on the
> screen which chases your mouse around.

> I would like to change the code -- It's put xlib so that events which
> occur in the cat window are passed directly through to whatever
> window is directly underneath the cat window.  Currently mouse clicks
> act as though they are root windows clicks and keys just disappear.
> Any suggestions on how this could be done?

I don't think it can be, not unless you're willing to have the cat
flicker the way xmag's rectangle does when selecting the portion of the
screen to magnify.

What you want is an OutputOnly window.  No such beastie exists.

Perhaps they should?

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu

nazgul@alphalpha.com (Kee Hinckley) (12/02/90)

In article <9012010726.AA03075@Larry.McRCIM.McGill.EDU> mouse@LARRY.MCRCIM.MCGILL.EDU writes:
>What you want is an OutputOnly window.  No such beastie exists.
>
>Perhaps they should?

It would be nice.  I was just looking for a way of putting up an
initial startup notice for my program with a minimum of fuss (I don't
want it to screw up whatever the user might be doing at the time
it shows up).
-- 
Alphalpha Software, Inc.	|	motif-request@alphalpha.com
nazgul@alphalpha.com		|-----------------------------------
617/646-7703 (voice/fax)	|	Proline BBS: 617/641-3722

I'm not sure which upsets me more; that people are so unwilling to accept
responsibility for their own actions, or that they are so eager to regulate
everyone else's.

janssen@parc.xerox.com (Bill Janssen) (12/03/90)

In article <9012010726.AA03075@Larry.McRCIM.McGill.EDU> mouse@LARRY.MCRCIM.MCGILL.EDU writes:

   > I would like to change the code -- It's put xlib so that events which
   > occur in the cat window are passed directly through to whatever
   > window is directly underneath the cat window.  Currently mouse clicks
   > act as though they are root windows clicks and keys just disappear.
   > Any suggestions on how this could be done?

	[...]

   What you want is an OutputOnly window.  No such beastie exists.

Or your code could inspect the window hierarchy, find out what window is
"below" the cat window, and send a synthetic mouse event to it...

Bill
--
 Bill Janssen        janssen@parc.xerox.com      (415) 494-4763
 Xerox Palo Alto Research Center
 3333 Coyote Hill Road, Palo Alto, California   94304