[ Usenet FAQs | Search | Web FAQs | Documents | RFC Index ]
Answer: In R4 and later, use the call XIconifyWindow. Ken Lee adds "Set
XmNiconic on your shell. This should work in X11R6 and later patch levels of
X11R5."
For R3, send an event to the root window with a type of WM_CHANGE_STATE and
data IconicState.
void
IconifyMe (dpy, win)
Display *dpy;
Window win; /* toplevel window to iconify */
{
Atom xa_WM_CHANGE_STATE;
XClientMessageEvent ev;
xa_WM_CHANGE_STATE = XInternAtom (dpy,
"WM_CHANGE_STATE", False);
ev.type = ClientMessage;
ev.display = dpy;
ev.message_type = xa_WM_CHANGE_STATE;
ev.format = 32;
ev.data.l[0] = IconicState;
ev.window = win;
XSendEvent (dpy,
RootWindow (dpy, DefaultScreen(dpy)),
True,
(SubstructureRedirectMask | SubstructureNotifyMask),
&ev);
XFlush (dpy);
}
Send corrections/additions to the FAQ Maintainer:
Last Update May 13 2007 @ 00:23 AM