Xnest: replace XSelectInput() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
415594fd67
commit
261d22a444
|
@ -49,7 +49,7 @@ Drawable xnestDefaultDrawables[MAXDEPTH + 1];
|
||||||
Pixmap xnestIconBitmap;
|
Pixmap xnestIconBitmap;
|
||||||
Pixmap xnestScreenSaverPixmap;
|
Pixmap xnestScreenSaverPixmap;
|
||||||
uint32_t xnestBitmapGC;
|
uint32_t xnestBitmapGC;
|
||||||
unsigned long xnestEventMask;
|
uint32_t xnestEventMask;
|
||||||
|
|
||||||
static int _X_NORETURN
|
static int _X_NORETURN
|
||||||
x_io_error_handler(Display * dpy)
|
x_io_error_handler(Display * dpy)
|
||||||
|
|
|
@ -33,7 +33,7 @@ extern Drawable xnestDefaultDrawables[MAXDEPTH + 1];
|
||||||
extern Pixmap xnestIconBitmap;
|
extern Pixmap xnestIconBitmap;
|
||||||
extern Pixmap xnestScreenSaverPixmap;
|
extern Pixmap xnestScreenSaverPixmap;
|
||||||
extern uint32_t xnestBitmapGC;
|
extern uint32_t xnestBitmapGC;
|
||||||
extern unsigned long xnestEventMask;
|
extern uint32_t xnestEventMask;
|
||||||
|
|
||||||
void xnestOpenDisplay(int argc, char *argv[]);
|
void xnestOpenDisplay(int argc, char *argv[]);
|
||||||
void xnestCloseDisplay(void);
|
void xnestCloseDisplay(void);
|
||||||
|
|
|
@ -183,12 +183,18 @@ xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
|
||||||
case DEVICE_ON:
|
case DEVICE_ON:
|
||||||
xnestEventMask |= XNEST_KEYBOARD_EVENT_MASK;
|
xnestEventMask |= XNEST_KEYBOARD_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
for (i = 0; i < xnestNumScreens; i++)
|
||||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||||
|
xnestDefaultWindows[i],
|
||||||
|
XCB_CW_EVENT_MASK,
|
||||||
|
&xnestEventMask);
|
||||||
break;
|
break;
|
||||||
case DEVICE_OFF:
|
case DEVICE_OFF:
|
||||||
xnestEventMask &= ~XNEST_KEYBOARD_EVENT_MASK;
|
xnestEventMask &= ~XNEST_KEYBOARD_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
for (i = 0; i < xnestNumScreens; i++)
|
||||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||||
|
xnestDefaultWindows[i],
|
||||||
|
XCB_CW_EVENT_MASK,
|
||||||
|
&xnestEventMask);
|
||||||
break;
|
break;
|
||||||
case DEVICE_CLOSE:
|
case DEVICE_CLOSE:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -84,12 +84,18 @@ xnestPointerProc(DeviceIntPtr pDev, int onoff)
|
||||||
case DEVICE_ON:
|
case DEVICE_ON:
|
||||||
xnestEventMask |= XNEST_POINTER_EVENT_MASK;
|
xnestEventMask |= XNEST_POINTER_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
for (i = 0; i < xnestNumScreens; i++)
|
||||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||||
|
xnestDefaultWindows[i],
|
||||||
|
XCB_CW_EVENT_MASK,
|
||||||
|
&xnestEventMask);
|
||||||
break;
|
break;
|
||||||
case DEVICE_OFF:
|
case DEVICE_OFF:
|
||||||
xnestEventMask &= ~XNEST_POINTER_EVENT_MASK;
|
xnestEventMask &= ~XNEST_POINTER_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
for (i = 0; i < xnestNumScreens; i++)
|
||||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||||
|
xnestDefaultWindows[i],
|
||||||
|
XCB_CW_EVENT_MASK,
|
||||||
|
&xnestEventMask);
|
||||||
break;
|
break;
|
||||||
case DEVICE_CLOSE:
|
case DEVICE_CLOSE:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -379,8 +379,10 @@ xnestOpenScreen(ScreenPtr pScreen, int argc, char *argv[])
|
||||||
|
|
||||||
if (xnestParentWindow != 0) {
|
if (xnestParentWindow != 0) {
|
||||||
xnestDefaultWindows[pScreen->myNum] = xnestParentWindow;
|
xnestDefaultWindows[pScreen->myNum] = xnestParentWindow;
|
||||||
XSelectInput(xnestDisplay, xnestDefaultWindows[pScreen->myNum],
|
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||||
xnestEventMask);
|
xnestDefaultWindows[pScreen->myNum],
|
||||||
|
XCB_CW_EVENT_MASK,
|
||||||
|
&xnestEventMask);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
xnestDefaultWindows[pScreen->myNum] = xcb_generate_id(xnestUpstreamInfo.conn);
|
xnestDefaultWindows[pScreen->myNum] = xcb_generate_id(xnestUpstreamInfo.conn);
|
||||||
|
|
Loading…
Reference in New Issue