DOKK / manpages / debian 12 / libx11-doc / XkbSASetScreen.3.en
XkbSASetScreen(3) XKB FUNCTIONS XkbSASetScreen(3)

XkbSASetScreen - Sets the screenXXX field of act from s

void XkbSASetScreen (XkbSwitchScreenAction act, int s);

action in which to set screenXXX
value to set in screenXXX

Actions associated with the XkbSwitchScreen action structure change the active screen on a multiscreen display.

The type field of the XkbSwitchScreenAction structure should always be XkbSA_SwitchScreen.

The flags field is composed of the bitwise inclusive OR of the masks shown in Table 1.

Table 1 Switch Screen Action Flags
Flag Meaning
XkbSA_SwitchAbsolute If set, the screenXXX field represents the index of the new screen. Otherwise, it represents an offset from the current screen to the new screen.
XkbSA_SwitchApplication If not set, the action should switch to another screen on the same server. Otherwise, it should switch to another X server or application that shares the same physical display.

The screenXXX field is a signed character value that represents either the relative or absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in the flags field. Xkb provides the following macros to convert between the integer and signed character value for screen numbers in XkbSwitchScreenAction structures.


typedef struct _XkbSwitchScreenAction {
unsigned char type; /* XkbSA_SwitchScreen */
unsigned char flags; /* controls screen switching */
char screenXXX; /* screen number or delta */
} XkbSwitchScreenAction;

This action is optional. Servers are free to ignore the action or any of its flags if they do not support the requested behavior. If the action is ignored, it behaves like XkbSA_NoAction. Otherwise, key press and key release events do not generate an event.

libX11 1.8.4 X Version 11