XChangeSaveSet, XAddToSaveSet, XRemoveFromSaveSet - change a client's save set
int XChangeSaveSet(Display *display, Window w,
    int change_mode);
int XAddToSaveSet(Display *display, Window
  w);
int XRemoveFromSaveSet(Display *display, Window
    w);
  - change_mode
- Specifies the mode. You can pass SetModeInsert or
      SetModeDelete.
- display
- Specifies the connection to the X server.
- w
- Specifies the window that you want to add or delete from the client's
      save-set.
Depending on the specified mode, XChangeSaveSet either inserts or deletes
  the specified window from the client's save-set. The specified window must
  have been created by some other client, or a BadMatch error results.XChangeSaveSet can generate BadMatch,
    BadValue, and BadWindow errors.
The XAddToSaveSet function adds the specified window to the
    client's save-set. The specified window must have been created by some other
    client, or a BadMatch error results.
XAddToSaveSet can generate BadMatch and
    BadWindow errors.
The XRemoveFromSaveSet function removes the specified
    window from the client's save-set. The specified window must have been
    created by some other client, or a BadMatch error results.
XRemoveFromSaveSet can generate BadMatch and
    BadWindow errors.
  - 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.
- BadValue
- Some numeric value falls outside the range of values accepted by the
      request. Unless a specific range is specified for an argument, the full
      range defined by the argument's type is accepted. Any argument defined as
      a set of alternatives can generate this error.
- BadWindow
- A value for a Window argument does not name a defined Window.
XReparentWindow(3)
Xlib - C Language X Interface