unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Third <alan@idiocy.org>
To: "Paul W. Rankin" <pwr@bydasein.com>
Cc: emacs-devel@gnu.org
Subject: Re: src/nsterm.m: fix window tabbing on macOS
Date: Mon, 10 May 2021 20:53:52 +0100	[thread overview]
Message-ID: <YJmPUEkImBChplXE@idiocy.org> (raw)
In-Reply-To: <03FB7137-A02D-4B94-AF1F-8B7E84DEF5DB@bydasein.com>

On Sat, May 08, 2021 at 10:27:13PM +1000, Paul W. Rankin wrote:
> > On 8 May 2021, at 9:21 pm, Alan Third <alan@idiocy.org> wrote:
> > > src/nsterm.m: use NSWindowTabbingModeAutomatic to respect user choice.
> > > Tabbed window managers are now widely available for free systems.
> > 
> > For the record the tabbing being enabled here is not Emacs's own
> > tabbing, it's a macOS method of combining multiple OS windows into
> > one. Emacs's tabbing has still to be implemented on the NS port (I've
> > no interest as I think tabbed windows are an abomination that should
> > be burnt on sight, but would happily let someone else implement it).
> 
> I think all the more reason not to hobble the macOS window manager! But yes
> it should be noted that tabs here are in the context of window management
> (i.e. Emacs frames) not tab-bar-mode. A Linux counterpart would be
> https://tools.suckless.org/tabbed/

I reckon this is probably OK, but I'll leave it a bit longer to see if
anyone else has an opinion.

> > Paul, is this still the absolute disaster it was when it first
> > appeared where some random Emacs frames would get combined but not
> > others, not to mention the crashes? Also there was no "user choice" as
> > I recall, it just happened without any warning or input from the user,
> > at random.
> > 
> > Is it actually stable and usable now?
> 
> I've been building Emacs with this change applied for several years now
> across a few different macOS versions and I've never experienced a crash or
> unexpected behaviour. But it depends on what you might be doing that I'm
> not; can you provide a step-by-step?

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.

> 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

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).

BTW, is there an advantage to explicitly enabling the default setting
over just removing the code that disables it?

-- 
Alan Third



  parent reply	other threads:[~2021-05-10 19:53 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-08  9:26 src/nsterm.m: fix window tabbing on macOS Paul W. Rankin via Emacs development discussions.
2021-05-08 11:21 ` Alan Third
2021-05-08 12:27   ` Paul W. Rankin via Emacs development discussions.
2021-05-08 12:35     ` Paul W. Rankin via Emacs development discussions.
2021-05-10 19:53     ` Alan Third [this message]
2021-05-11  5:45       ` Paul W. Rankin via Emacs development discussions.
2021-05-11 19:20         ` chad
2021-05-12  9:47           ` Paul W. Rankin via Emacs development discussions.
2021-05-12 21:23         ` Alan Third
2021-05-13  5:46           ` Paul W. Rankin via Emacs development discussions.
2021-05-13 21:05             ` Alan Third
2021-05-16  9:16               ` Paul W. Rankin via Emacs development discussions.
2021-05-26 19:56                 ` Alan Third
2021-05-27 11:06                   ` Andrii Kolomoiets
2021-05-28  8:26                     ` martin rudalics
2021-05-28  8:28                       ` Paul W. Rankin via Emacs development discussions.
2021-05-28  8:36                         ` martin rudalics
2021-05-28  8:54                           ` Alan Third
2021-06-06  4:09                             ` Paul W. Rankin via Emacs development discussions.
2021-06-06  7:43                               ` martin rudalics
2021-05-28  9:07                           ` Andrii Kolomoiets
2021-05-28  9:21                             ` martin rudalics
2021-05-28  9:37                               ` Paul W. Rankin via Emacs development discussions.
2021-05-28  9:51                                 ` martin rudalics
2021-05-28 14:33                                   ` Paul W. Rankin via Emacs development discussions.
2021-05-28 20:52                                     ` Andrii Kolomoiets
2021-06-05 20:58                   ` Alan Third
2021-06-06  4:01                     ` Paul W. Rankin via Emacs development discussions.
2021-06-06  6:14                       ` Eli Zaretskii
2021-06-06  6:48                         ` Paul W. Rankin via Emacs development discussions.
2021-06-06  9:13                           ` Alan Third
     [not found]                             ` <8CCF969D-32AF-4542-8838-21DF4AA45523@yasufuku.dev>
2021-06-06 11:36                               ` Alan Third
2021-06-06 12:19                                 ` Paul W. Rankin via Emacs development discussions.
2021-06-06 18:56                                   ` Alan Third
2021-06-07  0:27                                     ` Paul W. Rankin via Emacs development discussions.
2021-06-07 22:13                                       ` Alan Third
2021-06-08  7:32                                         ` Paul W. Rankin via Emacs development discussions.
2021-06-08  8:59                                           ` Eli Zaretskii
2021-06-09  8:35                                         ` martin rudalics
2021-06-09  8:48                                           ` Alan Third
2021-06-09 12:20                                             ` martin rudalics
2021-06-09 12:29                                               ` Alan Third
     [not found] <65f1-60bcfd80-157-23301c40@168015757>
2021-06-07  0:11 ` Paul W. Rankin via Emacs development discussions.
2021-06-07 21:57   ` Alan Third

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=YJmPUEkImBChplXE@idiocy.org \
    --to=alan@idiocy.org \
    --cc=emacs-devel@gnu.org \
    --cc=pwr@bydasein.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).