XRotateWindowProperties

Syntax

XRotateWindowProperties(display, w, properties, num_prop, npositions)
      Display *display;
      Window w;
      Atom properties[];
      int num_prop;
      int npositions;

Arguments

display Specifies the connection to the X server.
w Specifies the window.
properties Specifies the array of properties that are to be rotated.
num_prop Specifies the length of the properties array.
npositions Specifies the rotation amount.

Description

The XRotateWindowProperties() function allows you to rotate properties on a window and causes the X server to generate PropertyNotify events. If the property names in the properties array are viewed as being numbered starting from zero and if there are num_prop property names in the list, then the value associated with property name I becomes the value associated with property name (I + npositions) mod N for all I from zero to N - 1. The effect is to rotate the states by npositions places around the virtual ring of property names (right for positive npositions, left for negative npositions). If npositions mod N is nonzero, the X server generates a PropertyNotify event for each property in the order that they are listed in the array. If an atom occurs more than once in the list or no property with that name is defined for the window, a BadMatch error results. If a BadAtom or BadMatch error results, no properties are changed.

XRotateWindowProperties() can generate BadAtom , BadMatch , and BadWindow errors.

Diagnostics

BadAtom A value for an Atom argument does not name a defined Atom.
BadMatch An InputOnly window is used as a Drawable.
BadMatch Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.
BadPixmap A value for a Pixmap argument does not name a defined Pixmap.
BadWindow A value for a Window argument does not name a defined Window.

See also

XChangeProperty(), XDeleteProperty(), XGetWindowProperty(), XListProperties(), "Obtaining and Changing Window Properties"
Christophe Tronche, ch@tronche.com