mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-23 18:47:57 +00:00
(enriched-translations): Add top' and choice' everywhere so that *
can be entered. (custom-face-attributes): Don't use top-line'. (mode-line-format): Replace (:eval mode-line-mode-name)'. (mode-line-mode-name): New. (make-mode-line-mouse-sensitive): Don't change default value of x' are found before files starting with down_p'.
This commit is contained in:
parent
d773375565
commit
1ba46f7d63
@ -781,6 +781,9 @@ fit_to_screen (mw, ws, previous_ws, horizontal_p)
|
||||
{
|
||||
unsigned int screen_width = WidthOfScreen (XtScreen (mw));
|
||||
unsigned int screen_height = HeightOfScreen (XtScreen (mw));
|
||||
/* 1 if we are unable to avoid an overlap between
|
||||
this menu and the parent menu in the X dimension. */
|
||||
int horizontal_overlap = 0;
|
||||
|
||||
if (ws->x < 0)
|
||||
ws->x = 0;
|
||||
@ -791,8 +794,24 @@ fit_to_screen (mw, ws, previous_ws, horizontal_p)
|
||||
else
|
||||
ws->x = screen_width - ws->width;
|
||||
if (ws->x < 0)
|
||||
ws->x = 0;
|
||||
{
|
||||
ws->x = 0;
|
||||
horizontal_overlap = 1;
|
||||
}
|
||||
}
|
||||
/* If we overlap in X, try to avoid overlap in Y. */
|
||||
if (horizontal_overlap
|
||||
&& ws->y < previous_ws->y + previous_ws->height
|
||||
&& previous_ws->y < ws->y + ws->height)
|
||||
{
|
||||
/* Put this menu right below or right above PREVIOUS_WS
|
||||
if there's room. */
|
||||
if (previous_ws->y + previous_ws->height + ws->height < screen_height)
|
||||
ws->y = previous_ws->y + previous_ws->height;
|
||||
else if (previous_ws->y - ws->height > 0)
|
||||
ws->y = previous_ws->y - ws->height;
|
||||
}
|
||||
|
||||
if (ws->y < 0)
|
||||
ws->y = 0;
|
||||
else if (ws->y + ws->height > screen_height)
|
||||
@ -855,18 +874,18 @@ remap_menubar (mw)
|
||||
display_menu (mw, last_same, new_selection == old_selection,
|
||||
&selection_position, NULL, NULL, old_selection, new_selection);
|
||||
|
||||
/* Now popup the new menus */
|
||||
for (i = last_same + 1; i < new_depth && new_stack [i]->contents; i++)
|
||||
/* Now place the new menus. */
|
||||
for (i = last_same + 1; i < new_depth && new_stack[i]->contents; i++)
|
||||
{
|
||||
window_state* previous_ws = &windows [i - 1];
|
||||
window_state* ws = &windows [i];
|
||||
window_state *previous_ws = &windows[i - 1];
|
||||
window_state *ws = &windows[i];
|
||||
|
||||
ws->x =
|
||||
previous_ws->x + selection_position.x + mw->menu.shadow_thickness;
|
||||
ws->x
|
||||
= previous_ws->x + selection_position.x + mw->menu.shadow_thickness;
|
||||
if (!mw->menu.horizontal || i > 1)
|
||||
ws->x += mw->menu.shadow_thickness;
|
||||
ws->y =
|
||||
previous_ws->y + selection_position.y + mw->menu.shadow_thickness;
|
||||
ws->y
|
||||
= previous_ws->y + selection_position.y + mw->menu.shadow_thickness;
|
||||
|
||||
size_menu (mw, i);
|
||||
|
||||
@ -881,8 +900,8 @@ remap_menubar (mw)
|
||||
|
||||
/* unmap the menus that popped down */
|
||||
for (i = new_depth - 1; i < old_depth; i++)
|
||||
if (i >= new_depth || !new_stack [i]->contents)
|
||||
XUnmapWindow (XtDisplay (mw), windows [i].window);
|
||||
if (i >= new_depth || !new_stack[i]->contents)
|
||||
XUnmapWindow (XtDisplay (mw), windows[i].window);
|
||||
}
|
||||
|
||||
static Boolean
|
||||
|
Loading…
Reference in New Issue
Block a user