]> git.sur5r.net Git - i3/i3/commitdiff
Send the correct X11 border_width in faked ConfigureNotifys
authorMichael Stapelberg <michael@stapelberg.de>
Sat, 17 Sep 2011 13:11:55 +0000 (14:11 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 17 Sep 2011 13:11:55 +0000 (14:11 +0100)
include/xcb.h
src/xcb.c

index 4d7eafa02cfed430b1a7919f5c12e78155c5a996..185163b434a5c895240753e25b5c39920a220d30 100644 (file)
@@ -108,7 +108,7 @@ void xcb_draw_rect(xcb_connection_t *conn, xcb_drawable_t drawable,
  * The truth is, however, that we will manage them.
  *
  */
-void fake_configure_notify(xcb_connection_t *conn, Rect r, xcb_window_t window);
+void fake_configure_notify(xcb_connection_t *conn, Rect r, xcb_window_t window, int border_width);
 
 /**
  * Generates a configure_notify_event with absolute coordinates (relative to
index b11b0ca62b54c8ed7cfa882fea426d3d96ae46d1..09f0fb2568336f5e094ebc734f018f1b8c012295 100644 (file)
--- a/src/xcb.c
+++ b/src/xcb.c
@@ -168,7 +168,7 @@ void xcb_draw_rect(xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext
  * The truth is, however, that we will manage them.
  *
  */
-void fake_configure_notify(xcb_connection_t *conn, Rect r, xcb_window_t window) {
+void fake_configure_notify(xcb_connection_t *conn, Rect r, xcb_window_t window, int border_width) {
     /* Every X11 event is 32 bytes long. Therefore, XCB will copy 32 bytes.
      * In order to properly initialize these bytes, we allocate 32 bytes even
      * though we only need less for an xcb_configure_notify_event_t */
@@ -184,7 +184,7 @@ void fake_configure_notify(xcb_connection_t *conn, Rect r, xcb_window_t window)
     generated_event->width = r.width;
     generated_event->height = r.height;
 
-    generated_event->border_width = 0;
+    generated_event->border_width = border_width;
     generated_event->above_sibling = XCB_NONE;
     generated_event->override_redirect = false;
 
@@ -211,7 +211,7 @@ void fake_absolute_configure_notify(Con *con) {
 
     DLOG("fake rect = (%d, %d, %d, %d)\n", absolute.x, absolute.y, absolute.width, absolute.height);
 
-    fake_configure_notify(conn, absolute, con->window->id);
+    fake_configure_notify(conn, absolute, con->window->id, con->border_width);
 }
 
 /*