]> Dogcows Code - chaz/openbox/blobdiff - openbox/framerender.c
stop using a border for the outer frame window. step 1 of borderless-ness. now transp...
[chaz/openbox] / openbox / framerender.c
index 99d112844ba2b2314bd9be3ae111bd34512f9858..3818d16c3996438ada470c078eb97e65ca81a54d 100644 (file)
@@ -40,8 +40,19 @@ void framerender_frame(ObFrame *self)
         px = (self->focused ?
               RrColorPixel(ob_rr_theme->cb_focused_color) :
               RrColorPixel(ob_rr_theme->cb_unfocused_color));
-        XSetWindowBackground(ob_display, self->plate, px);
-        XClearWindow(ob_display, self->plate);
+        XSetWindowBackground(ob_display, self->inner, px);
+        XClearWindow(ob_display, self->inner);
+
+        px = (self->focused ?
+              RrColorPixel(ob_rr_theme->frame_focused_border_color) :
+              RrColorPixel(ob_rr_theme->frame_unfocused_border_color));
+        XSetWindowBorder(ob_display, self->window, px);
+        XSetWindowBorder(ob_display, self->title, px);
+        XSetWindowBorder(ob_display, self->handle, px);
+        XSetWindowBorder(ob_display, self->rgrip, px);
+        XSetWindowBorder(ob_display, self->lgrip, px);
+        XSetWindowBackground(ob_display, self->leftresize, px);
+        XSetWindowBackground(ob_display, self->rightresize, px);
     }
 
     if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
@@ -167,9 +178,16 @@ void framerender_frame(ObFrame *self)
         RrPaint(t, self->title, self->width, ob_rr_theme->title_height);
 
         ob_rr_theme->a_clear->surface.parent = t;
-        ob_rr_theme->a_clear->surface.parentx = 0;
         ob_rr_theme->a_clear->surface.parenty = 0;
 
+        ob_rr_theme->a_clear->surface.parentx = ob_rr_theme->grip_width +
+            self->bwidth;
+        RrPaint(ob_rr_theme->a_clear, self->topresize,
+                self->width - (ob_rr_theme->grip_width + self->bwidth) * 2,
+                ob_rr_theme->paddingy + 1);
+
+        ob_rr_theme->a_clear->surface.parentx = 0;
+
         if (ob_rr_theme->grip_width > 0)
             RrPaint(ob_rr_theme->a_clear, self->tltresize,
                     ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1);
@@ -265,7 +283,7 @@ void framerender_frame(ObFrame *self)
 
 static void framerender_label(ObFrame *self, RrAppearance *a)
 {
-    if (self->label_x < 0) return;
+    if (!self->label_on) return;
     /* set the texture's text! */
     a->texture[0].data.text.string = self->client->title;
     RrPaint(a, self->label, self->label_width, ob_rr_theme->label_height);
@@ -275,7 +293,7 @@ static void framerender_icon(ObFrame *self, RrAppearance *a)
 {
     const ObClientIcon *icon;
 
-    if (self->icon_x < 0) return;
+    if (!self->icon_on) return;
 
     icon = client_icon(self->client,
                        ob_rr_theme->button_size + 2,
@@ -294,33 +312,33 @@ static void framerender_icon(ObFrame *self, RrAppearance *a)
 
 static void framerender_max(ObFrame *self, RrAppearance *a)
 {
-    if (self->max_x < 0) return;
+    if (!self->max_on) return;
     RrPaint(a, self->max, ob_rr_theme->button_size, ob_rr_theme->button_size);
 }
 
 static void framerender_iconify(ObFrame *self, RrAppearance *a)
 {
-    if (self->iconify_x < 0) return;
+    if (!self->iconify_on) return;
     RrPaint(a, self->iconify,
             ob_rr_theme->button_size, ob_rr_theme->button_size);
 }
 
 static void framerender_desk(ObFrame *self, RrAppearance *a)
 {
-    if (self->desk_x < 0) return;
+    if (!self->desk_on) return;
     RrPaint(a, self->desk, ob_rr_theme->button_size, ob_rr_theme->button_size);
 }
 
 static void framerender_shade(ObFrame *self, RrAppearance *a)
 {
-    if (self->shade_x < 0) return;
+    if (!self->shade_on) return;
     RrPaint(a, self->shade,
             ob_rr_theme->button_size, ob_rr_theme->button_size);
 }
 
 static void framerender_close(ObFrame *self, RrAppearance *a)
 {
-    if (self->close_x < 0) return;
+    if (!self->close_on) return;
     RrPaint(a, self->close,
             ob_rr_theme->button_size, ob_rr_theme->button_size);
 }
This page took 0.023551 seconds and 4 git commands to generate.