bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-f


From: Anders Lindgren
Subject: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame
Date: Wed, 30 Sep 2015 23:29:56 +0200

IIUC the Mac menu bar is what other systems call a task bar.  In that
case, a maximized frame should cover everything but the menu bar and a
fullboth frame should cover the entire screen.  Now if I understand you
correctly, Mac doesn't distinguish the various "zoomed" states - a
fullheight frame is just as "zoomed" as a fullscreen or maximized one.

Zooming and fullscreen are two different concepts. Zooming is a generic system, and it's up to the application to decide what to do. When initialized using the user interface, Emacs steps through full-height, maximized, and original size. When the frame `fullscreen' property is updated, the correct state is set immediately. OS X is simply informed of the end size and placement and resized the frame using a resizing animation.

FullScreen is a totally different animal with a special sideways animation, gives the application exclusive use of the screen, and blanks out other monitors.

Today, I did try a little experiment by modifying `windowWillUseStandardFrame:' to return the full screen size. Unfortunately, using this method it doesn't seem possible to make the frame use the entire screen -- it appears as though the system restrict the requested frame size to what it considers the visible area.

The four pixels, by the way, is related to the position of the "Dock" -- if it is placed on the side of the screen, OS X won't use the four leftmost pixels. Also, if the Dock is not in auto-hide mode, OS X will restrict zoom so that the dock isn't covered at all (i.e. some 20 or 30 pixels).

It would be relatively easy to modify the code so that setting a frame parameter would set the frame size without using the zoom system. However, it would make maximizing the frame using the user interface different from `toggle-frame-maximized', which might be undesirable. On the other hand, I compared with another application (LightRoom). When it is maximized using the user interface, it's frame doesn't cover the entire screen (the same four pixels as in Emacs). To cover the entire screen, another command must be issued which cycles through maximized, maximized with hidden menu bar, and normal.

/ Anders


reply via email to

[Prev in Thread] Current Thread [Next in Thread]