


XConfigureWindow(3X11)				       XConfigureWindow(3X11)
X11R5									X11R5



NAME
  XConfigureWindow, XMoveWindow, XResizeWindow,	XMoveResizeWindow, XSetWin-
  dowBorderWidth, XWindowChanges - configure windows and window	changes
  structure

SYNTAX
  XConfigureWindow(_d_i_s_p_l_a_y, _w, _v_a_l_u_e__m_a_s_k, _v_a_l_u_e_s)
	Display	*_d_i_s_p_l_a_y;
	Window _w;
	unsigned int _v_a_l_u_e__m_a_s_k;
	XWindowChanges *_v_a_l_u_e_s;

  XMoveWindow(_d_i_s_p_l_a_y, _w, _x, _y)
	Display	*_d_i_s_p_l_a_y;
	Window _w;
	int _x, _y;

  XResizeWindow(_d_i_s_p_l_a_y, _w, _w_i_d_t_h, _h_e_i_g_h_t)
	Display	*_d_i_s_p_l_a_y;
	Window _w;
	unsigned int _w_i_d_t_h, _h_e_i_g_h_t;

  XMoveResizeWindow(_d_i_s_p_l_a_y, _w,	_x, _y, _w_i_d_t_h, _h_e_i_g_h_t)
	Display	*_d_i_s_p_l_a_y;
	Window _w;
	int _x, _y;
	unsigned int _w_i_d_t_h, _h_e_i_g_h_t;

  XSetWindowBorderWidth(_d_i_s_p_l_a_y, _w, _w_i_d_t_h)
	Display	*_d_i_s_p_l_a_y;
	Window _w;
	unsigned int _w_i_d_t_h;

ARGUMENTS

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

  _v_a_l_u_e__m_a_s_k
	    Specifies which values are to be set using information in the
	    values structure.  This mask is the	bitwise	inclusive OR of	the
	    valid configure window values bits.

  _v_a_l_u_e_s    Specifies the _X_W_i_n_d_o_w_C_h_a_n_g_e_s structure.

  _w	    Specifies the window to be reconfigured, moved, or resized..

  _w_i_d_t_h	    Specifies the width	of the window border.

  _w_i_d_t_h
  _h_e_i_g_h_t    Specify the	width and height, which	are the	interior dimensions
	    of the window.

  _x
  _y	    Specify the	x and y	coordinates, which define the new location of
	    the	top-left pixel of the window's border or the window itself if
	    it has no border or	define the new position	of the window rela-
	    tive to its	parent.

DESCRIPTION
  The _X_C_o_n_f_i_g_u_r_e_W_i_n_d_o_w function	uses the values	specified in the _X_W_i_n_-
  _d_o_w_C_h_a_n_g_e_s structure to reconfigure a	window's size, position, border, and
  stacking order.  Values not specified	are taken from the existing geometry
  of the window.

  If a sibling is specified without a stack_mode or if the window is not
  actually a sibling, a	_B_a_d_M_a_t_c_h error results.	Note that the computations
  for _B_o_t_t_o_m_I_f,	_T_o_p_I_f, and _O_p_p_o_s_i_t_e are	performed with respect to the
  window's final geometry (as controlled by the	other arguments	passed to
  _X_C_o_n_f_i_g_u_r_e_W_i_n_d_o_w), not its initial geometry.	Any backing store contents of
  the window, its inferiors, and other newly visible windows are either	dis-
  carded or changed to reflect the current screen contents (depending on the
  implementation).

  _X_C_o_n_f_i_g_u_r_e_W_i_n_d_o_w can generate	_B_a_d_M_a_t_c_h, _B_a_d_V_a_l_u_e, and	_B_a_d_W_i_n_d_o_w errors.

  The _X_M_o_v_e_W_i_n_d_o_w function moves the specified window to the specified x and
  y coordinates, but it	does not change	the window's size, raise the window,
  or change the	mapping	state of the window.  Moving a mapped window may or
  may not lose the window's contents depending on if the window	is obscured
  by nonchildren and if	no backing store exists.  If the contents of the win-
  dow are lost,	the X server generates _E_x_p_o_s_e events.  Moving a	mapped window
  generates _E_x_p_o_s_e events on any formerly obscured windows.

  If the override-redirect flag	of the window is _F_a_l_s_e and some	other client
  has selected _S_u_b_s_t_r_u_c_t_u_r_e_R_e_d_i_r_e_c_t_M_a_s_k	on the parent, the X server generates
  a _C_o_n_f_i_g_u_r_e_R_e_q_u_e_s_t event, and	no further processing is performed. Other-
  wise,	the window is moved.

  _X_M_o_v_e_W_i_n_d_o_w can generate a _B_a_d_W_i_n_d_o_w error.

  The _X_R_e_s_i_z_e_W_i_n_d_o_w function changes the inside	dimensions of the specified
  window, not including	its borders.  This function does not change the
  window's upper-left coordinate or the	origin and does	not restack the	win-
  dow.	Changing the size of a mapped window may lose its contents and gen-
  erate	_E_x_p_o_s_e events.	If a mapped window is made smaller, changing its size
  generates _E_x_p_o_s_e events on windows that the mapped window formerly
  obscured.

  If the override-redirect flag	of the window is _F_a_l_s_e and some	other client
  has selected _S_u_b_s_t_r_u_c_t_u_r_e_R_e_d_i_r_e_c_t_M_a_s_k	on the parent, the X server generates
  a _C_o_n_f_i_g_u_r_e_R_e_q_u_e_s_t event, and	no further processing is performed. If either
  width	or height is zero, a _B_a_d_V_a_l_u_e error results.

  _X_R_e_s_i_z_e_W_i_n_d_o_w	can generate _B_a_d_V_a_l_u_e and _B_a_d_W_i_n_d_o_w errors.

  The _X_M_o_v_e_R_e_s_i_z_e_W_i_n_d_o_w	function changes the size and location of the speci-
  fied window without raising it.  Moving and resizing a mapped	window may
  generate an _E_x_p_o_s_e event on the window.  Depending on	the new	size and
  location parameters, moving and resizing a window may	generate _E_x_p_o_s_e
  events on windows that the window formerly obscured.

  If the override-redirect flag	of the window is _F_a_l_s_e and some	other client
  has selected _S_u_b_s_t_r_u_c_t_u_r_e_R_e_d_i_r_e_c_t_M_a_s_k	on the parent, the X server generates
  a _C_o_n_f_i_g_u_r_e_R_e_q_u_e_s_t event, and	no further processing is performed. Other-
  wise,	the window size	and location are changed.

  _X_M_o_v_e_R_e_s_i_z_e_W_i_n_d_o_w can	generate _B_a_d_V_a_l_u_e and _B_a_d_W_i_n_d_o_w	errors.

  The _X_S_e_t_W_i_n_d_o_w_B_o_r_d_e_r_W_i_d_t_h function sets the specified	window's border	width
  to the specified width.

  _X_S_e_t_W_i_n_d_o_w_B_o_r_d_e_r_W_i_d_t_h	can generate a _B_a_d_W_i_n_d_o_w error.


