unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Aaron Jensen <aaronjensen@gmail.com>
To: martin rudalics <rudalics@gmx.at>
Cc: emacs-devel@gnu.org
Subject: Re: macOS child frame lower behavior
Date: Sat, 30 May 2020 13:39:53 -0700	[thread overview]
Message-ID: <CAHyO48y4xew7YKkQkbwHmd+TEm1vejj53eHSXf=o6LcVcY=7pA@mail.gmail.com> (raw)
In-Reply-To: <be0f3193-ba03-5f40-53bd-9717f856db38@gmx.at>

On Thu, May 28, 2020 at 11:45 PM martin rudalics <rudalics@gmx.at> wrote:
> Both of these sound pretty grave.  Would changing the visibility of
> child frames help to work around these?

AFAICT, orderOut is how you hide windows, which appears to remove
parentage anyway.

>  >> IIUC the following setup (which works here)
>  >> would fail: Make two normal frames A and B with A overlapping B and on B
>  >> make two child frames C and D where C overlaps D.  If you now in frame A
>  >> evaluate (raise-frame D), does as a side-effect B overlap A?
>  >
>  > Yes, whatever is done to a child actually impacts the parent.
>
> So in this scenario D would _not_ appear on top of C while B appears on
> top of A?

Right, it appears to be impossible to reorder child frames while using
raise-frame or lower-frame.

>  > If you remove a child and re-add it, you can change the order, which
>  > works for raise_frame, because when you add the child frame back it
>  > gets added as the top-most. I don't know how to emulate a lower_frame
>  > short of removing all of the children and then re-adding them in the
>  > proper order (with the one being lowered first).
>
> Is such redrawing a chain of child frames visually noticeable?  Would it
> work to make them all invisible first and then make them visible in the
> proper order or do you have to unparent them first and then reparent
> them in the proper order?

It is visually noticeable only in that the layering changes, which is
the desired effect. Making them invisible and then reparenting them
(since you can't just make them visible again as far as I can tell)
appears to be strictly worse in that it causes focus to change since
any window that is orderOut'd loses focus.

Aaron



      reply	other threads:[~2020-05-30 20:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-28  1:34 macOS child frame lower behavior Aaron Jensen
2020-05-28  7:04 ` martin rudalics
2020-05-28 16:00   ` Aaron Jensen
2020-05-28 16:54     ` martin rudalics
2020-05-29  0:16       ` Aaron Jensen
2020-05-29  6:45         ` martin rudalics
2020-05-30 20:39           ` Aaron Jensen [this message]

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='CAHyO48y4xew7YKkQkbwHmd+TEm1vejj53eHSXf=o6LcVcY=7pA@mail.gmail.com' \
    --to=aaronjensen@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=rudalics@gmx.at \
    /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).