> I'm experiencing some difficulties with the fullscreen patch
> (2008-06-02) on the non-main display, which is arranged to be to the
> right and some 300 pixels above the main screen.
> When I "fullscreen" a frame on the second screen, it is moved down to
> y=0.  It should be at y=-300.

This is the negative-coordinate problem that Seiji encountered.  It was
also present with the previous fullscreen patch (and also without it).
I describe in Message-ID <[EMAIL PROTECTED]> (from
2008-06-09) how it can be fixed, but I don't have the time available
right now.

> Also, the width is not correct (it is a little too narrow) on the main
> screen.

I modified x_set_window_size to avoid this.  The attached patch is
relative to the current SVN version.  Can you please test it?

> Last, I can move the whole frame manually away when in full-screen
> mode.  This shouldn't be.

I don't understand this.  Do you mean that the window keeps its title
bar so you can drag it?  That should not happen in 'fullboth mode (but
should happen in 'fullwidth and 'fullheight mode).

Vebjorn


--~--~---------~--~----~------------~-------~--~----~
Carbon Emacs User Group
http://groups.google.com/group/carbon-emacs?hl=en
-~----------~----~----~----~------~----~------~--~---

--- ../../../foo/CarbonEmacs/emacs/src/macterm.c	2008-07-11 15:16:15.000000000 -0400
+++ macterm.c	2008-07-11 15:11:48.000000000 -0400
@@ -5763,7 +5763,6 @@
 
   check_frame_size (f, &rows, &cols);
 
-  /* Refuse to set cols, rows, or both if in full-screen mode. */
   if (f->want_fullscreen & FULLSCREEN_HEIGHT)
     rows = FRAME_LINES (f);
   if (f->want_fullscreen & FULLSCREEN_WIDTH)
@@ -5780,6 +5779,17 @@
   f->win_gravity = NorthWestGravity;
   x_wm_set_size_hint (f, (long) 0, 0);
 
+  /* Refuse to change height, width, or both if in full-screen mode. */
+  Rect b;
+  OSStatus st = GetWindowBounds(FRAME_MAC_WINDOW (f), kWindowContentRgn, &b);
+  if (st == noErr)
+    {
+      if (f->want_fullscreen & FULLSCREEN_HEIGHT)
+        pixelheight = b.bottom - b.top;
+      if (f->want_fullscreen & FULLSCREEN_WIDTH)
+        pixelwidth = b.right - b.left;
+    }
+
   mac_size_window (FRAME_MAC_WINDOW (f), pixelwidth, pixelheight, 0);
 
 #if TARGET_API_MAC_CARBON

Reply via email to