emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: macOS child frame lower behavior


From: Aaron Jensen
Subject: Re: macOS child frame lower behavior
Date: Sat, 30 May 2020 13:39:53 -0700

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 via email to

[Prev in Thread] Current Thread [Next in Thread]