Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!hellgate.utah.edu!helios.ee.lbl.gov!pasteur!agate!garnet.berkeley.edu!csvsj From: csvsj@garnet.berkeley.edu (Steve Jacobson) Newsgroups: comp.windows.x Subject: Re: No keyboard events on overrideShell popups Message-ID: <1990Mar20.225506.26822@agate.berkeley.edu> Date: 20 Mar 90 22:55:06 GMT References: <9003201645.AA10445@armory> Sender: usenet@agate.berkeley.edu (USENET Administrator;;;;ZU44) Organization: University of California, Berkeley Lines: 42 In article <9003201645.AA10445@armory> jimf%saber@HARVARD.HARVARD.EDU writes: >|I would suggest that you use a transientShell popup instead. [...] >|Many window managers will >|provide less decoration for transientShell popups than for regular windows. >|For instance, olwm will provide a border but no title bar for transient >|windows. > >Sure, and many window managers (the ever popular twm for instance) >ignore the hint and fully decorate the window and -- much worse for >transients -- force the user to place the window, which is kind of >stupid since most transients are confirm dialogs which only want a yes >or no click before they go away. > >My conclusion is that there's a documented way to accomplish >transients but that method is useless in practice because many common >window managers ignore it, leaving the applications writer no >alternative but to use an override redirect window, a nastyism that I >would prefer to avoid. As I told someone yesterday, "do you want to >know the 'right' way that doesn't work or the 'wrong' way that does?". > >jim frost >saber software >jimf@saber.com Please specify your environment. The R4 twm treats a transient shell created with XtCreatePopupShell() the way one would hope it would - no title bar at all, and if the program sets the XtNx and XtNy resources, it will pop it up where you want it to. And, since in R4, XtGetValues() works correctly for the XtNx and XtNy resources, you can pop up the transient window at a location relative to another frame, even if the user moves the frame somewhere different from where it originally popped up. The only down side to using transient windows is when you would prefer that the server be grabbed. We've had problems with users running window managers that are set to raise windows on entry. The dialog window pops up, the user lets the mouse wander a bit, and lo, the tiny dialog window is now completely hidden behind some larger window and you have to start iconyfying left and right until you can find it. I agree with Jim's opinion that there are problems using Xt when you want a transient confirm window that includes a widget that wants to see keyboard input.