Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!snorkelwacker!bloom-beacon!ASC.SLB.COM!chandran From: chandran@ASC.SLB.COM Newsgroups: comp.windows.x Subject: Re: Invisible windows (Technical Limitations of X?) Message-ID: <9003221746.AA00894.chandran@cesium.ASC.SLB.COM> Date: 22 Mar 90 17:46:17 GMT References: <9003211620.AA16247@armory> Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 39 In response to the question: > | How do I create the "invisible (shadow/outline) windows" that > |"twm" uses when a user moves his window (so that the user knows where > |the destination is going to be)? jimf%saber@harvard.edu says [Thanks, Jim, Tom, Gary ...] > The simplest way is something like: where he outlines(!) a method in which one draws [a rectangle] into the root window (and then "undraws" it when the pointer moves). This is all fine, but it seems to beg the question and exposes (!) what seems to me to be a technical limitation of X. The question was how to make transparent windows, though I admittedly lead people to the wrong track by assuming that "twm" has that capability. In particular, consider the situation where we have to produce complicated graphics into a window. The desired effect is to have whatever is behind the window show through (no matter where the window is currently positioned). The proposed solutions requires one to Translate to the root window, draw the graphics, and undraw them when the window moves!! Wait a minute. One of the major wins of windows was that this organisation is automatically done for you by the window system. ("Why not draw everything into the root window?") You mean the client has to do all the dirty work? I (admittedly, a neophyte) don't understand what the technical difficulties are in providing this capability. If I can make the "background" appear when I change a window's stacking order, can't I pretend that is what is happening when I create a transparent window? What is the main purpose of "window_background_pixmap" to be "None"? Regards,