diff src/w32term.c @ 83532:b19aaf4ab0ee

Merged from emacs@sv.gnu.org. Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-331 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-332 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-333 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-334 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-335 Add note about "link" button-class to etc/TODO * emacs@sv.gnu.org/emacs--devo--0--patch-336 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-337 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-338 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-339 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-340 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-341 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-342 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-343 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-344 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-345 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-346 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-347 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-348 Update for ERC 5.1.3. * emacs@sv.gnu.org/emacs--devo--0--patch-349 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-350 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/gnus--rel--5.10--patch-111 Update from CVS: texi/gnus.texi (Summary Buffer Lines): Fix typo. * emacs@sv.gnu.org/gnus--rel--5.10--patch-112 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-113 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-114 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-572
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 14 Jul 2006 05:56:32 +0000
parents 46b1096093f5 d1eb48dbd3e6
children 02e39decdc84
line wrap: on
line diff
--- a/src/w32term.c	Tue Jun 27 15:06:36 2006 +0000
+++ b/src/w32term.c	Fri Jul 14 05:56:32 2006 +0000
@@ -5665,7 +5665,22 @@
 	 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;