all repos — openbox @ cbbda7a363e0be925072c77b521af5546b9d5da1

openbox fork - make it a bit more like ryudo

proper logic for using the menu overlap with middle centered submenus.

always center top level menus horizontally under the cursor. why is this not normal behavior..?
Dana Jansens danakj@orodu.net
commit

cbbda7a363e0be925072c77b521af5546b9d5da1

parent

ee58f96a8403b8058e3165e32b391cd136a5108f

1 files changed, 6 insertions(+), 5 deletions(-)

jump to
M openbox/menuframe.copenbox/menuframe.c

@@ -193,7 +193,7 @@ if (self->client && x < 0 && y < 0) {

x = self->client->frame->area.x + self->client->frame->size.left; y = self->client->frame->area.y + self->client->frame->size.top; } else { - x -= ob_rr_theme->mbwidth; + x -= self->area.width / 2; y -= ob_rr_theme->mbwidth + self->title_h; } menu_frame_move(self, x, y);

@@ -205,9 +205,8 @@ gint x, y;

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;

@@ -215,9 +214,11 @@ 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); }