Subject: Re: bug#25408: Remove Decorations Around Emacs Frame (NS port)

From: Anders Lindgren <[email-masked]>
Date: Wed, 19 Apr 2017 13:24:00 +0200

Hi!

> Anders, I hope it’s OK CCing you in. I think you might appreciate the
> following (after applying the patch):
>

I really appreciate that you are keeping me in the loop!

emacs -Q
>
> (set-frame-parameter nil 'undecorated t)
> (setq ns-auto-hide-menu-bar t)
> (toggle-frame-maximized)
>

This looks very promising! It's a cleaner solution than the one I use today
-- placing the title bar above the top of the screen.

The only issue I've came across was when the bottom edge of a frame was
close to the bottom of the display (or when maximized). When `undocorated'
goes from t to nil, the window shrinks. When positioned in the middle of
the screen, it looks like the frame, for a fraction of a second, increases
its size before returning to it's original shape. My guess is that, when at
the bottom of the screen, the frame gets truncated when the frame is
temporarily increased, and when it tries to return to it's original size,
it shrinks.

I made an attempt at adapting/modernizing my "multicolumn" (
https://github.com/Lindydancer/multicolumn) package (which, among else, can
resize and reposition a frame). Currently, I have hardcoded the title size
for various systems -- on macOS I use "24". However, `frame-geometry' says
that the title height is 22 pixels. I'm not sure how to account for the
missing 2 pixels, any thoughts?

Martin, I also notices that `menu-bar-external' says `nil', but I guess is
should say non-nil, right?

    -- Anders