From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Aaron Jensen Newsgroups: gmane.emacs.devel Subject: Re: macOS child frame lower behavior Date: Thu, 28 May 2020 17:16:31 -0700 Message-ID: References: <51315ef4-9528-c0bd-51c8-4484dd44a8da@gmx.at> <4c0e3e63-5328-5447-ee02-762685092a5f@gmx.at> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="83818"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri May 29 02:17:18 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jeSi6-000Lh9-KN for ged-emacs-devel@m.gmane-mx.org; Fri, 29 May 2020 02:17:18 +0200 Original-Received: from localhost ([::1]:45156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jeSi5-0000Pu-IX for ged-emacs-devel@m.gmane-mx.org; Thu, 28 May 2020 20:17:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46308) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jeShZ-0008Pf-4f for emacs-devel@gnu.org; Thu, 28 May 2020 20:16:45 -0400 Original-Received: from mail-yb1-xb35.google.com ([2607:f8b0:4864:20::b35]:39536) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jeShY-0006hE-41 for emacs-devel@gnu.org; Thu, 28 May 2020 20:16:44 -0400 Original-Received: by mail-yb1-xb35.google.com with SMTP id p123so273930yba.6 for ; Thu, 28 May 2020 17:16:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+iz8GCGERCAXoN8lbtM9zGSLSss+3s7mQswijc8fR10=; b=LGliNi7TeYAETfju5sU8gPEWhUK/RZ9IrmPAJuWw3meYzn/1XMTb/6YkUV4jVG69j2 XivFTc/fK+N8AKxA85ZdiDJRsBkl3Bizt06mKi7ZPXIlOi2AKb6GwRzS2HqGkDx5+hmj J3WpWnDRzAzbiJkn8MJMaSoJFfywIkQR7PQrQHLPCxvEWp5L6t0/S5Mpbpfv0LG0yBjW 3RHyChUVPyT2QEhiIUth+Gzvy6w/i2ZB5eCXZGIyOY+PjAFg/gaBWAhlD8S4evOtayLu /W3XlRWsodQXLGVi1d5csjr+8FgWHCFzP/hG6kZETdfa2W7Rkf1cis3cTonpOzoM1QwW kbaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+iz8GCGERCAXoN8lbtM9zGSLSss+3s7mQswijc8fR10=; b=i7gobdpPJMlBCDdcVbHIPDWfBLsvaTgXYklA6wYDgHWoujiHe9B8YdkNypw/sGSlJt kMlUhJJgV7vMLDIb3rZ11bMpS84XqwMNeGCuW6FEBKrRVc8M0cQKbgk+HS3kEH3eVUAN nauUgZQjC4J9TQ9cMpVNjjnDcU8ColMRKT8USOjkkbGpRbwVk41LGp3WmQSqWc3RKTtN 9juhvNm/0NHWT/dSwbRr82H+wO6cIh2E944jJETvzURLLSqqNYrprsrSYNBW9uXDx39E 6ZVjk2QSIq4hVuozvGhkTt9KADvVLZxclX48Q4m5TZGx19jFwt3SeYlmrP2R10ayHUiX gEbg== X-Gm-Message-State: AOAM531ULq7lU6gLBy9PAf+yslAZIEnORICb4NslbZKnxewI2eM8PqTr btAJKmLSvfNPhPcHwWhJ2A6vSiO/YJyEG2ZQtvk= X-Google-Smtp-Source: ABdhPJz7B+Gi2v7+eAZDzacxqdvkGQJhEL0+bdGikZJWt43pXr5MHIJ/bwx8+OWmLiLL3ughxcPqmx44aVOVI7rLrCQ= X-Received: by 2002:a25:ec3:: with SMTP id 186mr10279260ybo.475.1590711402675; Thu, 28 May 2020 17:16:42 -0700 (PDT) In-Reply-To: <4c0e3e63-5328-5447-ee02-762685092a5f@gmx.at> Received-SPF: pass client-ip=2607:f8b0:4864:20::b35; envelope-from=aaronjensen@gmail.com; helo=mail-yb1-xb35.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:251592 Archived-At: On Thu, May 28, 2020 at 9:54 AM martin rudalics wrote: > > > It apparently means the entire screen list on the desktop. > > Sounds bad (though I have no idea what "screen list" stands for). Yeah, I just read it as list of windows, but who knows if that's actually what it means. > > AFAICT, at least in Emacs, it does not do what is described. I created > > two child frames and attempted to restack them so that the second > > created one was above the first. This seemed to have no effect. > > I see. The code works here as intended with a GNUStep build (under > Debian's xfwm) so the problem is not on the Emacs side. Does > 'raise-frame' with two child frames work as intended? No, it focuses the frame raised, but does not change its layering. > What happens when > you have two overlapping child frames and you click into the lower one? > Does it raise to the top? No, it does not. > 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. > If we cannot fix that in some other way, we should probably make > lowering a child frame a NOOP on MacOS when it is the sole child frame > of its parent. If there are two child frames, we could try to raise the > other one, if that works somehow. For more complicated situations, we'd > have to look whether there exists a z-order for child frames and use > that. 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). Here's an example of that working: https://github.com/aaronjensen/child-frame-order-back-repro Specifically: https://github.com/aaronjensen/child-frame-order-back-repro/blob/master/ChildWindowTest/ChildWindowController.m#L24-L47 Aaron