]> Dogcows Code - chaz/openbox/blobdiff - openbox/frame.c
consistant glib type usage
[chaz/openbox] / openbox / frame.c
index fdca7be7a475949c02280707dc017ddb57000945..5d7ec6c1b22f12060ed5ecd50831b08e7a03ba3c 100644 (file)
@@ -24,6 +24,7 @@
 #include "config.h"
 #include "framerender.h"
 #include "mainloop.h"
+#include "focus.h"
 #include "moveresize.h"
 #include "render/theme.h"
 
@@ -45,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,
@@ -57,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);
@@ -121,11 +122,16 @@ ObFrame *frame_new()
 static void set_theme_statics(ObFrame *self)
 {
     /* set colors/appearance/sizes for stuff that doesn't change */
-    XSetWindowBorder(ob_display, self->window, ob_rr_theme->b_color->pixel);
-    XSetWindowBorder(ob_display, self->title, ob_rr_theme->b_color->pixel);
-    XSetWindowBorder(ob_display, self->handle, ob_rr_theme->b_color->pixel);
-    XSetWindowBorder(ob_display, self->rgrip, ob_rr_theme->b_color->pixel);
-    XSetWindowBorder(ob_display, self->lgrip, ob_rr_theme->b_color->pixel);
+    XSetWindowBorder(ob_display, self->window,
+                     RrColorPixel(ob_rr_theme->b_color));
+    XSetWindowBorder(ob_display, self->title,
+                     RrColorPixel(ob_rr_theme->b_color));
+    XSetWindowBorder(ob_display, self->handle,
+                     RrColorPixel(ob_rr_theme->b_color));
+    XSetWindowBorder(ob_display, self->rgrip,
+                     RrColorPixel(ob_rr_theme->b_color));
+    XSetWindowBorder(ob_display, self->lgrip,
+                     RrColorPixel(ob_rr_theme->b_color));
 
     XResizeWindow(ob_display, self->max,
                   ob_rr_theme->button_size, ob_rr_theme->button_size);
@@ -182,17 +188,21 @@ static void frame_free(ObFrame *self)
 void frame_show(ObFrame *self)
 {
     if (!self->visible) {
-       self->visible = TRUE;
-       XMapWindow(ob_display, self->window);
+        self->visible = TRUE;
+        XMapWindow(ob_display, self->client->window);
+        XMapWindow(ob_display, self->window);
     }
 }
 
 void frame_hide(ObFrame *self)
 {
     if (self->visible) {
-       self->visible = FALSE;
-       self->client->ignore_unmaps++;
-       XUnmapWindow(ob_display, self->window);
+        self->visible = FALSE;
+        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);
     }
 }
 
@@ -205,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) {
@@ -420,6 +430,11 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
             PROP_SETA32(self->client->window, kde_net_wm_frame_strut,
                         cardinal, vals, 4);
         }
+
+        /* if this occurs while we are focus cycling, the indicator needs to
+           match the changes */
+        if (focus_cycle_target == self->client)
+            focus_cycle_draw_indicator();
     }
 }
 
@@ -537,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;
@@ -740,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) {
@@ -795,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) {
This page took 0.026885 seconds and 4 git commands to generate.