add toggled-pressed and toggled-hover button states to themes. also rename toggled...
[dana/openbox.git] / openbox / framerender.c
index 303fe8a..2859733 100644 (file)
@@ -48,60 +48,76 @@ void framerender_frame(ObFrame *self)
         RrAppearance *t, *l, *m, *n, *i, *d, *s, *c;
         if (self->focused) {
 
-          t = self->a_focused_title;
-          l = self->a_focused_label;
-          m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
-               ob_rr_theme->a_disabled_focused_max :
-               (self->max_press ?
-                ob_rr_theme->a_focused_pressed_max :
-                (self->client->max_vert || self->client->max_horz ?
-                 ob_rr_theme->a_toggled_focused_max :
-                 (self->max_hover ?
-                  ob_rr_theme->a_hover_focused_max : 
-                  ob_rr_theme->a_focused_unpressed_max))));
-          n = self->a_icon;
-          i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
-               ob_rr_theme->a_disabled_focused_iconify :
-               (self->iconify_press ?
-                ob_rr_theme->a_focused_pressed_iconify :
-                (self->iconify_hover ?
-                 ob_rr_theme->a_hover_focused_iconify : 
-                 ob_rr_theme->a_focused_unpressed_iconify)));
-          d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
-               ob_rr_theme->a_disabled_focused_desk :
-               (self->desk_press ?
-                ob_rr_theme->a_focused_pressed_desk :
-                (self->client->desktop == DESKTOP_ALL ?
-                 ob_rr_theme->a_toggled_focused_desk :
-                 (self->desk_hover ?
-                  ob_rr_theme->a_hover_focused_desk : 
-                  ob_rr_theme->a_focused_unpressed_desk))));
-          s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
-               ob_rr_theme->a_disabled_focused_shade :
-               (self->shade_press ?
-                ob_rr_theme->a_focused_pressed_shade :
-                (self->client->shaded ?
-                 ob_rr_theme->a_toggled_focused_shade :
-                 (self->shade_hover ?
-                  ob_rr_theme->a_hover_focused_shade : 
-                  ob_rr_theme->a_focused_unpressed_shade))));
-          c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
-               ob_rr_theme->a_disabled_focused_close :
-               (self->close_press ?
-                ob_rr_theme->a_focused_pressed_close :
-                (self->close_hover ?
-                 ob_rr_theme->a_hover_focused_close : 
-                 ob_rr_theme->a_focused_unpressed_close)));
-        } else {
+            t = self->a_focused_title;
+            l = self->a_focused_label;
 
+            m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
+                 ob_rr_theme->a_disabled_focused_max :
+                 (self->client->max_vert || self->client->max_horz ?
+                  (self->max_press ?
+                   ob_rr_theme->a_toggled_focused_pressed_max :
+                   (self->max_hover ?
+                    ob_rr_theme->a_toggled_hover_focused_max : 
+                    ob_rr_theme->a_toggled_focused_unpressed_max)) :
+                  (self->max_press ?
+                   ob_rr_theme->a_focused_pressed_max :
+                   (self->max_hover ?
+                    ob_rr_theme->a_hover_focused_max : 
+                    ob_rr_theme->a_focused_unpressed_max))));
+            n = self->a_icon;
+            i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
+                 ob_rr_theme->a_disabled_focused_iconify :
+                 (self->iconify_press ?
+                  ob_rr_theme->a_focused_pressed_iconify :
+                  (self->iconify_hover ?
+                   ob_rr_theme->a_hover_focused_iconify : 
+                   ob_rr_theme->a_focused_unpressed_iconify)));
+            d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
+                 ob_rr_theme->a_disabled_focused_desk :
+                 (self->client->desktop == DESKTOP_ALL ?
+                  (self->desk_press ?
+                   ob_rr_theme->a_toggled_focused_pressed_desk :
+                   (self->desk_hover ?
+                    ob_rr_theme->a_toggled_hover_focused_desk : 
+                    ob_rr_theme->a_toggled_focused_unpressed_desk)) :
+                  (self->desk_press ?
+                   ob_rr_theme->a_focused_pressed_desk :
+                   (self->desk_hover ?
+                    ob_rr_theme->a_hover_focused_desk : 
+                    ob_rr_theme->a_focused_unpressed_desk))));
+            s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
+                 ob_rr_theme->a_disabled_focused_shade :
+                 (self->client->shaded ?
+                  (self->shade_press ?
+                   ob_rr_theme->a_toggled_focused_pressed_shade :
+                   (self->shade_hover ?
+                    ob_rr_theme->a_toggled_hover_focused_shade : 
+                    ob_rr_theme->a_toggled_focused_unpressed_shade)) :
+                  (self->shade_press ?
+                   ob_rr_theme->a_focused_pressed_shade :
+                   (self->shade_hover ?
+                    ob_rr_theme->a_hover_focused_shade : 
+                    ob_rr_theme->a_focused_unpressed_shade))));
+            c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
+                 ob_rr_theme->a_disabled_focused_close :
+                 (self->close_press ?
+                  ob_rr_theme->a_focused_pressed_close :
+                  (self->close_hover ?
+                   ob_rr_theme->a_hover_focused_close : 
+                   ob_rr_theme->a_focused_unpressed_close)));
+        } else {
             t = self->a_unfocused_title;
             l = self->a_unfocused_label;
             m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
                  ob_rr_theme->a_disabled_unfocused_max :
-                 (self->max_press ?
-                  ob_rr_theme->a_unfocused_pressed_max :
-                  (self->client->max_vert || self->client->max_horz ?
-                   ob_rr_theme->a_toggled_unfocused_max :
+                 (self->client->max_vert || self->client->max_horz ?
+                  (self->max_press ?
+                   ob_rr_theme->a_toggled_unfocused_pressed_max :
+                   (self->max_hover ?
+                    ob_rr_theme->a_toggled_hover_unfocused_max : 
+                    ob_rr_theme->a_toggled_unfocused_unpressed_max)) :
+                  (self->max_press ?
+                   ob_rr_theme->a_unfocused_pressed_max :
                    (self->max_hover ?
                     ob_rr_theme->a_hover_unfocused_max : 
                     ob_rr_theme->a_unfocused_unpressed_max))));
@@ -115,29 +131,37 @@ void framerender_frame(ObFrame *self)
                    ob_rr_theme->a_unfocused_unpressed_iconify)));
             d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
                  ob_rr_theme->a_disabled_unfocused_desk :
