1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-16 09:50:25 +00:00

(x_make_frame_visible): Use SystemParametersInfo with SPI_GETWORKAREA to find

the dimensions of the screen work area, and adjust vertical position of the
frame in order to avoid being covered by the task bar.
This commit is contained in:
Eli Zaretskii 2006-06-30 13:41:15 +00:00
parent 1771bb6e00
commit 8958048c29

View File

@ -5665,7 +5665,22 @@ x_make_frame_visible (f)
before the window gets really visible. */
if (! FRAME_ICONIFIED_P (f)
&& ! f->output_data.w32->asked_for_visible)
x_set_offset (f, f->left_pos, f->top_pos, 0);
{
RECT workarea_rect;
RECT window_rect;
/* Adjust vertical window position in order to avoid being
covered by a task bar placed at the bottom of the desktop. */
SystemParametersInfo(SPI_GETWORKAREA, 0, &workarea_rect, 0);
GetWindowRect(FRAME_W32_WINDOW(f), &window_rect);
if (window_rect.bottom > workarea_rect.bottom
&& window_rect.top > workarea_rect.top)
f->top_pos = max (window_rect.top
- window_rect.bottom + workarea_rect.bottom,
workarea_rect.top);
x_set_offset (f, f->left_pos, f->top_pos, 0);
}
f->output_data.w32->asked_for_visible = 1;