Subject: bug#25408: Remove Decorations Around Emacs Frame (Windows OS)

From: martin rudalics <[email-masked]>
Date: Thu, 16 Feb 2017 09:04:54 +0100

> That's great. Are you going to push your patch to git-repo?

After having resolved some remaining issues, yes.

 > When it comes to other platforms than Windows, I have no idea about OS X
 > since I don't own any macs, but for X11, we have different means to
 > controll decorations and their looks & behaviour. On X11 we have window
 > managers that makes it easy to configure (or remove) borders, decorations
 > etc, so in my humble opinion I don't think you have to spend countless time
 > to make it work with every possible window manager etc.

The concern here is not how to turn off decorations for all windows (or
maybe all windows of a certain application), something which themes most
likely already provide to some extent.  The concern is how to control
aspects like appearance, placement, focusing and stacking order of some
specific Emacs frames, without affecting the remaining frames.

Consider the need to display some explanatory information for the
editing activity you are about to accomplish.  If you don't want to pop
up a new "normal" window or frame for that purpose, you currently have
two possibilites: Use the echo area or the tooltip frame.  Both are
ephemeral and have to be shared with all other applications pursuing a
similar goal.

Hence the need for some sort of minor frames which are OT1H less
ephemeral and can be more easily replicated than tooltips or the echo
area and are OTOH visually and habitually less obtrusive than normal
frames or windows.

Some desirable properties of such minor frames are:

(1) Do not show any window manager decorations provided their visibility
     and placement can be controlled by the application.

(2) Do not show them on the taskbar.

(3) Do not focus them when they pop up.

(4) Do not give them focus via mouse movements, mouse wheel scrolling or
     accidental mouse clicks.

(5) Allow to attach them to some normal Emacs frame or window.  This
     means to automatically move, resize and stack them along with that
     frame/window without affecting the appearance of any other object on
     your display.  It may also mean to make them obscure as few as
     possible text of the frame they have been attached to.

(6) Apart from (1)--(5) give them the full functionality of "normal"
     Emacs frames.

Obviously, (6) is the most difficult part.  For example, displaying such
a frame without making it continuously vanish and reappear.

martin