]> Dogcows Code - chaz/openbox/blobdiff - openbox/menuframe.c
proper logic for using the menu overlap with middle centered submenus.
[chaz/openbox] / openbox / menuframe.c
index 289c5e30e2d1f8cbef2994bbf81cbc4aa255d407..0fba250a06d1ba6215298686f150e142dadc27d9 100644 (file)
@@ -193,13 +193,8 @@ void menu_frame_place_topmenu(ObMenuFrame *self, gint x, gint y)
         x = self->client->frame->area.x + self->client->frame->size.left;
         y = self->client->frame->area.y + self->client->frame->size.top;
     } else {
-        if (config_menu_middle) {
-            x -= self->area.width / 2;
-            y -= self->title_h*3/4;
-        } else {
-            x -= ob_rr_theme->mbwidth;
-            y -= ob_rr_theme->mbwidth;
-        }
+        x -= self->area.width / 2;
+        y -= ob_rr_theme->mbwidth + self->title_h;
     }
     menu_frame_move(self, x, y);
 }
@@ -210,19 +205,20 @@ void menu_frame_place_submenu(ObMenuFrame *self)
     gint overlap;
     gint bwidth;
 
-    overlap = (config_menu_middle ? 0 : ob_rr_theme->menu_overlap);
+    overlap = ob_rr_theme->menu_overlap;
     bwidth = ob_rr_theme->mbwidth;
 
-
     if (self->direction_right)
         x = self->parent->area.x + self->parent->area.width - overlap - bwidth;
     else
         x = self->parent->area.x - self->area.width + overlap + bwidth;
 
     y = self->parent->area.y + self->parent->title_h +
-        self->parent_entry->area.y + overlap;
+        self->parent_entry->area.y;
     if (config_menu_middle)
-        y = y - (self->area.height - (bwidth * 2) - self->item_h) / 2;
+        y -= (self->area.height - (bwidth * 2) - self->item_h) / 2;
+    else
+        y += overlap;
 
     menu_frame_move(self, x, y);
 }
This page took 0.028548 seconds and 4 git commands to generate.