Thanks to @psychon for pointing this out during the review of PR #2624.
This commit extends this change to all other occurences of Expose events
within i3.
break;
case XCB_EXPOSE:
- handle_expose();
+ if (((xcb_expose_event_t *)event)->count == 0) {
+ handle_expose();
+ }
+
break;
}
break;
case XCB_EXPOSE:
- handle_expose(NULL, conn, (xcb_expose_event_t *)event);
+ if (((xcb_expose_event_t *)event)->count == 0) {
+ handle_expose(NULL, conn, (xcb_expose_event_t *)event);
+ }
+
break;
}
switch (type) {
case XCB_EXPOSE:
- handle_expose(conn, (xcb_expose_event_t *)event);
+ if (((xcb_expose_event_t *)event)->count == 0) {
+ handle_expose(conn, (xcb_expose_event_t *)event);
+ }
+
break;
case XCB_BUTTON_PRESS:
handle_visibility_notify((xcb_visibility_notify_event_t *)event);
break;
case XCB_EXPOSE:
- /* Expose-events happen, when the window needs to be redrawn */
- redraw_bars();
+ if (((xcb_expose_event_t *)event)->count == 0) {
+ /* Expose-events happen, when the window needs to be redrawn */
+ redraw_bars();
+ }
+
break;
case XCB_BUTTON_PRESS:
/* Button press events are mouse buttons clicked on one of our bars */
break;
case XCB_EXPOSE:
- handle_expose_event((xcb_expose_event_t *)event);
+ if (((xcb_expose_event_t *)event)->count == 0) {
+ handle_expose_event((xcb_expose_event_t *)event);
+ }
+
break;
case XCB_MOTION_NOTIFY:
static void restore_handle_event(int type, xcb_generic_event_t *event) {
switch (type) {
case XCB_EXPOSE:
- expose_event((xcb_expose_event_t *)event);
+ if (((xcb_expose_event_t *)event)->count == 0) {
+ expose_event((xcb_expose_event_t *)event);
+ }
+
break;
case XCB_CONFIGURE_NOTIFY:
configure_notify((xcb_configure_notify_event_t *)event);