XStoreName(display,w, name) /* assign a name to a window */ char *name; /* name: a null-terminated string */ Status XFetchName(display,w, name) /* find a window's name */ char **name; /* RETURN a pointer to the name array */ XSetIconName(display,w,icon_name) /* set name used on icon */ icon_name *char; Status XGetIconName(display,w,icon_name) /* get name used on icon */ icon_name **char; /*RETURN*/To set groups of properties there are 2 structures:-
typedef struct{ long flags; /*InputHint,StateHint,IconPixmapHint,IconWindowHint, IconPositionHint,IconMaskHint, WindowGroupHint, AllHints */ Bool input; /* does this application rely on the window manager to get keyboard input ? */ int initial_state; /*NormalState,ZoomState,IconicState,InactiveState,DontCareState*/ Pixmap icon_pixmap; Window icon_window; /* window to be used as icon */ int icon_x, icon_y; /*initial icon position*/ Pixmap icon_mask; XID window_group; /* windows can be grouped so that, for example, they could all be de-iconified at once */ } XWMHints; typedef struct { long flags; /* which fields are defined. Possibilities are USPosition, USSize, PPosition, Psize, PMinSize PMaxSize, PResizeInc, PAspect, PAllHints */ int x,y; int width, height; int min_width, max_width; int min_height, max_height; int width_inc, height_inc; struct { int x; /* numerator */ int y; /* demoninator */ } min_aspect, max_aspect; } XSizeHints;Control over the step size of the increment is useful if, say, you want to allow change of a text window by units of a character cell.
These structures are used in these routines:-
void XSetNormalHints(display, w, hints) Display *display; Window w; XSizeHints *hints; void XGetNormalHints(display, w, hints) Display *display; Window w; XSizeHints *hints; /* RETURNED*/ XSetStandardProperties(display,w,window_name,icon_name, icon_pixmap,argv,argc,hints) char *window_name, *icon_name; Pixmap icon_pixmap; char **argv; /* the command line to start the application*/ int argc; XSizeHints *hints; XSetWMHints(display,w,wmhints) XWMHints *wmhints; XWMHints *XGetWMHints(display,w,wmhints) XWMHints *wmhints;If you set maximum size, minimum size and original size to be all the same, and the window manager takes your hints, then your window will be of fixed size.