


XAllocWMHints(3X11)					  XAllocWMHints(3X11)
X11R5									X11R5



NAME
  XAllocWMHints, XSetWMHints, XGetWMHints, XWMHints - allocate window manager
  hints	structure and set or read a window's WM_HINTS property

SYNTAX
  XWMHints *XAllocWMHints()

  XSetWMHints(_d_i_s_p_l_a_y, _w, _w_m_h_i_n_t_s)
	Display	*_d_i_s_p_l_a_y;
	Window _w;
	XWMHints *_w_m_h_i_n_t_s;


  XWMHints *XGetWMHints(_d_i_s_p_l_a_y, _w)
	Display	*_d_i_s_p_l_a_y;
	Window _w;

ARGUMENTS

  _d_i_s_p_l_a_y   Specifies the connection to	the X server.

  _w	    Specifies the window.

  _w_m_h_i_n_t_s   Specifies the _X_W_M_H_i_n_t_s structure to	be used.

DESCRIPTION
  The _X_A_l_l_o_c_W_M_H_i_n_t_s function allocates and returns a pointer to	a _X_W_M_H_i_n_t_s
  structure.  Note that	all fields in the _X_W_M_H_i_n_t_s structure are initially
  set to zero.	If insufficient	memory is available, _X_A_l_l_o_c_W_M_H_i_n_t_s returns
  NULL.	 To free the memory allocated to this structure, use _X_F_r_e_e.

  The _X_S_e_t_W_M_H_i_n_t_s function sets	the window manager hints that include icon
  information and location, the	initial	state of the window, and whether the
  application relies on	the window manager to get keyboard input.

  _X_S_e_t_W_M_H_i_n_t_s can generate _B_a_d_A_l_l_o_c and	_B_a_d_W_i_n_d_o_w errors.

  The _X_G_e_t_W_M_H_i_n_t_s function reads the window manager hints and returns NULL if
  no WM_HINTS property was set on the window or	returns	a pointer to a
  _X_W_M_H_i_n_t_s structure if	it succeeds.  When finished with the data, free	the
  space	used for it by calling _X_F_r_e_e.

  _X_G_e_t_W_M_H_i_n_t_s can generate a _B_a_d_W_i_n_d_o_w error.

PROPERTIES

  WM_HINTS  Additional hints set by the	client for use by the window manager.
	    The	C type of this property	is _X_W_M_H_i_n_t_s.




STRUCTURES
  The _X_W_M_H_i_n_t_s structure contains:

  /* Window manager hints mask bits */ tab(); l	l l.  T{ #define T}T{
  _I_n_p_u_t_H_i_n_t T}T{ (1L <<	0) T} T{ #define T}T{ _S_t_a_t_e_H_i_n_t	T}T{ (1L << 1) T} T{
  #define T}T{ _I_c_o_n_P_i_x_m_a_p_H_i_n_t T}T{ (1L << 2) T}	T{ #define T}T{
  _I_c_o_n_W_i_n_d_o_w_H_i_n_t T}T{ (1L << 3)	T} T{ #define T}T{ _I_c_o_n_P_o_s_i_t_i_o_n_H_i_n_t T}T{ (1L
  << 4)	T} T{ #define T}T{ _I_c_o_n_M_a_s_k_H_i_n_t	T}T{ (1L << 5) T} T{ #define T}T{
  _W_i_n_d_o_w_G_r_o_u_p_H_i_n_t T}T{ (1L << 6) T} T{ #define T}T{ _A_l_l_H_i_n_t_s T}T{
  (InputHint|StateHint|IconPixmapHint|
  IconWindowHint|IconPositionHint|
  IconMaskHint|WindowGroupHint)	T}

  /* Values */

  typedef struct {
	  long flags;	  /* marks which fields	in this	structure are defined */
	  Bool input;	  /* does this application rely	on the window manager to
			  get keyboard input? */
	  int initial_state;	  /* see below */
	  Pixmap icon_pixmap;	  /* pixmap to be used as icon */
	  Window icon_window;	  /* window to be used as icon */
	  int icon_x, icon_y;	  /* initial position of icon */
	  Pixmap icon_mask;	  /* pixmap to be used as mask for icon_pixmap */
	  XID window_group;	  /* id	of related window group	*/
	  /* this structure may	be extended in the future */
  } XWMHints;

  The input member is used to communicate to the window	manager	the input
  focus	model used by the application.	Applications that expect input but
  never	explicitly set focus to	any of their subwindows	(that is, use the
  push model of	focus management), such	as X Version 10	style applications
  that use real-estate driven focus, should set	this member to _T_r_u_e.  Simi-
  larly, applications that set input focus to their subwindows only when it
  is given to their top-level window by	a window manager should	also set this
  member to _T_r_u_e.  Applications	that manage their own input focus by expli-
  citly	setting	focus to one of	their subwindows whenever they want keyboard
  input	(that is, use the pull model of	focus management) should set this
  member to _F_a_l_s_e.  Applications that never expect any keyboard	input also
  should set this member to _F_a_l_s_e.

  Pull model window managers should make it possible for push model applica-
  tions	to get input by	setting	input focus to the top-level windows of
  applications whose input member is _T_r_u_e.  Push model window managers should
  make sure that pull model applications do not	break them by resetting	input
  focus	to _P_o_i_n_t_e_r_R_o_o_t when it is appropriate (for example, whenever an
  application whose input member is _F_a_l_s_e sets input focus to one of its
  subwindows).

  The definitions for the initial_state	flag are: tab(); l l l l.  T{ #define
  T}T{ _W_i_t_h_d_r_a_w_n_S_t_a_t_e T}T{ 0 T}T{ T} T{	#define	T}T{ _N_o_r_m_a_l_S_t_a_t_e T}T{ 1	T}T{
  /* most applications start this way */ T} T{ #define T}T{ _I_c_o_n_i_c_S_t_a_t_e	T}T{
  3 T}T{ /* application	wants to start as an icon */ T}	The icon_mask speci-
  fies which pixels of the icon_pixmap should be used as the icon. This
  allows for nonrectangular icons.  Both icon_pixmap and icon_mask must	be
  bitmaps.  The	icon_window lets an application	provide	a window for use as
  an icon for window managers that support such	use.  The window_group lets
  you specify that this	window belongs to a group of other windows.  For
  example, if a	single application manipulates multiple	top-level windows,
  this allows you to provide enough information	that a window manager can
  iconify all of the windows rather than just the one window.

DIAGNOSTICS

  _B_a_d_A_l_l_o_c  The	server failed to allocate the requested	resource or server
	    memory.

  _B_a_d_W_i_n_d_o_w A value for	a Window argument does not name	a defined Window.




SEE ALSO
  XAllocClassHint(3X11), XAllocIconSize(3X11), XAllocSizeHints(3X11),
  XFree(3X11), XSetCommand(3X11), XSetTransientForHint(3X11),
  XSetTextProperty(3X11), XSetWMClientMachine(3X11),
  XSetWMColormapWindows(3X11), XSetWMIconName(3X11), XSetWMName(3X11),
  XSetWMProperties(3X11), XSetWMProtocols(3X11),
  XStringListToTextProperty(3X11)
  _X_l_i_b - _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e	delim off


























































