[comp.windows.x] window iconfied?

jhs@monet.wbst128.xerox.com (Hans Schlichter) (06/13/89)

Is there a way for the application to check if the top level window
is iconified or not. I tried to use XGetWMHints to get the
window manager hints and check if the field initial_state
is set to "IconicState". But that did not work. That field was
never changed by the window manager. 

I am using X11/R3, the Athena Toolkit, Sun 4/260 under OS4.0 and twm.

Thanks
/hans

ArpaNet: schlichter.wbst128@xerox.com

dshr@SUN.COM (David Rosenthal) (06/13/89)

> Is there a way for the application to check if the top level window
> is iconified or not. I tried to use XGetWMHints to get the
> window manager hints and check if the field initial_state
> is set to "IconicState". But that did not work. That field was
> never changed by the window manager. 
> 
The Inter-Client Communications Conventions Manual specifies this
in section 4.2.5:

  A non-override-redirect window that is not Withdrawn will be
  in Normal state if it is mapped,  and in Iconic state if it is
  unmapped.
  This will be true even if the window has been reparented;  the
  window manager will unmap the window as well as its parent when
  switching to Iconic state.

  The client can elect to be notified of these state changes by
  selecting for StructureNotify on the top-level window.
  It will receive UnmapNotify when it goes Iconic,  and MapNotify
  when it goes Normal.
  
  
Unfortunately,  it will be some time until all window managers
adhere to the ICCCM conventions.  Until then,  the answer is that
there is no reliable way.

	David.