X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenuframe.c;h=a4cb464740aa100719bc14baf17a9146456318ee;hb=854b2ae68498133f3119ec614b725025af3fd66b;hp=f8c0b0556505badca1190041aaf2951274233175;hpb=e6c82786ff65e7681c980c8adebe082656c16438;p=chaz%2Fopenbox diff --git a/openbox/menuframe.c b/openbox/menuframe.c index f8c0b055..a4cb4647 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -195,11 +195,8 @@ void menu_frame_place_topmenu(ObMenuFrame *self, gint x, gint y) } 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; } + y -= self->title_h; } menu_frame_move(self, x, y); } @@ -210,19 +207,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/2 + self->item_h/2; + y -= (self->area.height - (bwidth * 2) - self->item_h) / 2; + else + y += overlap; menu_frame_move(self, x, y); } @@ -689,8 +687,6 @@ gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent, if (menu_frame_is_visible(self)) return TRUE; - if (!menu_frame_show(self)) - return FALSE; self->monitor = parent->monitor; self->parent = parent; @@ -701,6 +697,9 @@ gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent, menu_frame_hide(parent->child); parent->child = self; + if (!menu_frame_show(self)) + return FALSE; + menu_frame_place_submenu(self); menu_frame_move_on_screen(self, &dx, &dy);