X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.c;h=5d7ec6c1b22f12060ed5ecd50831b08e7a03ba3c;hb=2aa5cd3574b2bbdc103cb7626aa1ff77ea2c0046;hp=93263e270089e4c8bbebdc40086959c4f9b41b17;hpb=377d20e7bf2e8eb4bc79d83311f2c81a1f99bc2b;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index 93263e27..5d7ec6c1 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -46,7 +46,7 @@ static gboolean flash_timeout(gpointer data); static void set_theme_statics(ObFrame *self); static void free_theme_statics(ObFrame *self); -static Window createWindow(Window parent, unsigned long mask, +static Window createWindow(Window parent, gulong mask, XSetWindowAttributes *attrib) { return XCreateWindow(ob_display, parent, 0, 0, 1, 1, 0, @@ -58,7 +58,7 @@ static Window createWindow(Window parent, unsigned long mask, ObFrame *frame_new() { XSetWindowAttributes attrib; - unsigned long mask; + gulong mask; ObFrame *self; self = g_new0(ObFrame, 1); @@ -189,6 +189,7 @@ void frame_show(ObFrame *self) { if (!self->visible) { self->visible = TRUE; + XMapWindow(ob_display, self->client->window); XMapWindow(ob_display, self->window); } } @@ -197,8 +198,11 @@ void frame_hide(ObFrame *self) { if (self->visible) { self->visible = FALSE; - self->client->ignore_unmaps++; + self->client->ignore_unmaps += 2; + /* we unmap the client itself so that we can get MapRequest + events, and because the ICCCM tells us to! */ XUnmapWindow(ob_display, self->window); + XUnmapWindow(ob_display, self->client->window); } } @@ -211,7 +215,7 @@ void frame_adjust_theme(ObFrame *self) void frame_adjust_shape(ObFrame *self) { #ifdef SHAPE - int num; + gint num; XRectangle xrect[2]; if (!self->client->shaped) { @@ -548,8 +552,8 @@ void frame_release_client(ObFrame *self, ObClient *client) static void layout_title(ObFrame *self) { - char *lc; - int x; + gchar *lc; + gint x; gboolean n, d, i, l, m, c, s; n = d = i = l = m = c = s = FALSE; @@ -751,7 +755,7 @@ ObFrameContext frame_context(ObClient *client, Window win) return OB_FRAME_CONTEXT_NONE; } -void frame_client_gravity(ObFrame *self, int *x, int *y) +void frame_client_gravity(ObFrame *self, gint *x, gint *y) { /* horizontal */ switch (self->client->gravity) { @@ -806,7 +810,7 @@ void frame_client_gravity(ObFrame *self, int *x, int *y) } } -void frame_frame_gravity(ObFrame *self, int *x, int *y) +void frame_frame_gravity(ObFrame *self, gint *x, gint *y) { /* horizontal */ switch (self->client->gravity) {