unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Third <alan@idiocy.org>
To: Andrii Kolomoiets <andreyk.mad@gmail.com>
Cc: 36672@debbugs.gnu.org
Subject: bug#36672: 27.0.50; NS build: Creating child frame leads to empty space
Date: Tue, 16 Jul 2019 20:28:22 +0100	[thread overview]
Message-ID: <20190716192822.GA63701@breton.holly.idiocy.org> (raw)
In-Reply-To: <04CF7A6F-C1E7-4FE5-B648-8DA8CBD3B1ED@gmail.com>

On Mon, Jul 15, 2019 at 08:38:31PM +0300, Andrii Kolomoiets wrote:
> Assume there are only one space - Desktop
> 1. emacs -Q
> 2. M-x toggle-frame-fullscreen
>    Now there are two spaces - Desktop and *scratch*
> 3. eval (make-frame `((parent-frame . ,(window-frame))))
>    Now there are three spaces:
>    - Desktop
>    - Empty space named *scratch* with emacs menu
>    - *scratch* with emacs frames but without menu

I hit C-x C-c at this point to exit Emacs and it completely crashed my
session. Not great...

The patch looks good to me, but lets see if we can find solutions to
these other issues. To be honest, given that Apple don’t provide any
way to properly deal with spaces, I’d expect this stuff to be handled
sensibly by default, but I guess that’s too much to ask.

> 1. Removing parent-frame property leaves the frame is same space:
> 
> (let ((new-frame (make-frame `((parent-frame . ,(window-frame))))))
>   (modify-frame-parameters new-frame `((parent-frame . nil))))
> 
> Maybe child frame must go fullscreen if ex-parent frame is in
> fullscreen.

I suppose the best thing to do would be to move it onto the first
space, but there’s no API for that, apparently. Going fullscreen seems
like a reasonable work‐around to me.

> 2. Setting parent frame after frame creation:
> 
> (let ((frame (window-frame))
>       (new-frame (make-frame)))
>   (modify-frame-parameters new-frame `((parent-frame . ,frame))))

What do you see happening in this case? I’ve got spaces turned on and
everything I do just seems to create a new fullscreen space (except
when it crashes my session).

-- 
Alan Third





  reply	other threads:[~2019-07-16 19:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-15 17:38 bug#36672: 27.0.50; NS build: Creating child frame leads to empty space Andrii Kolomoiets
2019-07-16 19:28 ` Alan Third [this message]
2019-07-17  8:39   ` martin rudalics
2019-07-17 18:51   ` Andrii Kolomoiets
2019-07-23 18:14   ` Andrii Kolomoiets
2020-02-14  8:23     ` Andrii Kolomoiets
2020-02-20 23:23       ` Alan Third
2020-03-01 16:16       ` Alan Third
2020-03-10  8:42         ` Andrii Kolomoiets
2020-03-12 23:27           ` Alan Third
2020-03-13  9:38             ` martin rudalics
2020-03-13 15:13               ` Alan Third
2020-03-13 16:29                 ` martin rudalics
2020-03-13 17:45                   ` martin rudalics
2020-03-13 23:53                   ` Alan Third
2020-03-14  8:48                     ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190716192822.GA63701@breton.holly.idiocy.org \
    --to=alan@idiocy.org \
    --cc=36672@debbugs.gnu.org \
    --cc=andreyk.mad@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).