LINUX.ORG.RU

История изменений

Исправление gagarin0, (текущая версия) :

для прокидывания событий, напрямую, в xorg приложению (xterm), видимо надо использовать что-то в духе,

void allow_input_passthrough (Window w) {
    XserverRegion region = XFixesCreateRegion (g_display, NULL, 0);

    //XFixesSetWindowShapeRegion (g_display, w, ShapeBounding, 0, 0, 0);
    XFixesSetWindowShapeRegion (g_display, w, ShapeInput, 0, 0, region);

    XFixesDestroyRegion (g_display, region);
}

в этом случае фейковый XSendEvent не нужен

Исходная версия gagarin0, :

для прокидывания событий, напрямую, в xorg приложению (xterm), видимо надо использовать что-то в духе, в этом случае XSendEvent не нужен

void allow_input_passthrough (Window w) {
    XserverRegion region = XFixesCreateRegion (g_display, NULL, 0);

    //XFixesSetWindowShapeRegion (g_display, w, ShapeBounding, 0, 0, 0);
    XFixesSetWindowShapeRegion (g_display, w, ShapeInput, 0, 0, region);

    XFixesDestroyRegion (g_display, region);
}