]> Dogcows Code - chaz/openbox/blobdiff - openbox/framerender.c
correctly show pressed state when pressing toggled buttons, bug #2311
[chaz/openbox] / openbox / framerender.c
index 17206c10618d04696fca60225aae9ec91c582dab..9d32d23ade19494057540824396859c0b63a6858 100644 (file)
@@ -1,4 +1,4 @@
-/* -*- indent-tabs-mode: t; tab-width: 4; c-basic-offset: 4; -*-
+/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    framerender.c for the Openbox window manager
    Copyright (c) 2003        Ben Jansens
@@ -34,7 +34,7 @@ static void framerender_close(ObFrame *self, RrAppearance *a);
 void framerender_frame(ObFrame *self)
 {
     {
-        unsigned long px;
+        gulong px;
 
         px = (self->focused ?
               RrColorPixel(ob_rr_theme->cb_focused_color) :
@@ -91,7 +91,9 @@ void framerender_frame(ObFrame *self)
               ob_rr_theme->a_disabled_unfocused_desk) :
              (self->focused ?
               (self->client->desktop == DESKTOP_ALL ?
-               ob_rr_theme->a_toggled_focused_desk :
+               (self->desk_press ?
+                ob_rr_theme->a_toggled_focused_pressed_desk :
+                ob_rr_theme->a_toggled_focused_desk) :
                (self->desk_press ?
                 ob_rr_theme->a_focused_pressed_desk :
                 (self->desk_hover ?
@@ -110,7 +112,9 @@ void framerender_frame(ObFrame *self)
               ob_rr_theme->a_disabled_unfocused_shade) :
              (self->focused ?
               (self->client->shaded ?
-               ob_rr_theme->a_toggled_focused_shade :
+               (self->shade_press ?
+                ob_rr_theme->a_toggled_focused_pressed_shade :
+                ob_rr_theme->a_toggled_focused_shade) :
                (self->shade_press ?
                 ob_rr_theme->a_focused_pressed_shade :
                 (self->shade_hover ?
@@ -235,12 +239,14 @@ static void framerender_label(ObFrame *self, RrAppearance *a)
 
 static void framerender_icon(ObFrame *self, RrAppearance *a)
 {
+    const ObClientIcon *icon;
+
     if (self->icon_x < 0) return;
 
-    if (self->client->nicons) {
-        ObClientIcon *icon = client_icon(self->client,
-                                         ob_rr_theme->button_size + 2,
-                                         ob_rr_theme->button_size + 2);
+    icon = client_icon(self->client,
+                       ob_rr_theme->button_size + 2,
+                       ob_rr_theme->button_size + 2);
+    if (icon) {
         a->texture[0].type = RR_TEXTURE_RGBA;
         a->texture[0].data.rgba.width = icon->width;
         a->texture[0].data.rgba.height = icon->height;
This page took 0.0266 seconds and 4 git commands to generate.