STRUCTURES
  The _X_W_i_n_d_o_w_C_h_a_n_g_e_s structure contains:

  /* Configure window value mask bits */ tab();	l l l.	T{ #define T}T{	_C_W_X
  T}T{ (1<<0) T} T{ #define T}T{ _C_W_Y T}T{ (1<<1) T} T{ #define T}T{ _C_W_W_i_d_t_h
  T}T{ (1<<2) T} T{ #define T}T{ _C_W_H_e_i_g_h_t T}T{ (1<<3) T} T{ #define T}T{
  _C_W_B_o_r_d_e_r_W_i_d_t_h	T}T{ (1<<4) T} T{ #define T}T{ _C_W_S_i_b_l_i_n_g T}T{ (1<<5) T}	T{
  #define T}T{ _C_W_S_t_a_c_k_M_o_d_e T}T{	(1<<6) T}

  /* Values */

  typedef struct {
	  int x, y;
	  int width, height;
	  int border_width;
	  Window sibling;
	  int stack_mode;
  } XWindowChanges;

  The x	and y members are used to set the window's x and y coordinates,	which
  are relative to the parent's origin and indicate the position	of the
  upper-left outer corner of the window.  The width and	height members are
  used to set the inside size of the window, not including the border, and
  must be nonzero, or a	_B_a_d_V_a_l_u_e error results.	 Attempts to configure a root
  window have no effect.

  The border_width member is used to set the width of the border in pixels.
  Note that setting just the border width leaves the outer-left	corner of the
  window in a fixed position but moves the absolute position of	the window's
  origin.  If you attempt to set the border-width attribute of an _I_n_p_u_t_O_n_l_y
  window nonzero, a _B_a_d_M_a_t_c_h error results.

  The sibling member is	used to	set the	sibling	window for stacking opera-
  tions.  The stack_mode member	is used	to set how the window is to be res-
  tacked and can be set	to _A_b_o_v_e, _B_e_l_o_w, _T_o_p_I_f,	_B_o_t_t_o_m_I_f, or _O_p_p_o_s_i_t_e.

DIAGNOSTICS

  _B_a_d_M_a_t_c_h  An _I_n_p_u_t_O_n_l_y window	is used	as a Drawable.

  _B_a_d_M_a_t_c_h  Some argument or pair of arguments has the correct type and	range
	    but	fails to match in some other way required by the request.

  _B_a_d_V_a_l_u_e  Some numeric value falls outside the range of values accepted by
	    the	request.  Unless a specific range is specified for an argu-
	    ment, the full range defined by the	argument's type	is accepted.
	    Any	argument defined as a set of alternatives can generate this
	    error.

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

SEE ALSO
  XChangeWindowAttributes(3X11), XCreateWindow(3X11), XDestroyWindow(3X11),
  XMapWindow(3X11), XRaiseWindow(3X11),	XUnmapWindow(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











