From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Paul W. Rankin" via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: src/nsterm.m: fix window tabbing on macOS Date: Tue, 11 May 2021 15:45:08 +1000 Organization: By Dasein Message-ID: <39fa782b82e274d3e9c40e934df89d68@purelymail.com> References: <9cdf9d6dc55ccd4894d758d3237b0be2@purelymail.com> <03FB7137-A02D-4B94-AF1F-8B7E84DEF5DB@bydasein.com> Reply-To: "Paul W. Rankin" Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29383"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Purely Mail via Roundcube/1.4.10 Cc: emacs-devel@gnu.org To: "Paul W. Rankin" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 11 07:54:57 2021 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 1lgLM8-0007T9-95 for ged-emacs-devel@m.gmane-mx.org; Tue, 11 May 2021 07:54:56 +0200 Original-Received: from localhost ([::1]:60954 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lgLM7-00032f-5i for ged-emacs-devel@m.gmane-mx.org; Tue, 11 May 2021 01:54:55 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33404) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgLD1-0006bu-Pu for emacs-devel@gnu.org; Tue, 11 May 2021 01:45:33 -0400 Original-Received: from sendmail.purelymail.com ([34.202.193.197]:53776) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgLCx-0006Bp-L9 for emacs-devel@gnu.org; Tue, 11 May 2021 01:45:31 -0400 Authentication-Results: purelymail.com; auth=pass DKIM-Signature: a=rsa-sha256; b=P7fT06k+X3dFBw3b/xit0AZ5AnVgDjwixIc4clk1xFCOaY+F/6dbVv1PO8E14+d5or1WXz9C18AVMmyO9H473v5/cQ2Qct8Qw1nABgv41ipE5+t/EvqPz6n+IGm4cfsWas4DJY5ox0L77Sl/hJKl0CHG594fUTEEG0ZmsFFIi0zoI79auACyBccropro6/NIMyCDZIjRFoElUdwciEj2u93OQk285xDU33kPCmfNRWUXLDxqxSv2p6Eqmp1T6zeEQtVu2MVN6NN+oE6ZUJH8edyXrQ3r9KFeuRp8ZxzKNLoEYBRMwrFDGq7MIE0UNbJXE0jyD18I+F/k2s78EXFEhw==; s=purelymail2; d=bydasein.com; v=1; bh=1hmBfj2fpSN5K7odtqQEpKza8dykSw7Lwgoma28yBnw=; h=Received:From:To; DKIM-Signature: a=rsa-sha256; b=kR+GvOm9jb0x6/AIr6Z62Fe43r3ppg50UEWK2uZLM7EnmvOd0AGKTwiz5fgorwsR8G92SeyXWFOgeBzFewuZUnn2YcAMyEKoJDHiGcjkssucnc/wYkM31ZH02f47Vb2f0cqD4NAvxwOMguzdCaRb5+td4vW/Zk3Qe99CWlZkdlyXpbuboIFcB+LAi/K7HqYgD39eg/WaRjCxvq0JOwbnri9DLPXj6hQU+TOcGRRMc8dJarnCz3kRLDdAjjAbmSPuAqyO1LAQN+WETP+BXvS+iL2nVVNljSxG0n4YCCS6B3Cfp315GQVrvmOhzVkrGRBgBzKru3ic63lpb5jLU4SEKg==; s=purelymail2; d=purelymail.com; v=1; bh=1hmBfj2fpSN5K7odtqQEpKza8dykSw7Lwgoma28yBnw=; h=Feedback-ID:Received:From:To; Feedback-ID: 791:353:null:purelymail X-Pm-Original-To: emacs-devel@gnu.org Original-Received: by ip-172-30-0-124.ec2.internal (JAMES SMTP Server ) with ESMTPA ID -1622589137; Tue, 11 May 2021 05:45:08 +0000 (UTC) In-Reply-To: X-Sender: pwr@bydasein.com Received-SPF: pass client-ip=34.202.193.197; envelope-from=pwr@bydasein.com; helo=sendmail.purelymail.com 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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:269144 Archived-At: On 2021-05-11 05:53, Alan Third wrote: > On Sat, May 08, 2021 at 10:27:13PM +1000, Paul W. Rankin wrote: > I reckon this is probably OK, but I'll leave it a bit longer to see if > anyone else has an opinion. If I'm not mistaken, it is the fourth commandment of emacs-devel that someone must raise an objection. Especially if the change does not affect them. > IIRC, it would just crash pretty much at random, and without much > prompting, so you'd likely know if it was still a problem. > > Most likely the fullscreen crash fixes from a couple of years ago > solved it. I'm on macOS 10.13 Hi Sarah and previously was on 10.14 and 10.15, but if anyone is on macOS 11 Big Slurp it may be worth building/testing. >> The user choice I refer to resides in the odd place of System >> Preferences > >> Dock > Prefer tabs when opening documents: [Always | In Full Screen >> Only | >> Manually]. The behaviour I've experienced with each of these is: >> >> - Always: invoking `make-new-frame' will always create a frame in a >> new tab >> - In Full Screen Only: invoking `make-new-frame' will create a frame >> in a >> new tab only when `(frame-parameter nil 'fullscreen)' is non-nil >> - Manually: `make-new-frame' will never create new tabs I should clarify here that the macOS window manager is not querying Emacs frame parameters. Correlation not causation! > That location really doesn't much sense! Certainly explains why I've > never seen it before. :) > > This is really my lastremaining concern, that it's such an obscure > setting that we'll get a lot of bug reports about Emacs-doing-tabs > when-I-don't-want-it-to. I'm not sure there's a good solution to that > other than perhaps putting a note in the NS port documentation (which > afaict nobody ever reads anyway). You are correct. I only looked at the nextstep/README file today. Given that tabs look much a part of the macOS window system I think/hope a person's first assumption would be that it's an Apple thing and hopefully first burn out their ire on Apple forums/reddits/etc. Nevertheless, we shouldn't inhibit all for the failings of a few. The only thing that's a little weird is that this tab bar is not visible when in full screen, requiring moving the mouse up to reveal it. It would clearer what's happening if the tab bar behaved more like Terminal.app when in full screen: opening more than a single tab keeps the tab bar visible (in full screen or windowed). Apple's documentation on this is very thin, so I doubt it's a simple boolean switch: https://developer.apple.com/documentation/appkit/nswindowtabgroup > BTW, is there an advantage to explicitly enabling the default setting > over just removing the code that disables it? Sorry I am unqualified to offer an opinion here, other than if someone wants to change it the code is already there for them to easily make the change and rebuild Emacs. Tangentially, this lead me to read a little about GNUstep. Does GNUstep provide the same kind of tabbing as macOS?