changeset 31370:735439f8377f

(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).
author Miles Bader <miles@gnu.org>
date Mon, 04 Sep 2000 13:04:19 +0000
parents 6aa8a6e72c0f
children 334404109aae
files lwlib/xlwmenu.c
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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);