-                 (self->desk_press ?
-                  ob_rr_theme->a_unfocused_pressed_desk :
-                  (self->client->desktop == DESKTOP_ALL ?
-                   ob_rr_theme->a_toggled_unfocused_desk :
+                 (self->client->desktop == DESKTOP_ALL ?
+                  (self->desk_press ?
+                   ob_rr_theme->a_toggled_unfocused_pressed_desk :
+                   (self->desk_hover ?
+                    ob_rr_theme->a_toggled_hover_unfocused_desk : 
+                    ob_rr_theme->a_toggled_unfocused_unpressed_desk)) :
+                  (self->desk_press ?
+                   ob_rr_theme->a_unfocused_pressed_desk :
                    (self->desk_hover ?
                     ob_rr_theme->a_hover_unfocused_desk : 
                     ob_rr_theme->a_unfocused_unpressed_desk))));
-          s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
-              ob_rr_theme->a_disabled_unfocused_shade :
-               (self->shade_press ?
-                ob_rr_theme->a_unfocused_pressed_shade :
-                (self->client->shaded ?
-                 ob_rr_theme->a_toggled_unfocused_shade :
-                 (self->shade_hover ?
-                  ob_rr_theme->a_hover_unfocused_shade : 
-                  ob_rr_theme->a_unfocused_unpressed_shade))));
-          c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
-               ob_rr_theme->a_disabled_unfocused_close :
-               (self->close_press ?
-                ob_rr_theme->a_unfocused_pressed_close :
-                (self->close_hover ?
-                 ob_rr_theme->a_hover_unfocused_close : 
-                 ob_rr_theme->a_unfocused_unpressed_close)));
+            s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
+                 ob_rr_theme->a_disabled_unfocused_shade :
+                 (self->client->shaded ?
+                  (self->shade_press ?
+                   ob_rr_theme->a_toggled_unfocused_pressed_shade :
+                   (self->shade_hover ?
+                    ob_rr_theme->a_toggled_hover_unfocused_shade : 
+                    ob_rr_theme->a_toggled_unfocused_unpressed_shade)) :
+                  (self->shade_press ?
+                   ob_rr_theme->a_unfocused_pressed_shade :
+                   (self->shade_hover ?
+                    ob_rr_theme->a_hover_unfocused_shade : 
+                    ob_rr_theme->a_unfocused_unpressed_shade))));
+            c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
+                 ob_rr_theme->a_disabled_unfocused_close :
+                 (self->close_press ?
+                  ob_rr_theme->a_unfocused_pressed_close :
+                  (self->close_hover ?
+                   ob_rr_theme->a_hover_unfocused_close : 
+                   ob_rr_theme->a_unfocused_unpressed_close)));
         }
 
         RrPaint(t, self->title, self->width, ob_rr_theme->title_height);