| Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
| Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
| Moderator: | STAR::VATNE |
| Created: | Mon Oct 30 1989 |
| Last Modified: | Mon Dec 31 1990 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 3726 |
| Total number of notes: | 19516 |
Hi, Suppose a modeless popup dialog box, or a selection widget, gets covered over by a larger window. I would like to be able to raise it back to visibility by "reactivating:" it from the menu. I would think that "XtRaiseWindow(XtDisplay(w),XtWindow(w))" should do it just like the book says, only it doesn't. How do I do something like this? Can the window manager be for0ced to raise it over all other windows, or is XtRaiseWindow just a crock? - norm
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 2222.1 | Try XMapRaised | GOSOX::RYAN | DECwindows Mail | Wed Feb 07 1990 08:15 | 0 |
| 2222.2 | Use the window of the parent | RAB::PRINCIPIO | Not available in any store | Wed Feb 07 1990 08:44 | 6 |
I assume .0 meant XRaiseWindow not XtRaiseWindow. XRaiseWindow should do want you want. Just make sure you pass the window of the hidden shell: XRaiseWindow(XtDisplay(w),XtWindow(XtParent(w))) Tracy | |||||
| 2222.3 | GOSOX::RYAN | DECwindows Mail | Wed Feb 07 1990 18:09 | 8 | |
I missed that he wasn't using the shell - still, XMapRaised is preferable because it will also de-iconify the window if it is iconified. At least, it will if you're running an ICCCM-compliant window manager such as the Motif window manager - the default Digital window manager requires a little more (specifically, setting the XSetWMHints initial_state field to NormalState). Mike | |||||
| 2222.4 | Thanks | WONDER::COMMO | I'll find no bug before its time! | Thu Feb 08 1990 15:06 | 5 |
Thanks for the replies. Yes, it was XR... and not XtR..., I was just writing the note from memory. And I had missed the boat on the widget IDs and had used the same ID for both parameters. - norm | |||||
| 2222.5 | << more thoughts >> | WONDER::COMMO | I'll find no bug before its time! | Fri Feb 09 1990 09:24 | 11 |
re: .3, Yes, one of the things I want to do is to be able to iconify and de-iconify certain windows of the application procedurally. Any hints would be most welcome, as would words of wisdom on how to set the cursor to various shapes when the enter/leave the applications windows. I understand how to do it in raw X, but I don't know if the DECWindows WM will frustrate the "straight forward" incantations and require special magic. - norm | |||||
| 2222.6 | How to iconify/deiconify | OPHION::MIKEY | Mike Yang | Tue Feb 13 1990 16:12 | 33 |
The ICCCM (Inter-Client Communication Conventions Manual) states how to
iconify/deiconify a window while running an ICCCM-compliant window
manager (e.g. mwm, gwm, twm as released with X11R4, but *not* the XUI
window manager).
To deiconify a window, map it with XMapWindow. To iconify a window,
send a client message to the root window with type set to the atom for
"WM_CHANGE_STATE" and window set to the window you want to iconify.
Here's a code fragment from xrooms that should give you the idea:
if (debug)
fprintf(stderr, "iconifying %x\n", app->client);
event.xclient.type = ClientMessage;
event.xclient.display = dpy;
event.xclient.window = app->client;
event.xclient.message_type = WM_CHANGE_STATE;
event.xclient.format = 32;
event.xclient.data.l[0] = IconicState;
XSendEvent(dpy, RootWindowOfScreen(scrn), False,
SubstructureRedirectMask |
SubstructureNotifyMask,
&event);
To iconify/deiconify a window with the XUI window manager, you want to
change the initial_state field in the WMHints property. Again, a code
fragment:
XWMHints wmh;
wmh.flags = StateHint;
wmh.initial_state = IconicState;
XSetWMHints(dpy, win1, &wmh);
| |||||