# HG changeset patch # User Miles Bader # Date 968072659 0 # Node ID 735439f8377fa811b67a8ea9fac8e7d91ad129d2 # Parent 6aa8a6e72c0ff22a78212e063345ce777efdc4ba (remap_menubar): Only include the menu-margin in the initial X & Y positions for horizontal menu-bars. (fit_to_screen): If moving a sub-menu to the left-side, increment its x-position by the shadow-thickness to make it look more attached to the invoking menu-item (similarly to the way it would be displayed on the right side). diff -r 6aa8a6e72c0f -r 735439f8377f lwlib/xlwmenu.c --- a/lwlib/xlwmenu.c Mon Sep 04 12:13:34 2000 +0000 +++ b/lwlib/xlwmenu.c Mon Sep 04 13:04:19 2000 +0000 @@ -1208,7 +1208,11 @@ else if (ws->x + ws->width > screen_width) { if (!horizontal_p) - ws->x = previous_ws->x - ws->width; + /* The addition of shadow-thickness for a sub-menu's position is + to reflect a similar adjustment when the menu is displayed to + the right of the invoking menu-item; it makes the sub-menu + look more `attached' to the menu-item. */ + ws->x = previous_ws->x - ws->width + mw->menu.shadow_thickness; else ws->x = screen_width - ws->width; if (ws->x < 0) @@ -1305,7 +1309,7 @@ ws->x = (previous_ws->x + selection_position.x + mw->menu.shadow_thickness); - if (i == 1) + if (mw->menu.horizontal && i == 1) ws->x += mw->menu.margin; #if 0 @@ -1315,7 +1319,7 @@ ws->y = (previous_ws->y + selection_position.y + mw->menu.shadow_thickness); - if (i == 1) + if (mw->menu.horizontal && i == 1) ws->y += mw->menu.margin; size_menu (mw, i);