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

From: martin rudalics <[email-masked]>
Date: Mon, 12 Jun 2017 08:09:03 +0200

> Your explanation made it much clearer what was required. I believe
 > I’ve got it sorted now. I’ve attached a patch.

The second part of this comment

  /* --------------------------------------------------------------------------
       Bring window to foreground and make it active
     -------------------------------------------------------------------------- */

seems to be a bit misleading then.

 > I’m struggling to find where this should be documented. Any ideas
 > which part of the manual covers full‐screen?

The Elisp manual in section 29.4.3.3 Size Parameters.

 > macOS uses double‐headed diagonal arrows, but they’re undocumented:
 >
 >      https://stackoverflow.com/questions/27242353/cocoa-predefined-resize-mouse-cursor

In NSCursor.h I can find these

+ (id)_windowResizeNorthWestSouthEastCursor;
+ (id)_windowResizeNorthEastSouthWestCursor;

But there I see also

+ (id)_windowResizeSouthWestCursor;
+ (id)_windowResizeSouthEastCursor;
+ (id)_windowResizeNorthWestCursor;
+ (id)_windowResizeNorthEastCursor;

so NS apparently can implement both, the X and the Windows ones.

 > GNUStep doesn’t implement them and doesn’t seem to have any
 > equivalent.
 >
 > On macOS we can actually make undecorated frames resizable quite
 > easily just by including the resizable style mask. GNUstep doesn’t
 > like that, of course.

I added code for manual mouse-moving and -resizing of frames because
under X there's apparently no support to do that for child frames.
Since the Windows API provides such support I have to find some
substitute on X and want to make that as uniform as possible for other
platforms as well.

martin