Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!SUN.COM!dshr From: dshr@SUN.COM (David Rosenthal) Newsgroups: comp.windows.x Subject: Re: Reparenting WM's Message-ID: <8902071725.AA02778@devnull.sun.com> Date: 7 Feb 89 14:11:14 GMT Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 38 > I am porting an application that currently uses serial graphics terminals > for graphics. Occasionally, the program needs to display a large quantity > of text, and switches the terminal to text mode (and hides the graphics). > > In porting this application, the power that be decided that the mechanism > we would use would be to raise the xterm from which the application was > invoked and display the text. (We use the WINDOWID environment variable to > determine the correct xterm.) There is another point to be considered here. No interface that depends on application control over the stack order of top-level windows can be guaranteed to work with all window managers. The ICCCM specifies the way in which a client can REQUEST a change in stack order. But stack order, like window size and placement, is under window manager control. There is no guarantee that the window manager will honor the request for a change in stack order. Indeed, there are window managers (tiled ones, for example) for which the request has no meaning. Once the window managers catch up with the ICCCM, one would expect that most of them would attempt to satisfy the request, but there would be no guarantee. In other words, if you build the application the way you suggest, you will have to ensure that it is run with a specific window manager, and probably with a specific window manager configuration file (such as .uwmrc), in order to ensure that the window manager policy you depend on will be in effect. Once again, it is important to observe that X provides no guarantee of portability or inter-operability. The use of X makes it easier to provide both, but you cannot simply assume that something that works on your workstation with your window manager will automatically work on all workstations and with all window managers. That is the reason for the conventions (restrictions) set out in the ICCCM, and for the techniques set out in our Usenix paper on the choice of Visuals. There are many other areas yet to be covered in which portability problems may arise - one obvious example is the question of running out of resources on X terminals. David.