* Re: src/nsterm.m: fix window tabbing on macOS [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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-06-07 0:11 UTC (permalink / raw) To: Naofumi Yasufuku; +Cc: Alan Third, Eli Zaretskii, emacs-devel > On 7 Jun 2021, at 2:52 am, naofumi@yasufuku.dev wrote: > > After this nsterm.m change for native tabs, I cannot realize the previous > fullscreen frame behavior with macOS system preference 'Prefer tabs' settings. > > > I think this native tabs feature should be choosable by user, as Alan said: *It is* choosable by the user, via System Preferences. Please see the original discussion here: > There are three positions someone could take: > > 1. wants tabs in all macOS apps including Emacs.app > 2. does not want tabs in any macOS apps including Emacs.app > 3. wants tabs in all other macOS except for Emacs.app > > Anyone in categories 1 and 2 will be covered by the option in System Preferences. Given that all I think we're doing here is removing old barrier code to have Emacs function with an OS's native window manager, anyone in the third category would be putting the onus on themselves to write code for additional functionality. If you fall into the last category you cannot expect that the commit is reverted thus prohibiting every other person (including me) from using the native tabs just because you want some esoteric behaviour. What should have been clear from the discussion is that achieving optimal native tab behaviour on macOS is going to be a *multi-step process*. This is just the first step. You are of course welcome to submit your own patches in the continuation of this process. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-06-07 0:11 ` src/nsterm.m: fix window tabbing on macOS Paul W. Rankin via Emacs development discussions. @ 2021-06-07 21:57 ` Alan Third 0 siblings, 0 replies; 44+ messages in thread From: Alan Third @ 2021-06-07 21:57 UTC (permalink / raw) To: Paul W. Rankin; +Cc: Eli Zaretskii, emacs-devel, Naofumi Yasufuku On Mon, Jun 07, 2021 at 10:11:17AM +1000, Paul W. Rankin wrote: > > > On 7 Jun 2021, at 2:52 am, naofumi@yasufuku.dev wrote: > > > > After this nsterm.m change for native tabs, I cannot realize the previous > > fullscreen frame behavior with macOS system preference 'Prefer tabs' settings. > > > > > > I think this native tabs feature should be choosable by user, as Alan said: > > *It is* choosable by the user, via System Preferences. Please see the original discussion here: No, for some reason the fullscreen new-frame behaviour changes and modifying the system settings doesn't revert it. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* src/nsterm.m: fix window tabbing on macOS @ 2021-05-08 9:26 Paul W. Rankin via Emacs development discussions. 2021-05-08 11:21 ` Alan Third 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-08 9:26 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 136 bytes --] src/nsterm.m: use NSWindowTabbingModeAutomatic to respect user choice. Tabbed window managers are now widely available for free systems. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-src-nsterm.m-fix-window-tabbing-on-macOS.patch --] [-- Type: text/x-diff; name=0001-src-nsterm.m-fix-window-tabbing-on-macOS.patch, Size: 1338 bytes --] From 930d5ccfa2e8356e8daf8036f2487bb30a103893 Mon Sep 17 00:00:00 2001 From: "Paul W. Rankin" <pwr@bydasein.com> Date: Sat, 8 May 2021 19:09:59 +1000 Subject: [PATCH] src/nsterm.m: fix window tabbing on macOS * src/nsterm.m: use NSWindowTabbingModeAutomatic to respect user choice. Tabbed window managers are now widely available for free systems. --- src/nsterm.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index bb20886ab1..def1aec285 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7628,12 +7628,12 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f selector:@selector (viewDidResize:) name:NSViewFrameDidChangeNotification object:nil]; - /* macOS Sierra automatically enables tabbed windows. We can't - allow this to be enabled until it's available on a Free system. - Currently it only happens by accident and is buggy anyway. */ + /* macOS Sierra automatically enables tabbed windows. Tabbed window + managers are now also widely available on free operating + systems. */ #ifdef NS_IMPL_COCOA if ([win respondsToSelector: @selector(setTabbingMode:)]) - [win setTabbingMode: NSWindowTabbingModeDisallowed]; + [win setTabbingMode: NSWindowTabbingModeAutomatic]; #endif ns_window_num++; -- 2.31.1 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-08 9:26 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. 0 siblings, 1 reply; 44+ messages in thread From: Alan Third @ 2021-05-08 11:21 UTC (permalink / raw) To: Paul W. Rankin; +Cc: emacs-devel On Sat, May 08, 2021 at 07:26:41PM +1000, Paul W. Rankin via Emacs development discussions. 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). 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? -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 2 replies; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-08 12:27 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel > 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/ > 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? 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 (Off topic but it would be nice if there were some mention in the docs that tab-bar-mode does not function at all on macOS rather than silently failing.) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 1 sibling, 0 replies; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-08 12:35 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel On 2021-05-08 22:27, Paul W. Rankin wrote: > (Off topic but it would be nice if there were some mention in the docs > that tab-bar-mode does not function at all on macOS rather than > silently failing.) Correction: does not function in macOS GUI client; console works. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 2021-05-11 5:45 ` Paul W. Rankin via Emacs development discussions. 1 sibling, 1 reply; 44+ messages in thread From: Alan Third @ 2021-05-10 19:53 UTC (permalink / raw) To: Paul W. Rankin; +Cc: emacs-devel 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 ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-10 19:53 ` Alan Third @ 2021-05-11 5:45 ` Paul W. Rankin via Emacs development discussions. 2021-05-11 19:20 ` chad 2021-05-12 21:23 ` Alan Third 0 siblings, 2 replies; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-11 5:45 UTC (permalink / raw) To: Paul W. Rankin; +Cc: emacs-devel 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? ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 1 sibling, 1 reply; 44+ messages in thread From: chad @ 2021-05-11 19:20 UTC (permalink / raw) To: Paul W. Rankin; +Cc: EMACS development team [-- Attachment #1: Type: text/plain, Size: 427 bytes --] On Mon, May 10, 2021 at 10:54 PM Paul W. Rankin via Emacs development discussions. <emacs-devel@gnu.org> wrote: > 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. > I don't have good access to macOS anymore, but I could borrow such a machine for a few hours and try a build+test cycle if nobody else has access. Let me know. ~Chad [-- Attachment #2: Type: text/html, Size: 788 bytes --] ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-11 19:20 ` chad @ 2021-05-12 9:47 ` Paul W. Rankin via Emacs development discussions. 0 siblings, 0 replies; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-12 9:47 UTC (permalink / raw) To: chad; +Cc: EMACS development team On 2021-05-12 05:20, chad wrote: >> 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. > > I don't have good access to macOS anymore, but I could borrow such a > machine for a few hours and try a build+test cycle if nobody else has > access. Let me know. Probably not needed. Once merged into master there should be enough people already on macOS to test. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-11 5:45 ` Paul W. Rankin via Emacs development discussions. 2021-05-11 19:20 ` chad @ 2021-05-12 21:23 ` Alan Third 2021-05-13 5:46 ` Paul W. Rankin via Emacs development discussions. 1 sibling, 1 reply; 44+ messages in thread From: Alan Third @ 2021-05-12 21:23 UTC (permalink / raw) To: Paul W. Rankin; +Cc: emacs-devel On Tue, May 11, 2021 at 03:45:08PM +1000, Paul W. Rankin via Emacs development discussions. wrote: > 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. Indeed, then argue the point to the death. :) > > 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. Yes, I suppose we could put it in NEWS and hope that enough people see it there to cover us in places like reddit. > 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). Isn't that how all the window chrome works in fullscreen? Do we do some special thing to hide the toolbar? Perhaps we should rethink that (although enough people run in fullscreen all the time that I suspect that change would be genuinely contentious). > Apple's documentation on this is very thin, so I doubt it's a simple boolean > switch: https://developer.apple.com/documentation/appkit/nswindowtabgroup I remember looking into whether we could leverage the tab bar for our built-in tab stuff, but it's a disappointingly featureless API. > > 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. If you just remove it completely does it do anything different from your patch? > Tangentially, this lead me to read a little about GNUstep. Does GNUstep > provide the same kind of tabbing as macOS? No, not to my knowledge. It may eventually, but unless someone's very keen to implement it GNUstep tends to lag quite far behind the macOS APIs. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-13 5:46 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel On 2021-05-13 07:23, Alan Third wrote: >> 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. > > Yes, I suppose we could put it in NEWS and hope that enough people see > it there to cover us in places like reddit. Agreed. People like reading about new features (or "features"). >> 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). > > Isn't that how all the window chrome works in fullscreen? Do we do > some special thing to hide the toolbar? Perhaps we should rethink that > (although enough people run in fullscreen all the time that I suspect > that change would be genuinely contentious). You're right and I can't find another macOS app with a tab bar that behaves the way Emacs.app does, so I gotta assume there is something somewhere overriding the Cocoa window manager behaviour. But I'm really only qualified to guess; I looked through nsterm.m and changed a few suspected BOOL values and recompiled a few times but nothing had an effect on the hidden tab bar. Relatedly, tool-bar-mode is in the same boat; hidden in full screen, but probably shouldn't be. > If you just remove it completely does it do anything different from > your patch? It appears that removing the code has the same effect as NSWindowTabbingModeAutomatic. I like minimalism so happy to just remove it. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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. 0 siblings, 1 reply; 44+ messages in thread From: Alan Third @ 2021-05-13 21:05 UTC (permalink / raw) To: Paul W. Rankin; +Cc: emacs-devel On Thu, May 13, 2021 at 03:46:54PM +1000, Paul W. Rankin via Emacs development discussions. wrote: > On 2021-05-13 07:23, Alan Third wrote: > > > 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). > > > > Isn't that how all the window chrome works in fullscreen? Do we do > > some special thing to hide the toolbar? Perhaps we should rethink that > > (although enough people run in fullscreen all the time that I suspect > > that change would be genuinely contentious). > > You're right and I can't find another macOS app with a tab bar that behaves > the way Emacs.app does, so I gotta assume there is something somewhere > overriding the Cocoa window manager behaviour. But I'm really only qualified > to guess; I looked through nsterm.m and changed a few suspected BOOL values > and recompiled a few times but nothing had an effect on the hidden tab bar. > > Relatedly, tool-bar-mode is in the same boat; hidden in full screen, but > probably shouldn't be. Search in nsterm.m for "autohide", there are a couple of places where hiding various bits and bobs is done, all related to fullscreen afaict. I'm not on a Mac just now or I'd try removing them all to see what it does. As I said, I suspect this change could be contentious, so we may want to provide a variable to enable or disable it. > > If you just remove it completely does it do anything different from > > your patch? > > It appears that removing the code has the same effect as > NSWindowTabbingModeAutomatic. I like minimalism so happy to just remove it. 👍 -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-16 9:16 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 3097 bytes --] On 2021-05-14 07:05, Alan Third wrote: > On Thu, May 13, 2021 at 03:46:54PM +1000, Paul W. Rankin via Emacs > development discussions. wrote: >> On 2021-05-13 07:23, Alan Third wrote: >> You're right and I can't find another macOS app with a tab bar that >> behaves >> the way Emacs.app does, so I gotta assume there is something somewhere >> overriding the Cocoa window manager behaviour. But I'm really only >> qualified >> to guess; I looked through nsterm.m and changed a few suspected BOOL >> values >> and recompiled a few times but nothing had an effect on the hidden tab >> bar. >> >> Relatedly, tool-bar-mode is in the same boat; hidden in full screen, >> but >> probably shouldn't be. > > Search in nsterm.m for "autohide", there are a couple of places where > hiding various bits and bobs is done, all related to fullscreen > afaict. > > I'm not on a Mac just now or I'd try removing them all to see what it > does. Looks like you're on the money! I've attached two patches: 0001 is to remove the explicit setting of NSWindowTabbingModeDisallowed; 0002 allows visibility of the toolbar and tab bar in fullscreen (screenshot attached), but reliably causes a segmentation fault with the following steps: 1. System Preferences > Dock > Prefer tabs... [Always] 2. $ emacs -Q 3. M-x toggle-frame-full 4. M-x make-frame 5. M-x delete-frame Attached crash.log. Interestingly, calling delete-other-frames does not trigger a crash and when in windowed (non-fullscreen) a crash is only triggered with the following: 1. System Preferences > Dock > Prefer tabs... [Always] 2. $ emacs -Q 3. M-x make-frame 4. M-x make-frame 5. click close background tab 6. wait for animation to finish 7. click close foreground tab > As I said, I suspect this change could be contentious, so we may want > to provide a variable to enable or disable it. > >> > If you just remove it completely does it do anything different from >> > your patch? >> >> It appears that removing the code has the same effect as >> NSWindowTabbingModeAutomatic. I like minimalism so happy to just >> remove it. > > 👍 Let's view these as two separate but related changes, one to remove the explicit setting of NSWindowTabbingModeDisallowed (patch 0001), the other to fix the code that's preventing toolbar visibility when in fullscreen (WIP patch 0002). I think the former is easy and not contentious, whereas the latter -- obviously once it's not crashing -- may be another story. There are three positions someone could take: 1. wants tabs in all macOS apps including Emacs.app 2. does not want tabs in any macOS apps including Emacs.app 3. wants tabs in all other macOS except for Emacs.app Anyone in categories 1 and 2 will be covered by the option in System Preferences. Given that all I think we're doing here is removing old barrier code to have Emacs function with an OS's native window manager, anyone in the third category would be putting the onus on themselves to write code for additional functionality. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-src-nsterm.m-fix-window-tabbing-on-macOS.patch --] [-- Type: text/x-diff; name=0001-src-nsterm.m-fix-window-tabbing-on-macOS.patch, Size: 1082 bytes --] From 3efca3b2e5d58f66d272cf02cf8f14746f8b1031 Mon Sep 17 00:00:00 2001 From: "Paul W. Rankin" <pwr@bydasein.com> Date: Sat, 8 May 2021 19:09:59 +1000 Subject: [PATCH 1/2] src/nsterm.m: fix window tabbing on macOS * src/nsterm.m: remove NSWindowTabbingModeDisallowed to respect system-wide preferences --- src/nsterm.m | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index bb20886ab1..5fd4885801 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7628,14 +7628,6 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f selector:@selector (viewDidResize:) name:NSViewFrameDidChangeNotification object:nil]; - /* macOS Sierra automatically enables tabbed windows. We can't - allow this to be enabled until it's available on a Free system. - Currently it only happens by accident and is buggy anyway. */ -#ifdef NS_IMPL_COCOA - if ([win respondsToSelector: @selector(setTabbingMode:)]) - [win setTabbingMode: NSWindowTabbingModeDisallowed]; -#endif - ns_window_num++; return self; } -- 2.30.2 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-WIP-src-nsterm.m-allow-toolbar-visibility-in-fullscr.patch --] [-- Type: text/x-diff; name=0002-WIP-src-nsterm.m-allow-toolbar-visibility-in-fullscr.patch, Size: 959 bytes --] From 940ef4c9117bf3f91aa945c87ae3123e5313a77a Mon Sep 17 00:00:00 2001 From: "Paul W. Rankin" <pwr@bydasein.com> Date: Sun, 16 May 2021 18:46:12 +1000 Subject: [PATCH 2/2] WIP src/nsterm.m: allow toolbar visibility in fullscreen on macOS WIP DO NOT MERGE --- src/nsterm.m | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 5fd4885801..1f3d0524fe 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7842,15 +7842,6 @@ - (void)windowDidMiniaturize: sender } } -#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 -- (NSApplicationPresentationOptions)window:(NSWindow *)window - willUseFullScreenPresentationOptions: - (NSApplicationPresentationOptions)proposedOptions -{ - return proposedOptions|NSApplicationPresentationAutoHideToolbar; -} -#endif - - (void)windowWillEnterFullScreen:(NSNotification *)notification { NSTRACE ("[EmacsView windowWillEnterFullScreen:]"); -- 2.30.2 [-- Attachment #4: crash.log --] [-- Type: text/plain, Size: 61264 bytes --] Process: emacs-28.0.50 [60753] Path: /usr/local/bin/emacs Identifier: emacs-28.0.50 Version: 0 Code Type: X86-64 (Native) Parent Process: oksh [1601] Responsible: emacs-28.0.50 [60753] User ID: 501 Date/Time: 2021-05-16 18:54:08.718 +1000 OS Version: Mac OS X 10.13.6 (17G14042) Report Version: 12 Anonymous UUID: 7903AC13-7109-A28A-9473-DFFB47F7F7B4 Sleep/Wake UUID: 7EE0989F-76A6-49A0-B99D-8190A0402E1E Time Awake Since Boot: 290000 seconds Time Since Wake: 2500 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGABRT) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000003 Exception Note: EXC_CORPSE_NOTIFY VM Regions Near 0x3: --> __TEXT 0000000100a57000-0000000100cb4000 [ 2420K] r-x/rwx SM=COW /usr/local/bin/emacs-28.0.50 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x00007fff5cd2fb66 __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff5cefa080 pthread_kill + 333 2 libsystem_c.dylib 0x00007fff5cc3d6fe raise + 26 3 emacs 0x0000000100b1cb49 terminate_due_to_signal + 169 4 emacs 0x0000000100b3a9c1 emacs_abort + 19 5 emacs 0x0000000100c34a10 ns_term_shutdown + 80 6 emacs 0x0000000100b1cd89 shut_down_emacs + 345 7 emacs 0x0000000100b1cb17 terminate_due_to_signal + 119 8 emacs 0x0000000100b3d77e handle_fatal_signal + 14 9 emacs 0x0000000100b3d801 deliver_thread_signal + 129 10 emacs 0x0000000100b3c1b9 deliver_fatal_thread_signal + 9 11 emacs 0x0000000100b3d8b8 handle_sigsegv + 168 12 libsystem_platform.dylib 0x00007fff5ceedf5a _sigtramp + 26 13 ??? 000000000000000000 0 + 0 14 emacs 0x0000000100a9e531 expose_frame + 113 15 emacs 0x0000000100c3e09c -[EmacsView drawRect:] + 124 16 com.apple.AppKit 0x00007fff32adef29 _NSViewDrawRect + 83 17 com.apple.AppKit 0x00007fff3237773c -[NSView _drawRect:clip:] + 1819 18 com.apple.AppKit 0x00007fff32376598 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4844 19 com.apple.AppKit 0x00007fff32375ec5 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3097 20 com.apple.AppKit 0x00007fff32375ec5 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3097 21 com.apple.AppKit 0x00007fff32374ddb -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 327 22 com.apple.AppKit 0x00007fff32ae04e0 -[NSView _oldDisplayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2051 23 com.apple.AppKit 0x00007fff32373e5d -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 253 24 com.apple.AppKit 0x00007fff323700b4 -[NSView displayIfNeeded] + 1581 25 com.apple.AppKit 0x00007fff3236fa52 -[NSWindow displayIfNeeded] + 321 26 com.apple.AppKit 0x00007fff32b1060d ___NSWindowGetDisplayCycleObserver_block_invoke.5902 + 308 27 com.apple.AppKit 0x00007fff3236f55e __37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 695 28 com.apple.QuartzCore 0x00007fff40027877 CA::Transaction::run_commit_handlers(CATransactionPhase) + 49 29 com.apple.QuartzCore 0x00007fff40026339 CA::Transaction::commit() + 171 30 com.apple.AppKit 0x00007fff32355c20 NSPerformVisuallyAtomicChange + 166 31 com.apple.AppKit 0x00007fff327a6cdb -[_NSFullScreenDetachedToolbarMenuBarCompanionController layout] + 106 32 com.apple.AppKit 0x00007fff32257cf7 -[NSThemeFrame _updateTitlebarContainerViewFrameIfNecessary] + 473 33 com.apple.AppKit 0x00007fff322744b0 -[NSThemeFrame _relayoutAuxiliaryViewsOfType:] + 183 34 com.apple.AppKit 0x00007fff322743e6 -[NSThemeFrame relayoutAuxiliaryViewsOfType:] + 27 35 com.apple.AppKit 0x00007fff3259f237 -[NSTitlebarViewController removeChildViewControllerAtIndex:] + 431 36 com.apple.AppKit 0x00007fff32a8dd1f -[NSWindowStackController _makeTabBarForWindow:visible:] + 338 37 com.apple.AppKit 0x00007fff32a91896 -[NSWindowStackController _removeSyncedItemAtIndex:] + 650 38 com.apple.AppKit 0x00007fff32a8f149 -[NSWindowStackController removeWindow:] + 252 39 com.apple.AppKit 0x00007fff3261897d -[NSWindow(NSWindowTabbing) _doTabbedWindowCleanupForOrderOut] + 97 40 com.apple.AppKit 0x00007fff32b02278 -[NSWindow _finishClosingWindow] + 73 41 com.apple.AppKit 0x00007fff324a1ed8 -[NSWindow _close] + 378 42 emacs 0x0000000100c43a0c ns_destroy_window + 140 43 emacs 0x0000000100a67537 delete_frame + 1671 44 emacs 0x0000000100badbcb funcall_subr + 267 45 emacs 0x0000000100bad188 Ffuncall + 840 46 emacs 0x0000000100ba5979 Ffuncall_interactively + 73 47 emacs 0x0000000100bad188 Ffuncall + 840 48 emacs 0x0000000100ba6e28 Fcall_interactively + 5272 49 emacs 0x0000000100badbeb funcall_subr + 299 50 emacs 0x0000000100bad188 Ffuncall + 840 51 emacs 0x0000000100bf2ba2 exec_byte_code + 1618 52 emacs 0x0000000100bad129 Ffuncall + 745 53 emacs 0x0000000100bf2ba2 exec_byte_code + 1618 54 emacs 0x0000000100bad129 Ffuncall + 745 55 emacs 0x0000000100ba5979 Ffuncall_interactively + 73 56 emacs 0x0000000100bad188 Ffuncall + 840 57 emacs 0x0000000100baccdf Fapply + 607 58 emacs 0x0000000100ba5e4e Fcall_interactively + 1214 59 emacs 0x0000000100badbeb funcall_subr + 299 60 emacs 0x0000000100bad188 Ffuncall + 840 61 emacs 0x0000000100bf2ba2 exec_byte_code + 1618 62 emacs 0x0000000100bad129 Ffuncall + 745 63 emacs 0x0000000100bad81c call1 + 44 64 emacs 0x0000000100b211c7 command_loop_1 + 1959 65 emacs 0x0000000100bab069 internal_condition_case + 281 66 emacs 0x0000000100b315b0 command_loop_2 + 48 67 emacs 0x0000000100baa53a internal_catch + 362 68 emacs 0x0000000100b1fefe command_loop + 158 69 emacs 0x0000000100b1fe13 recursive_edit_1 + 115 70 emacs 0x0000000100b200bb Frecursive_edit + 347 71 emacs 0x0000000100b1eb8c main + 7564 72 libdyld.dylib 0x00007fff5cbdf015 start + 1 Thread 1: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef7009 _pthread_wqthread + 1035 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 2: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef720e _pthread_wqthread + 1552 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 3: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef720e _pthread_wqthread + 1552 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 4: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef720e _pthread_wqthread + 1552 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 5: 0 libsystem_kernel.dylib 0x00007fff5cd2fcf2 __select + 10 1 emacs 0x0000000100c36028 -[EmacsApp fd_handler:] + 264 2 com.apple.Foundation 0x00007fff36da79d8 __NSThread__start__ + 1197 3 libsystem_pthread.dylib 0x00007fff5cef7661 _pthread_body + 340 4 libsystem_pthread.dylib 0x00007fff5cef750d _pthread_start + 377 5 libsystem_pthread.dylib 0x00007fff5cef6bf9 thread_start + 13 Thread 6:: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x00007fff5cd261fa mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fff5cd25714 mach_msg + 60 2 com.apple.CoreFoundation 0x00007fff34c9a405 __CFRunLoopServiceMachPort + 341 3 com.apple.CoreFoundation 0x00007fff34c99757 __CFRunLoopRun + 1783 4 com.apple.CoreFoundation 0x00007fff34c98dd3 CFRunLoopRunSpecific + 483 5 com.apple.AppKit 0x00007fff3236dfc4 _NSEventThread + 184 6 libsystem_pthread.dylib 0x00007fff5cef7661 _pthread_body + 340 7 libsystem_pthread.dylib 0x00007fff5cef750d _pthread_start + 377 8 libsystem_pthread.dylib 0x00007fff5cef6bf9 thread_start + 13 Thread 7: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef720e _pthread_wqthread + 1552 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 8: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef7009 _pthread_wqthread + 1035 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 9: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef7009 _pthread_wqthread + 1035 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 10: 0 libsystem_kernel.dylib 0x00007fff5cd3028a __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff5cef720e _pthread_wqthread + 1552 2 libsystem_pthread.dylib 0x00007fff5cef6be9 start_wqthread + 13 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x0000000000000000 rbx: 0x00007fff95622380 rcx: 0x00000001010b27d8 rdx: 0x0000000000000000 rdi: 0x0000000000000307 rsi: 0x0000000000000006 rbp: 0x00000001010b2810 rsp: 0x00000001010b27d8 r8: 0x0000000000000006 r9: 0x00007fa44ae6e380 r10: 0x0000000000000000 r11: 0x0000000000000287 r12: 0x0000000000000307 r13: 0x000000000000031e r14: 0x0000000000000006 r15: 0x000000000000002d rip: 0x00007fff5cd2fb66 rfl: 0x0000000000000286 cr2: 0x00000001010b1fe0 Logical CPU: 0 Error Code: 0x02000148 Trap Number: 133 Binary Images: 0x100a57000 - 0x100cb3fff +emacs (0) <2053FCCB-0DF9-3E07-9F5C-0DD0567E4D0D> /usr/local/bin/emacs 0x1011e5000 - 0x101207ff7 +libpng16.16.dylib (0) <0A567A4D-E417-3593-8FEE-00C7C459F475> /opt/pkg/*/libpng16.16.dylib 0x101215000 - 0x101224fff +libz.1.dylib (0) <4B5BA086-02C8-3484-A036-599ADCD6036D> /opt/pkg/*/libz.1.dylib 0x10122e000 - 0x10130dff3 +libxml2.2.dylib (0) <99D6DF45-151C-30F1-9E6D-A00CEE1392CC> /opt/pkg/*/libxml2.2.dylib 0x101345000 - 0x101377ffb +libncurses.6.dylib (0) <2F95709A-65E3-37CF-B4CA-36F22D768E14> /opt/pkg/*/libncurses.6.dylib 0x101387000 - 0x101505ffb +libgnutls.30.dylib (0) <9F8A555C-5B67-31DC-8673-5EF57DAA10CF> /opt/pkg/*/libgnutls.30.dylib 0x101554000 - 0x10158bff7 +liblcms2.2.dylib (0) <91D2AE2A-0514-3FAE-BF9A-47A0A0BD7B9D> /opt/pkg/*/liblcms2.2.dylib 0x10159e000 - 0x1015b8ff7 +liblzma.5.dylib (0) <01D95D3E-2C55-366E-BD32-CF2D1869D287> /opt/pkg/*/liblzma.5.dylib 0x1015be000 - 0x101697ffb +libiconv.2.dylib (0) <A999F90B-FA78-3AB3-9E18-6C3F0195B633> /opt/pkg/*/libiconv.2.dylib 0x1016a6000 - 0x10174dfff +libp11-kit.0.dylib (0) <D20D8AF1-E058-31E8-9E08-BBF4176707A1> /opt/pkg/*/libp11-kit.0.dylib 0x101807000 - 0x10180cfd7 +libffi.7.dylib (0) <48193131-4C3C-3EAF-AC9B-703CD4CD9FDF> /opt/pkg/*/libffi.7.dylib 0x101816000 - 0x101977ff3 +libunistring.2.dylib (0) <0AE819A3-406D-33BB-AD88-85F89675B5A0> /opt/pkg/*/libunistring.2.dylib 0x10198c000 - 0x101997ff3 +libtasn1.6.dylib (0) <F1FEC854-A1FF-3D6C-9CFC-177E0870817B> /opt/pkg/*/libtasn1.6.dylib 0x1019a2000 - 0x1019d7fff +libhogweed.6.dylib (0) <BBB8A796-973F-37D8-A1EA-49AFFD77CD14> /opt/pkg/*/libhogweed.6.dylib 0x1019f0000 - 0x101a1efff +libnettle.8.dylib (0) <C531DFE9-6D20-3CF1-AF59-04A5422AF611> /opt/pkg/*/libnettle.8.dylib 0x101a44000 - 0x101abafc7 +libgmp.10.dylib (0) <C990307A-D379-346E-9FF6-AC69E58C3502> /opt/pkg/*/libgmp.10.dylib 0x101ad0000 - 0x101ad8fff +libintl.8.dylib (0) <9AD349A1-DE4F-3EAE-B618-D90DF87424EA> /opt/pkg/*/libintl.8.dylib 0x10a9c9000 - 0x10aa13adf dyld (551.5) <CB9BFB56-4511-36F1-A546-891FF770C01C> /usr/lib/dyld 0x7fff2d1c7000 - 0x7fff2d515ff7 com.apple.RawCamera.bundle (8.05.0 - 1017.4.1) <937CBA8D-60C8-3739-8DFF-1C737D6339EF> /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera 0x7fff2eb24000 - 0x7fff2eba9ff7 com.apple.driver.AppleIntelHD5000GraphicsMTLDriver (10.36.32 - 10.3.6) <3282B3D0-4B36-3146-94E3-9DF8229105AF> /System/Library/Extensions/AppleIntelHD5000GraphicsMTLDriver.bundle/Contents/MacOS/AppleIntelHD5000GraphicsMTLDriver 0x7fff31189000 - 0x7fff31189fff com.apple.Accelerate (1.11 - Accelerate 1.11) <8632A9C5-19EA-3FD7-A44D-80765CC9C540> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 0x7fff3118a000 - 0x7fff311a0fef libCGInterfaces.dylib (417.2) <46DFCDA4-0470-3CDB-9875-0375D35FB9A3> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/Libraries/libCGInterfaces.dylib 0x7fff311a1000 - 0x7fff3169ffc3 com.apple.vImage (8.1 - ???) <A243A7EF-0C8E-3A9A-AA38-44AFD7507F00> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage 0x7fff316a0000 - 0x7fff317fafe3 libBLAS.dylib (1211.50.2) <62C659EB-3E32-3B5F-83BF-79F5DF30D5CE> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 0x7fff317fb000 - 0x7fff31829fef libBNNS.dylib (38.1) <7BAEFDCA-3227-3E07-80D8-59B6370B89C6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib 0x7fff3182a000 - 0x7fff31be9ff7 libLAPACK.dylib (1211.50.2) <40ADBA5F-8B2D-30AC-A7AD-7B17C37EE52D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib 0x7fff31bea000 - 0x7fff31bffff7 libLinearAlgebra.dylib (1211.50.2) <E8E0B7FD-A0B7-31E5-AF01-81781F71EBBE> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib 0x7fff31c00000 - 0x7fff31c05ff3 libQuadrature.dylib (3) <E936BDAF-8492-34D9-8C5C-AFBFCDAD8318> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib 0x7fff31c06000 - 0x7fff31c86fff libSparse.dylib (79.50.2) <0DC25CDD-F8C1-3D6E-B472-8B060708424F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib 0x7fff31c87000 - 0x7fff31c9afff libSparseBLAS.dylib (1211.50.2) <722573CC-31CC-34B2-9032-E4F652A9CCFE> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib 0x7fff31c9b000 - 0x7fff31e48fc3 libvDSP.dylib (622.50.5) <40690941-CF89-3F90-A0AC-A4D200744A5D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib 0x7fff31e49000 - 0x7fff31efafff libvMisc.dylib (622.50.5) <BA2532DF-2D68-3DD0-9B59-D434BF702AA4> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib 0x7fff31efb000 - 0x7fff31efbfff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <54FF3B43-E66C-3F36-B34B-A2B3B0A36502> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib 0x7fff321ef000 - 0x7fff3304dfff com.apple.AppKit (6.9 - 1561.61.100) <4E6EA3FA-8C2C-3B21-BFF9-6F8C458B7BE1> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 0x7fff3309f000 - 0x7fff3309ffff com.apple.ApplicationServices (48 - 50) <2B5B76E7-0AB2-31F9-BE58-B963BF1EC2E8> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices 0x7fff330a0000 - 0x7fff33106fff com.apple.ApplicationServices.ATS (377 - 445.5) <60176327-F757-308E-B61A-D43394E87CC5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS 0x7fff3319f000 - 0x7fff332c1ff7 libFontParser.dylib (222.1.9) <FFF2AC1A-D4D2-3AD3-BFF2-F3649ECB02AC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib 0x7fff332c2000 - 0x7fff3330dff7 libFontRegistry.dylib (221.6) <30C6D1DE-C0E3-3447-A0EF-829443D95F0E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib 0x7fff333b2000 - 0x7fff333e5ff7 libTrueTypeScaler.dylib (222.1.9) <BF00CE2B-6BC5-3337-8350-A1BAB88A3CE0> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libTrueTypeScaler.dylib 0x7fff3344f000 - 0x7fff33453ff3 com.apple.ColorSyncLegacy (4.13.0 - 1) <04764FB2-22D8-36F0-9647-2D21562E28D5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy 0x7fff334f3000 - 0x7fff33545ffb com.apple.HIServices (1.22 - 625) <3C059A55-1409-373E-BF0B-C3299AFABDCF> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices 0x7fff33546000 - 0x7fff33554fff com.apple.LangAnalysis (1.7.0 - 1.7.0) <8BB267F4-D5AA-3D35-8269-1A3CEA054ACD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis 0x7fff33555000 - 0x7fff335a1fff com.apple.print.framework.PrintCore (13.4 - 503.2) <2EA98448-9D6A-3912-9933-F7703CB01B6E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore 0x7fff335a2000 - 0x7fff335dcfff com.apple.QD (3.12 - 404.2) <525E9518-DFF3-3D8D-BD48-E0D63EEDBD16> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD 0x7fff335dd000 - 0x7fff335e9fff com.apple.speech.synthesis.framework (7.8.1 - 7.8.1) <CD09019C-569B-3A56-B84C-26F2A6223455> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis 0x7fff335ea000 - 0x7fff33878ff7 com.apple.audio.toolbox.AudioToolbox (1.14 - 1.14) <C7BE1645-BE23-3427-8650-1CEFDAF86710> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox 0x7fff3387a000 - 0x7fff3387afff com.apple.audio.units.AudioUnit (1.14 - 1.14) <294802B9-E24D-34EB-973F-6D2B8E2E86CB> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit 0x7fff33b9d000 - 0x7fff33f3afff com.apple.CFNetwork (902.6 - 902.6) <46168F79-CCFA-349A-8508-B8CBCE27D440> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork 0x7fff33f4f000 - 0x7fff33f4ffff com.apple.Carbon (158 - 158) <F8B370D9-2103-3276-821D-ACC756167F86> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon 0x7fff33f50000 - 0x7fff33f53ffb com.apple.CommonPanels (1.2.6 - 98) <075486A5-8E39-3F72-BED7-752517379C55> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels 0x7fff33f54000 - 0x7fff34259fff com.apple.HIToolbox (2.1.1 - 911.10) <8D2EBE85-9AF0-38BC-ACD3-1ED978643907> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox 0x7fff3425a000 - 0x7fff3425dffb com.apple.help (1.3.8 - 66) <7F210C1C-D7D3-3C97-A2E4-D3CC35F91807> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help 0x7fff3425e000 - 0x7fff34263fff com.apple.ImageCapture (9.0 - 9.0) <3993E094-AB86-3B22-BC18-4550F23854FF> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture 0x7fff34264000 - 0x7fff342f9ffb com.apple.ink.framework (10.9 - 221) <83976BB8-A423-3AA5-8221-6EB04B3DEF0A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink 0x7fff342fa000 - 0x7fff34314ff7 com.apple.openscripting (1.7 - 174) <C282DFBB-4BF2-3222-87E0-0B560D5B4B2F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting 0x7fff34335000 - 0x7fff34336fff com.apple.print.framework.Print (12 - 267) <DFC4CE94-F6E6-3DFA-AB88-A13E4C5A7701> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print 0x7fff34337000 - 0x7fff34339ff7 com.apple.securityhi (9.0 - 55006) <1AB48F32-D1CB-3657-A30C-40A7E718A71D> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI 0x7fff3433a000 - 0x7fff34340fff com.apple.speech.recognition.framework (6.0.3 - 6.0.3) <2A07BB54-438B-34C9-8061-45403E197ACA> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition 0x7fff3446f000 - 0x7fff34528fff com.apple.ColorSync (4.13.0 - 3325) <EAD2D314-E810-33FB-B105-BD30ABB912AD> /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync 0x7fff346b5000 - 0x7fff34748ff7 com.apple.audio.CoreAudio (4.3.0 - 4.3.0) <AF2B41CC-DD7A-34EB-A842-00DC3B8F2E9F> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio 0x7fff347af000 - 0x7fff347d8ffb com.apple.CoreBluetooth (1.0 - 1) <ED48840B-A80A-32C1-8E4B-DEB7A7CD3C1A> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth 0x7fff347d9000 - 0x7fff34b2ffef com.apple.CoreData (120 - 851) <7361F2EA-2B7F-3259-909F-287BEB443781> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData 0x7fff34b30000 - 0x7fff34c13fff com.apple.CoreDisplay (99.14 - 99.14) <9B2B211D-EC0A-3569-BB37-887768CD6105> /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay 0x7fff34c14000 - 0x7fff350b7fe7 com.apple.CoreFoundation (6.9 - 1455.300) <CB44B892-64CD-3E32-A518-6D40B1A7033F> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x7fff350b9000 - 0x7fff356c9fef com.apple.CoreGraphics (2.0 - 1161.21.5) <6451A561-3A83-37FB-AAA7-3FCE6D95C34C> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics 0x7fff356cb000 - 0x7fff359bafff com.apple.CoreImage (13.0.0 - 579.5) <B2B60A80-2E10-3EDF-920C-94288E55AE25> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage 0x7fff35c49000 - 0x7fff35d3fffb com.apple.CoreMedia (1.0 - 2276.80.4) <67942D16-3658-37FC-B61C-8ED3D4BFBFB9> /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia 0x7fff35d8f000 - 0x7fff35d8ffff com.apple.CoreServices (822.37 - 822.37) <CE816EF2-2B89-3F54-A5C6-D3080B1EFB00> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices 0x7fff35d90000 - 0x7fff35e04ffb com.apple.AE (735.2 - 735.2) <0938A72B-6A4A-36F1-95B3-5EF6B915CEEE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE 0x7fff35e05000 - 0x7fff360dcfff com.apple.CoreServices.CarbonCore (1178.4.2 - 1178.4.2) <4692EE3A-11FE-31FD-AF5B-30F892E87A05> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore 0x7fff360dd000 - 0x7fff36111fff com.apple.DictionaryServices (1.2 - 284.2) <F1F3EFAE-2562-394D-8FB3-BE22F16CD75A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices 0x7fff36112000 - 0x7fff3611affb com.apple.CoreServices.FSEvents (1239.50.2 - 1239.50.2) <FE465894-4235-3CE2-9A97-32D6C6C7D9AD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents 0x7fff3611b000 - 0x7fff362d9ff7 com.apple.LaunchServices (822.37 - 822.37) <0DB4679F-AE39-3BF3-B39B-549322E355AF> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices 0x7fff362da000 - 0x7fff3638afff com.apple.Metadata (10.7.0 - 1191.8) <F3BD3FD7-208A-31E9-85CD-6E607DDAFEF0> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata 0x7fff3638b000 - 0x7fff363ebfff com.apple.CoreServices.OSServices (822.37 - 822.37) <564DDE70-0250-346B-B5CC-4AFAC11A7373> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices 0x7fff363ec000 - 0x7fff3645afff com.apple.SearchKit (1.4.0 - 1.4.0) <97DD9E7D-3567-382B-ACF7-CE0E4FE78D36> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit 0x7fff3645b000 - 0x7fff3647fffb com.apple.coreservices.SharedFileList (71.21 - 71.21) <88991F51-0A75-34FF-8C91-ED0F3C270B7B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList 0x7fff36720000 - 0x7fff36870fff com.apple.CoreText (352.0 - 578.23) <10DAF601-85A8-3F9C-8B0B-69DC16B95E47> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText 0x7fff36871000 - 0x7fff368abfff com.apple.CoreVideo (1.8 - 0.0) <0DD4FFDF-E1F1-39D1-8246-5D0D9869F1EA> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo 0x7fff368ac000 - 0x7fff36937ff3 com.apple.framework.CoreWLAN (13.0 - 1350.2) <EC145FBD-F638-38B8-BE94-F892A2F02550> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN 0x7fff36bb2000 - 0x7fff36bb7fff com.apple.DiskArbitration (2.7 - 2.7) <51DC4AED-6F0C-321F-93E3-20EA4341B768> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration 0x7fff36d78000 - 0x7fff3713fffb com.apple.Foundation (6.9 - 1455.300) <0479E072-1DD0-3881-A9A2-EDAD3EE58C23> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 0x7fff371b0000 - 0x7fff371e0ff3 com.apple.GSS (4.0 - 2.0) <7E83A21E-4F90-38F3-9FD3-FAC0E0143243> /System/Library/Frameworks/GSS.framework/Versions/A/GSS 0x7fff372f2000 - 0x7fff373f6ffb com.apple.Bluetooth (6.0.7 - 6.0.7f22) <08E33A6B-16A7-3E4E-82C9-E1E5A84300D0> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth 0x7fff37456000 - 0x7fff374f1fff com.apple.framework.IOKit (2.0.2 - 1445.71.6) <4B5C715C-6A49-366B-9080-ABADE6A3B3BD> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit 0x7fff374f3000 - 0x7fff374fafff com.apple.IOSurface (211.15 - 211.15) <08DA3232-805F-304B-80DD-C86B49CC4AAD> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface 0x7fff37551000 - 0x7fff376ccfe7 com.apple.ImageIO.framework (3.3.0 - 1739.3.8) <58BD6865-E629-3283-859B-82C4C3A5FF66> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO 0x7fff376cd000 - 0x7fff376d1ffb libGIF.dylib (1739.3.8) <E3446976-10BF-3B75-9A11-32893368D748> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib 0x7fff376d2000 - 0x7fff377b9fe7 libJP2.dylib (1739.3.8) <4B440B09-1542-304C-8BE5-EB0F9370046C> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib 0x7fff377ba000 - 0x7fff377ddff7 libJPEG.dylib (1739.3.8) <F6BCF3DA-6F0B-35A8-982C-BEFD2DD6DBFE> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib 0x7fff37acc000 - 0x7fff37af2feb libPng.dylib (1739.3.8) <25C5D4B1-3715-3DF5-BE4B-C71089ADBBFE> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib 0x7fff37af3000 - 0x7fff37af5ffb libRadiance.dylib (1739.3.8) <5134034F-A7BC-3749-A141-92BC89579AF6> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib 0x7fff37af6000 - 0x7fff37b44fe7 libTIFF.dylib (1739.3.8) <91F6CDBD-C4A0-3614-81DC-B9A9E3838CF0> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib 0x7fff389fe000 - 0x7fff38a17ff7 com.apple.Kerberos (3.0 - 1) <C7CDC1E0-011B-3220-847D-1AC3DA6D5522> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos 0x7fff38cd6000 - 0x7fff38cddfff com.apple.MediaAccessibility (1.0 - 114) <00F21329-1163-3283-A882-A5DD7A12D353> /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessibility 0x7fff38d8d000 - 0x7fff393f7ff7 com.apple.MediaToolbox (1.0 - 2276.80.4) <FA444376-E5AF-36AB-BE1D-76ECE4D72049> /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox 0x7fff393f9000 - 0x7fff3947afff com.apple.Metal (125.30 - 125.30) <67EDA241-80B1-3C67-BB2B-FF83E49FEF8D> /System/Library/Frameworks/Metal.framework/Versions/A/Metal 0x7fff39497000 - 0x7fff394b2fff com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1) <8DED0F0C-4A10-36A3-A3E2-7D3CF429ACE1> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSCore.framework/Versions/A/MPSCore 0x7fff394b3000 - 0x7fff39522fef com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1) <48F4A97F-143A-3918-AB92-6733E258E25A> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSImage.framework/Versions/A/MPSImage 0x7fff39523000 - 0x7fff39547fff com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1) <CD443ADC-07FE-3603-B0C9-60C2AF3616FF> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix 0x7fff39548000 - 0x7fff3962fff7 com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1) <40EB0BAE-6DDE-3334-A28C-529AE4C6716A> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork 0x7fff39630000 - 0x7fff39630ff7 com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1) <A111E862-43E5-3247-9E98-0A40DC34AD9B> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders 0x7fff3a62f000 - 0x7fff3a63bffb com.apple.NetFS (6.0 - 4.0) <02E09301-324F-3542-875D-B87B144635C8> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS 0x7fff3d42d000 - 0x7fff3d487ff7 com.apple.opencl (2.8.24 - 2.8.24) <429B5283-276D-372D-BB0E-EEBE1408C393> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL 0x7fff3d488000 - 0x7fff3d4a4ffb com.apple.CFOpenDirectory (10.13 - 207.50.1) <E9AD4934-5DE3-3DD0-9D7B-9D288D829F15> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory 0x7fff3d4a5000 - 0x7fff3d4b0fff com.apple.OpenDirectory (10.13 - 207.50.1) <8B54C486-14C9-3FEF-97B8-F4D6F59F75CF> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory 0x7fff3e62f000 - 0x7fff3e631fff libCVMSPluginSupport.dylib (16.7.4) <3E26CF2B-5074-3321-AD9E-6A667D61AA35> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib 0x7fff3e632000 - 0x7fff3e637ffb libCoreFSCache.dylib (162.12) <D12E1D0E-C0E5-329E-99B4-AB152C9ABBE3> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib 0x7fff3e638000 - 0x7fff3e63cfff libCoreVMClient.dylib (162.12) <39951906-8566-3F9D-9EA8-EBD6084DCF73> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib 0x7fff3e63d000 - 0x7fff3e646ff3 libGFXShared.dylib (16.7.4) <81A7875B-103D-3C82-B25C-DE24E57E5C8B> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib 0x7fff3e647000 - 0x7fff3e652fff libGL.dylib (16.7.4) <2BB333D3-5C61-33DF-8545-06DF2D08B83D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib 0x7fff3e653000 - 0x7fff3e68efe7 libGLImage.dylib (16.7.4) <4DA003CE-0B74-3FE4-808C-B2FBCE517EB4> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib 0x7fff3e7fd000 - 0x7fff3e83bffb libGLU.dylib (16.7.4) <BCB09CD8-EB0E-38FA-8B5A-9E29532EE364> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib 0x7fff3f1b3000 - 0x7fff3f1c2ff3 com.apple.opengl (16.7.4 - 16.7.4) <77A788F3-8F0C-305C-AEB9-FF258676C599> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL 0x7fff40016000 - 0x7fff40262ff7 com.apple.QuartzCore (1.11 - 584.64.2) <FD9A3180-479E-3DAC-9CF0-0D214C7E46A7> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore 0x7fff40a9a000 - 0x7fff40dc5fff com.apple.security (7.0 - 58286.70.19) <E118FC23-2E20-3999-826B-58488049A277> /System/Library/Frameworks/Security.framework/Versions/A/Security 0x7fff40dc6000 - 0x7fff40e52ff7 com.apple.securityfoundation (6.0 - 55185.50.5) <3D9AD4EF-439C-3AE1-9332-AD291CF96C64> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation 0x7fff40e84000 - 0x7fff40e88ffb com.apple.xpc.ServiceManagement (1.0 - 1) <3FCAF325-40C8-3148-9E49-E555F95B2946> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement 0x7fff4122d000 - 0x7fff4129dff3 com.apple.SystemConfiguration (1.17 - 1.17) <41D509AB-AED3-30FF-BB00-615BB5A8AC00> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration 0x7fff41452000 - 0x7fff417cdfff com.apple.VideoToolbox (1.0 - 2276.80.4) <1C94A509-0372-3B58-94BC-4488C042BD79> /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox 0x7fff4419a000 - 0x7fff4422dff3 com.apple.APFS (1.0 - 1) <70034B32-9347-30FB-9DDE-95061F686613> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS 0x7fff44e5a000 - 0x7fff44e82fff com.apple.framework.Apple80211 (13.0 - 1370.4) <C296CDDB-0A79-3D6B-898A-0FBA1892F5AC> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211 0x7fff44e84000 - 0x7fff44e93fef com.apple.AppleFSCompression (96.60.1 - 1.0) <CBE1A092-CE90-36B9-AAA6-0BE2E7921504> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression 0x7fff44f92000 - 0x7fff44f9dff7 com.apple.AppleIDAuthSupport (1.0 - 1) <924EA55F-1C87-347F-9212-F79EA2B2C84C> /System/Library/PrivateFrameworks/AppleIDAuthSupport.framework/Versions/A/AppleIDAuthSupport 0x7fff44fd7000 - 0x7fff4501fff3 com.apple.AppleJPEG (1.0 - 1) <15558577-08E3-3087-86A9-8B6247978BCE> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG 0x7fff4505a000 - 0x7fff45082fff com.apple.applesauce (1.0 - ???) <9CE4CAE2-30B9-3DF6-9BC0-33D532D7B937> /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce 0x7fff4514f000 - 0x7fff4519fff7 com.apple.AppleVAFramework (5.0.41 - 5.0.41) <C82921AA-1537-3736-BC16-5CABB3EF0100> /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA 0x7fff454d5000 - 0x7fff4576effb com.apple.AuthKit (1.0 - 1) <C3087797-E472-300E-8B4A-448857ACE8E7> /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/AuthKit 0x7fff458a5000 - 0x7fff458acff7 com.apple.coreservices.BackgroundTaskManagement (1.0 - 57.1) <B2A1EEDF-490A-38E2-A896-41057C0417BF> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement 0x7fff458ad000 - 0x7fff45934ff7 com.apple.backup.framework (1.9.6 - 1.9.6) <0A54D219-E71B-3BC6-8DFC-11ED47E431BE> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup 0x7fff472f0000 - 0x7fff472f9ff3 com.apple.CommonAuth (4.0 - 2.0) <21AF4AC2-E650-35F9-AB33-3EBA2769FBC0> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth 0x7fff47635000 - 0x7fff47a3dfff com.apple.CoreAUC (259.0.0 - 259.0.0) <EF95ED0E-F4F1-3969-89BB-CE8CDD74C29F> /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC 0x7fff47a3e000 - 0x7fff47a6eff7 com.apple.CoreAVCHD (5.9.0 - 5900.4.1) <6AC79B1F-0A12-34A4-BC0D-5A6A65ABABE0> /System/Library/PrivateFrameworks/CoreAVCHD.framework/Versions/A/CoreAVCHD 0x7fff47e0d000 - 0x7fff47e1dff7 com.apple.CoreEmoji (1.0 - 69.3) <DCCF04BB-DA33-3DC0-B7C2-1D34870C0C0A> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji 0x7fff485b1000 - 0x7fff485b9ff3 com.apple.CorePhoneNumbers (1.0 - 1) <3B388768-5CDB-341A-BCE2-4047EAD009EA> /System/Library/PrivateFrameworks/CorePhoneNumbers.framework/Versions/A/CorePhoneNumbers 0x7fff48744000 - 0x7fff48775ff3 com.apple.CoreServicesInternal (309.1 - 309.1) <9A9DE5A0-3912-3311-A351-2B7B5C35D1F0> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal 0x7fff48aef000 - 0x7fff48b80fff com.apple.CoreSymbolication (9.3 - 64026.2) <30652FA5-C731-3A22-864D-DF6D9C77CD4C> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication 0x7fff48c03000 - 0x7fff48d38fff com.apple.coreui (2.1 - 494.1) <5B4F3E9C-A4EF-3908-A035-59B8631C3685> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI 0x7fff48d39000 - 0x7fff48e6afff com.apple.CoreUtils (5.6 - 560.11) <2C5A0610-1F08-3603-8692-EE03E62EE622> /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils 0x7fff48ebf000 - 0x7fff48f23fff com.apple.framework.CoreWiFi (13.0 - 1350.2) <500CC54F-A6CB-3D36-9BB1-C9C9F6A6E414> /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi 0x7fff48f24000 - 0x7fff48f34ff7 com.apple.CrashReporterSupport (10.13 - 1) <1ADEC140-4838-3976-A14B-6268C5251481> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport 0x7fff48fb3000 - 0x7fff48fc2ff7 com.apple.framework.DFRFoundation (1.0 - 191.7) <F7AB1B29-A4B0-3938-AFDC-DAA204929404> /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation 0x7fff48fc5000 - 0x7fff48fc9ffb com.apple.DSExternalDisplay (3.1 - 380) <13AA3B17-E649-3B7B-B09D-9AE7C4A60887> /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay 0x7fff4904b000 - 0x7fff490c1fff com.apple.datadetectorscore (7.0 - 590.3) <E645FBF0-B47D-3394-84DF-792B85E94CB3> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore 0x7fff4910f000 - 0x7fff4914fff7 com.apple.DebugSymbols (181.0 - 181.0) <702DB951-F5A6-3155-9D84-BBA9A4B4E1BD> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols 0x7fff49150000 - 0x7fff4927ffff com.apple.desktopservices (1.12.5 - 1.12.5) <96BB57E2-3359-3920-AA7C-BF03C2225485> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv 0x7fff4a094000 - 0x7fff4a4c2fff com.apple.vision.FaceCore (3.3.2 - 3.3.2) <06065DA3-4091-3682-A308-BF3F2E3E4AF8> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore 0x7fff4c11e000 - 0x7fff4c11efff libmetal_timestamp.dylib (802.4.8) <7E1B5ECC-7504-3B86-B3D9-5D8CDF88FCFA> /System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/3802/Libraries/libmetal_timestamp.dylib 0x7fff4d78a000 - 0x7fff4d78ffff com.apple.GPUWrangler (3.20.18 - 3.20.18) <B54A9063-01EC-3D2C-8924-86A1F315DEA2> /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler 0x7fff4e505000 - 0x7fff4e514fff com.apple.GraphVisualizer (1.0 - 5) <EB42FFAD-2BCA-3DE2-B40E-AFDE6E7FAA4D> /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer 0x7fff4e597000 - 0x7fff4e60bfff com.apple.Heimdal (4.0 - 2.0) <FF7BC1AE-1BA6-3150-A7CC-B9E0AD5EBE7F> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal 0x7fff4ef1e000 - 0x7fff4ef25ff7 com.apple.IOAccelerator (378.28 - 378.28) <F109E4CB-49D9-37FB-974A-8A3E9E8A61DA> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator 0x7fff4ef29000 - 0x7fff4ef40fff com.apple.IOPresentment (1.0 - 35.1) <AC89202B-8433-3B62-A7BE-467D1905F6FB> /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment 0x7fff4f30b000 - 0x7fff4f331ffb com.apple.IconServices (97.6 - 97.6) <7913A453-8D29-31DC-ADDB-7CEC068C9B86> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices 0x7fff4f5b6000 - 0x7fff4f5c9ff3 com.apple.security.KeychainCircle.KeychainCircle (1.0 - 1) <B999BEF6-F3E7-30EE-9177-FBC8E826659D> /System/Library/PrivateFrameworks/KeychainCircle.framework/Versions/A/KeychainCircle 0x7fff4f5ca000 - 0x7fff4f6bfff7 com.apple.LanguageModeling (1.0 - 159.5.3) <FAA236D6-CFB8-37D2-B635-B324E0719E32> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling 0x7fff4f6c0000 - 0x7fff4f702fff com.apple.Lexicon-framework (1.0 - 33.5) <F8DD2D09-5CEE-3741-93CF-223FC61FCCA4> /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon 0x7fff4f706000 - 0x7fff4f70dff7 com.apple.LinguisticData (1.0 - 238.3) <6F2ED02A-2120-3ABA-8EC1-314E4FFE77F3> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData 0x7fff4ff0e000 - 0x7fff4ff11fff com.apple.Mangrove (1.0 - 1) <471F4581-5235-3381-B16B-CE92ED6CF086> /System/Library/PrivateFrameworks/Mangrove.framework/Versions/A/Mangrove 0x7fff50421000 - 0x7fff5048aff7 com.apple.gpusw.MetalTools (1.0 - 1) <F2A47319-0430-3BB5-943E-651A40C127A9> /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools 0x7fff50493000 - 0x7fff504aaff7 com.apple.MobileAssets (1.0 - 437.60.1) <94912D67-E290-3205-B919-C70C0A8D7FCF> /System/Library/PrivateFrameworks/MobileAsset.framework/Versions/A/MobileAsset 0x7fff50606000 - 0x7fff5061ffff com.apple.MobileKeyBag (2.0 - 1.0) <9EA31672-3B83-3ABF-B2D5-8584E159051E> /System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag 0x7fff506ab000 - 0x7fff506d5ffb com.apple.MultitouchSupport.framework (1614.1 - 1614.1) <A376F2FB-64AE-3B35-88B0-7D2BB4D1CB7C> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport 0x7fff5093c000 - 0x7fff50947fff com.apple.NetAuth (6.2 - 6.2) <85C5D94D-C67E-36DC-B0EA-02F53AC4FCD3> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth 0x7fff521e3000 - 0x7fff521f3ffb com.apple.PerformanceAnalysis (1.194 - 194) <B6934994-BD69-36F9-914E-6BBDCD797612> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis 0x7fff53fb2000 - 0x7fff53fd0fff com.apple.ProtocolBuffer (1 - 260) <195906B1-1DB1-3AD2-B2F7-87B867C27F40> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer 0x7fff541a7000 - 0x7fff541caffb com.apple.RemoteViewServices (2.0 - 125) <695CBF89-C15C-3E4C-8045-B46DCA64E3FB> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices 0x7fff55af0000 - 0x7fff55c05ff7 com.apple.Sharing (1050.22.9 - 1050.22.9) <CAB71093-B187-363E-BBAA-B0D23D7642AA> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing 0x7fff55c30000 - 0x7fff55c31ff7 com.apple.performance.SignpostNotification (1.2.6 - 2.6) <E77879A4-B040-3BE0-86F5-98173A4100AD> /System/Library/PrivateFrameworks/SignpostNotification.framework/Versions/A/SignpostNotification 0x7fff5698f000 - 0x7fff56c2cfff com.apple.SkyLight (1.600.0 - 312.103.12) <A65B547C-B7CA-3E33-A0C5-58AB436A8467> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight 0x7fff573f5000 - 0x7fff57402fff com.apple.SpeechRecognitionCore (4.6.1 - 4.6.1) <90CDCEAD-5A65-3C35-9370-2B306895E97C> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore 0x7fff578af000 - 0x7fff578d6fff com.apple.StreamingZip (1.0 - 1) <B5C3D9D6-B1DC-33E5-B7D2-ADAF3E0CA30E> /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/StreamingZip 0x7fff57fa8000 - 0x7fff58031fc7 com.apple.Symbolication (9.3 - 64033) <F576D527-4CB1-34A5-B15E-1130833EEDAB> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication 0x7fff585a2000 - 0x7fff585aaff7 com.apple.TCC (1.0 - 1) <9D5466C6-A8B6-3C24-A791-6506B81D9998> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC 0x7fff587b7000 - 0x7fff58874ff7 com.apple.TextureIO (3.7 - 3.7) <32C460CD-E93D-3FA5-A4AE-CA648722F5FE> /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO 0x7fff58925000 - 0x7fff58ad5fff com.apple.UIFoundation (1.0 - 547.9) <D0994333-5EB4-3415-8D18-2A0487AE91E0> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation 0x7fff597aa000 - 0x7fff59879ff7 com.apple.ViewBridge (343.2 - 343.2) <0A295791-B763-3E58-A9DD-8E4F40E815C9> /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/ViewBridge 0x7fff5a251000 - 0x7fff5a253ffb com.apple.loginsupport (1.0 - 1) <E273A65A-6379-3787-B119-BC6ED94D4A81> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport 0x7fff5a254000 - 0x7fff5a269fff com.apple.login (3.0 - 3.0) <73202649-0081-3B4B-AD90-226C4F69A705> /System/Library/PrivateFrameworks/login.framework/Versions/A/login 0x7fff5a3ba000 - 0x7fff5a3edff7 libclosured.dylib (551.5) <112BC241-6626-3848-8DD8-B34B5B6F7ABC> /usr/lib/closure/libclosured.dylib 0x7fff5a4a7000 - 0x7fff5a4e0ff7 libCRFSuite.dylib (41) <14B00FCF-4C67-3736-95B5-76FEA6E4972C> /usr/lib/libCRFSuite.dylib 0x7fff5a4e1000 - 0x7fff5a4ecfff libChineseTokenizer.dylib (28) <2237A259-0E59-3DD0-BADC-281C361FAB70> /usr/lib/libChineseTokenizer.dylib 0x7fff5a57e000 - 0x7fff5a57fff3 libDiagnosticMessagesClient.dylib (104) <3F855622-352B-3EA8-B7C8-94D1DB48C080> /usr/lib/libDiagnosticMessagesClient.dylib 0x7fff5a5b6000 - 0x7fff5a780ff3 libFosl_dynamic.dylib (17.8) <1A2A9D53-129E-3F7D-AE23-1D6E6D9EA017> /usr/lib/libFosl_dynamic.dylib 0x7fff5a7b8000 - 0x7fff5a7b8fff libOpenScriptingUtil.dylib (174) <AC38B2C3-5A37-30EB-A246-CEFABD3DD4E7> /usr/lib/libOpenScriptingUtil.dylib 0x7fff5a8ef000 - 0x7fff5a8f3ffb libScreenReader.dylib (562.18.5) <FFB20E40-7669-30F6-8577-B74E18076376> /usr/lib/libScreenReader.dylib 0x7fff5a8f4000 - 0x7fff5a8f5ffb libSystem.B.dylib (1252.50.4) <5A02016C-8F9D-3F47-8C39-AD2CD4F9F11D> /usr/lib/libSystem.B.dylib 0x7fff5a988000 - 0x7fff5a988fff libapple_crypto.dylib (109.50.15) <A8DEA8E9-5769-3C78-824D-969A98B94086> /usr/lib/libapple_crypto.dylib 0x7fff5a989000 - 0x7fff5a99fff7 libapple_nghttp2.dylib (1.24) <24338D88-5D73-3165-9CFB-5A92734C9040> /usr/lib/libapple_nghttp2.dylib 0x7fff5a9a0000 - 0x7fff5a9caff3 libarchive.2.dylib (54) <D2B6AD30-18CB-3E3C-ABBF-A0745654350F> /usr/lib/libarchive.2.dylib 0x7fff5a9cb000 - 0x7fff5aa4cfdf libate.dylib (1.13.1) <77603BB8-681D-32A6-966E-4F92B9165447> /usr/lib/libate.dylib 0x7fff5aa50000 - 0x7fff5aa50ff3 libauto.dylib (187) <92E693DF-D74D-39A0-99AB-8A9F6FFEBA18> /usr/lib/libauto.dylib 0x7fff5aa51000 - 0x7fff5ab0affb libboringssl.dylib (109.50.15) <FC25FE02-6AA8-3F0B-9EF3-56A455C08C0F> /usr/lib/libboringssl.dylib 0x7fff5ab0b000 - 0x7fff5ab1bff3 libbsm.0.dylib (39) <18D57879-A717-3466-9637-1704EE59A32A> /usr/lib/libbsm.0.dylib 0x7fff5ab1c000 - 0x7fff5ab29ffb libbz2.1.0.dylib (38) <0B4321CD-3D6F-3095-A12E-27F66B4321AD> /usr/lib/libbz2.1.0.dylib 0x7fff5ab2a000 - 0x7fff5ab80fff libc++.1.dylib (400.9) <142D6292-F30F-3949-9F37-3C97A579F540> /usr/lib/libc++.1.dylib 0x7fff5ab81000 - 0x7fff5aba5ff7 libc++abi.dylib (400.8.2) <EF5E37D7-11D9-3530-BE45-B986612D13E2> /usr/lib/libc++abi.dylib 0x7fff5aba7000 - 0x7fff5abb7fff libcmph.dylib (6) <890DEC4C-4334-393C-8B56-7C8560BBED9D> /usr/lib/libcmph.dylib 0x7fff5abb8000 - 0x7fff5abcffcf libcompression.dylib (47.60.2) <543F07BF-2F2F-37D5-9866-E84BF659885B> /usr/lib/libcompression.dylib 0x7fff5ae7a000 - 0x7fff5ae92ff7 libcoretls.dylib (155.50.1) <087E9F90-21E5-376D-9956-C4E346409682> /usr/lib/libcoretls.dylib 0x7fff5ae93000 - 0x7fff5ae94ff3 libcoretls_cfhelpers.dylib (155.50.1) <78CCDD10-7D71-365E-A0A5-8524ED5F5BF9> /usr/lib/libcoretls_cfhelpers.dylib 0x7fff5b365000 - 0x7fff5b3baff3 libcups.2.dylib (462.2.10) <590D6ACC-68A0-371E-8646-FC59F814534B> /usr/lib/libcups.2.dylib 0x7fff5b4fa000 - 0x7fff5b4fafff libenergytrace.dylib (16) <1F11D488-07C6-3D18-BEF2-0B28A992D761> /usr/lib/libenergytrace.dylib 0x7fff5b531000 - 0x7fff5b536ff3 libheimdal-asn1.dylib (520.50.9) <EF65C17E-31CD-31DC-876C-BF3EF393099C> /usr/lib/libheimdal-asn1.dylib 0x7fff5b562000 - 0x7fff5b653ff7 libiconv.2.dylib (51.50.1) <7965B866-C75A-3450-9891-0500349F7090> /usr/lib/libiconv.2.dylib 0x7fff5b654000 - 0x7fff5b87bffb libicucore.A.dylib (59181.0.1) <17767680-09DF-3954-AB6C-B13B41F92A2E> /usr/lib/libicucore.A.dylib 0x7fff5b8c8000 - 0x7fff5b8c9fff liblangid.dylib (128) <C54A2059-A4BE-364B-94C2-581C548459BC> /usr/lib/liblangid.dylib 0x7fff5b8ca000 - 0x7fff5b8e3ffb liblzma.5.dylib (10) <60BEAB81-CE65-3479-90CC-03325AACEC95> /usr/lib/liblzma.5.dylib 0x7fff5b8e4000 - 0x7fff5b8faff7 libmarisa.dylib (9) <47540053-02CF-35F8-A75E-074DB3D51812> /usr/lib/libmarisa.dylib 0x7fff5b9ab000 - 0x7fff5bbd3ff7 libmecabra.dylib (779.7.6) <B2ACB6A9-91AE-364B-9418-8EB938BF82B6> /usr/lib/libmecabra.dylib 0x7fff5bdab000 - 0x7fff5bf26fff libnetwork.dylib (1229.70.2) <0596A03E-C984-3FE6-B88E-63D5F96EC49A> /usr/lib/libnetwork.dylib 0x7fff5bfad000 - 0x7fff5c39b7e7 libobjc.A.dylib (723) <843EFB54-EFCC-3A7C-BE11-092B6A556262> /usr/lib/libobjc.A.dylib 0x7fff5c3ae000 - 0x7fff5c3b2fff libpam.2.dylib (22) <E5840D63-8506-301A-9182-5000031854E1> /usr/lib/libpam.2.dylib 0x7fff5c3b5000 - 0x7fff5c3edff7 libpcap.A.dylib (79.20.3) <6A9D27FA-2780-3E96-8B2E-645638AC13AC> /usr/lib/libpcap.A.dylib 0x7fff5c46c000 - 0x7fff5c488ffb libresolv.9.dylib (65.1) <D9BB6307-71E4-3A94-A745-1FCA114C6894> /usr/lib/libresolv.9.dylib 0x7fff5c4d7000 - 0x7fff5c4d8ff3 libspindump.dylib (252) <7BE3801C-F1F5-3F54-AB70-9842F8EF3F09> /usr/lib/libspindump.dylib 0x7fff5c4d9000 - 0x7fff5c66cff7 libsqlite3.dylib (274.8.1) <FCAD6A57-829E-3701-B16E-1833D620E0E8> /usr/lib/libsqlite3.dylib 0x7fff5c840000 - 0x7fff5c8a0ff3 libusrtcp.dylib (1229.70.2) <1E065228-D0E3-3808-9405-894056C6BEC0> /usr/lib/libusrtcp.dylib 0x7fff5c8a1000 - 0x7fff5c8a4ffb libutil.dylib (51.20.1) <A50E15F1-20A2-3EA7-A8CE-A43662E18587> /usr/lib/libutil.dylib 0x7fff5c8a5000 - 0x7fff5c8b2ff3 libxar.1.dylib (417.1) <351781D5-3CCF-320F-BB5A-4DFCC1CCD31D> /usr/lib/libxar.1.dylib 0x7fff5c8b6000 - 0x7fff5c99dffb libxml2.2.dylib (31.20) <286F8531-7001-3989-9640-284443355433> /usr/lib/libxml2.2.dylib 0x7fff5c99e000 - 0x7fff5c9c6fff libxslt.1.dylib (15.16) <57D56366-1E7B-356C-B2B8-F4688FF666E6> /usr/lib/libxslt.1.dylib 0x7fff5c9c7000 - 0x7fff5c9d9ffb libz.1.dylib (70) <47278BDC-596E-3037-B8DA-05FE9D5DBEF6> /usr/lib/libz.1.dylib 0x7fff5ca75000 - 0x7fff5ca79ff7 libcache.dylib (80) <096D3699-58D2-3D23-9512-BC88DAE7B16C> /usr/lib/system/libcache.dylib 0x7fff5ca7a000 - 0x7fff5ca84ff3 libcommonCrypto.dylib (60118.50.1) <B4E77BD4-A809-37E1-8A79-25955E0F5D9C> /usr/lib/system/libcommonCrypto.dylib 0x7fff5ca85000 - 0x7fff5ca8cfff libcompiler_rt.dylib (62) <4CEED002-D00B-35F8-B563-0546A5F71A43> /usr/lib/system/libcompiler_rt.dylib 0x7fff5ca8d000 - 0x7fff5ca96ffb libcopyfile.dylib (146.50.5) <F7A7999F-9509-3C67-8EE9-95BEE6772676> /usr/lib/system/libcopyfile.dylib 0x7fff5ca97000 - 0x7fff5cb1cffb libcorecrypto.dylib (562.70.3) <9C6E5CC2-272B-3740-AEDB-9EBEC98EC7F9> /usr/lib/system/libcorecrypto.dylib 0x7fff5cba4000 - 0x7fff5cbddff7 libdispatch.dylib (913.60.3) <285526B6-A2A6-316D-A1CC-37803B71E203> /usr/lib/system/libdispatch.dylib 0x7fff5cbde000 - 0x7fff5cbfbff7 libdyld.dylib (551.5) <49ABA86D-DD48-3133-9B14-B9A564EEBC66> /usr/lib/system/libdyld.dylib 0x7fff5cbfc000 - 0x7fff5cbfcffb libkeymgr.dylib (28) <7CC7B5E1-AB7F-3495-A26A-396461BCB66B> /usr/lib/system/libkeymgr.dylib 0x7fff5cbfd000 - 0x7fff5cc09ff3 libkxld.dylib (4570.71.82.8) <44AF05D7-6BDF-3A9B-B5CF-D16C98B6844E> /usr/lib/system/libkxld.dylib 0x7fff5cc0a000 - 0x7fff5cc0aff7 liblaunch.dylib (1205.70.16) <265EE555-E988-3EE5-A39E-028FB3A5FE11> /usr/lib/system/liblaunch.dylib 0x7fff5cc0b000 - 0x7fff5cc0fffb libmacho.dylib (906) <F5F16E2F-F961-3FF4-B02F-69BBDB57B8DC> /usr/lib/system/libmacho.dylib 0x7fff5cc10000 - 0x7fff5cc12fff libquarantine.dylib (86.70.1) <262CECFE-A493-3EC6-8608-CEA93757265E> /usr/lib/system/libquarantine.dylib 0x7fff5cc13000 - 0x7fff5cc14ff3 libremovefile.dylib (45) <EA24BFB6-24B7-3841-8AAC-FAF400910706> /usr/lib/system/libremovefile.dylib 0x7fff5cc15000 - 0x7fff5cc2cfff libsystem_asl.dylib (356.70.1) <9481D82D-CFB7-3032-A07F-88F7F59CAC2C> /usr/lib/system/libsystem_asl.dylib 0x7fff5cc2d000 - 0x7fff5cc2dfff libsystem_blocks.dylib (67) <FA2C3663-9DBB-3AFB-80A3-E77BE0816AD0> /usr/lib/system/libsystem_blocks.dylib 0x7fff5cc2e000 - 0x7fff5ccb7ff7 libsystem_c.dylib (1244.50.9) <25DD83D8-80CA-3DFF-8626-FE704911F19C> /usr/lib/system/libsystem_c.dylib 0x7fff5ccb8000 - 0x7fff5ccbbffb libsystem_configuration.dylib (963.50.9) <61B26E1D-FEFF-38C6-AE0E-A6DD90145EB2> /usr/lib/system/libsystem_configuration.dylib 0x7fff5ccbc000 - 0x7fff5ccbfffb libsystem_coreservices.dylib (51) <E8FA663F-1B0F-3B12-8F97-31A46E6B4D68> /usr/lib/system/libsystem_coreservices.dylib 0x7fff5ccc0000 - 0x7fff5ccc1fff libsystem_darwin.dylib (1244.50.9) <6195EEA1-83A7-35F0-8147-5AB031020CD0> /usr/lib/system/libsystem_darwin.dylib 0x7fff5ccc2000 - 0x7fff5ccc8ffb libsystem_dnssd.dylib (878.70.4) <0D2C9583-5D28-375B-AEB4-F66F18C78322> /usr/lib/system/libsystem_dnssd.dylib 0x7fff5ccc9000 - 0x7fff5cd12ff7 libsystem_info.dylib (517.30.1) <9C2C96F3-638B-34E7-A2BD-24C643EAF957> /usr/lib/system/libsystem_info.dylib 0x7fff5cd13000 - 0x7fff5cd39ff7 libsystem_kernel.dylib (4570.71.82.8) <C34BA704-FAFF-3DDB-9827-5930B5BEF134> /usr/lib/system/libsystem_kernel.dylib 0x7fff5cd3a000 - 0x7fff5cd85fcb libsystem_m.dylib (3147.50.1) <B3172533-77D2-3416-8487-4A505198E9E1> /usr/lib/system/libsystem_m.dylib 0x7fff5cd86000 - 0x7fff5cda5ff7 libsystem_malloc.dylib (140.50.7) <821E16C8-7A7E-3269-9167-10F4F413BF93> /usr/lib/system/libsystem_malloc.dylib 0x7fff5cda6000 - 0x7fff5ced6ff7 libsystem_network.dylib (1229.70.2) <07BFD80A-E7EB-3DEB-B765-5E1659453114> /usr/lib/system/libsystem_network.dylib 0x7fff5ced7000 - 0x7fff5cee1ffb libsystem_networkextension.dylib (767.70.2) <A90BAFFD-AC3D-3078-90B2-71463DBFD4A5> /usr/lib/system/libsystem_networkextension.dylib 0x7fff5cee2000 - 0x7fff5ceebff3 libsystem_notify.dylib (172) <738B3BB0-4F20-3446-A3B6-095D796E5903> /usr/lib/system/libsystem_notify.dylib 0x7fff5ceec000 - 0x7fff5cef3ff7 libsystem_platform.dylib (161.50.1) <90A2A62F-8690-3FA7-A4D0-9085BF2FA44A> /usr/lib/system/libsystem_platform.dylib 0x7fff5cef4000 - 0x7fff5cefffff libsystem_pthread.dylib (301.50.1) <283E64A7-A2B2-3212-95BA-4D21F9AE36CF> /usr/lib/system/libsystem_pthread.dylib 0x7fff5cf00000 - 0x7fff5cf03fff libsystem_sandbox.dylib (765.70.2) <C29E1B7A-F39B-344E-98F7-8FB32B10AE0A> /usr/lib/system/libsystem_sandbox.dylib 0x7fff5cf04000 - 0x7fff5cf05ff3 libsystem_secinit.dylib (30) <4E84DF62-57B5-36F9-819F-3C1E7FEDA856> /usr/lib/system/libsystem_secinit.dylib 0x7fff5cf06000 - 0x7fff5cf0dff7 libsystem_symptoms.dylib (820.60.3) <A45B4D84-2C69-3F19-83C2-2F1EEA73A7B5> /usr/lib/system/libsystem_symptoms.dylib 0x7fff5cf0e000 - 0x7fff5cf22ff7 libsystem_trace.dylib (829.70.2) <4C4E5351-E370-3226-9B30-61E250DE3B2E> /usr/lib/system/libsystem_trace.dylib 0x7fff5cf24000 - 0x7fff5cf29ff7 libunwind.dylib (35.3) <BAE12DA3-CF33-32AD-86B0-CCD6705ADFAA> /usr/lib/system/libunwind.dylib 0x7fff5cf2a000 - 0x7fff5cf57fff libxpc.dylib (1205.70.16) <26D99819-B813-320E-9E8F-9D57AD2DA63B> /usr/lib/system/libxpc.dylib External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 188188 thread_create: 0 thread_set_state: 0 VM Region Summary: ReadOnly portion of Libraries: Total=361.7M resident=0K(0%) swapped_out_or_unallocated=361.7M(100%) Writable regions: Total=209.6M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=209.6M(100%) VIRTUAL REGION REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Accelerate framework 128K 2 Activity Tracing 256K 2 CG backing stores 37.4M 4 CG image 484K 17 CoreAnimation 644K 22 CoreGraphics 8K 2 CoreImage 108K 8 CoreUI image data 2064K 15 CoreUI image file 360K 6 Dispatch continuations 16.0M 2 Foundation 4K 2 Image IO 64K 2 Kernel Alloc Once 8K 2 MALLOC 137.7M 35 MALLOC guard page 48K 10 Memory Tag 242 12K 2 STACK GUARD 40K 11 Stack 13.1M 12 Stack (reserved) 1596K 2 reserved VM address space (unallocated) Stack Guard 54.4M 2 VM_ALLOCATE 356K 18 __DATA 27.9M 256 __FONT_DATA 4K 2 __LINKEDIT 195.6M 20 __TEXT 166.1M 259 __UNICODE 560K 2 mapped file 70.9M 23 shared memory 740K 15 =========== ======= ======= TOTAL 726.5M 727 TOTAL, minus reserved VM space 725.0M 727 Model: MacBookPro11,4, BootROM 199.0.0.0.0, 4 processors, Intel Core i7, 2.2 GHz, 16 GB, SMC 2.29f24 Graphics: Intel Iris Pro, Intel Iris Pro, Built-In Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D54343147533642465238412D50422020 Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D54343147533642465238412D50422020 AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x152), Broadcom BCM43xx 1.0 (7.77.37.33.1a1) Bluetooth: Version 6.0.7f22, 3 services, 27 devices, 1 incoming serial ports Network Service: Wi-Fi, AirPort, en0 Serial ATA Device: APPLE SSD SM0256G, 251 GB USB Device: USB 3.0 Bus USB Device: USB3.0 Hub USB Device: Elements SE 25FE USB Device: Elements 25A1 USB Device: Apple Internal Keyboard / Trackpad USB Device: Bluetooth USB Host Controller USB Device: USB2.0 Hub Thunderbolt Bus: MacBook Pro, Apple Inc., 27.1 [-- Attachment #5: ns-fullscreen-with-toolbar.png --] [-- Type: image/png, Size: 165734 bytes --] ^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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-06-05 20:58 ` Alan Third 0 siblings, 2 replies; 44+ messages in thread From: Alan Third @ 2021-05-26 19:56 UTC (permalink / raw) To: Paul W. Rankin; +Cc: emacs-devel On Sun, May 16, 2021 at 07:16:54PM +1000, Paul W. Rankin wrote: > On 2021-05-14 07:05, Alan Third wrote: > > On Thu, May 13, 2021 at 03:46:54PM +1000, Paul W. Rankin via Emacs > > development discussions. wrote: > > > On 2021-05-13 07:23, Alan Third wrote: > > > You're right and I can't find another macOS app with a tab bar that > > > behaves > > > the way Emacs.app does, so I gotta assume there is something somewhere > > > overriding the Cocoa window manager behaviour. But I'm really only > > > qualified > > > to guess; I looked through nsterm.m and changed a few suspected BOOL > > > values > > > and recompiled a few times but nothing had an effect on the hidden > > > tab bar. > > > > > > Relatedly, tool-bar-mode is in the same boat; hidden in full screen, > > > but > > > probably shouldn't be. > > > > Search in nsterm.m for "autohide", there are a couple of places where > > hiding various bits and bobs is done, all related to fullscreen > > afaict. > > > > I'm not on a Mac just now or I'd try removing them all to see what it > > does. > > Looks like you're on the money! > > I've attached two patches: 0001 is to remove the explicit setting of > NSWindowTabbingModeDisallowed; If you write up a wee NEWS entry, I'll be happy to push this change to master and we can see is anyone shouts. :) Please make sure to mention where to go to turn off tabbing. > 0002 allows visibility of the toolbar and tab > bar in fullscreen (screenshot attached), but reliably causes a segmentation > fault with the following steps: > > 1. System Preferences > Dock > Prefer tabs... [Always] > 2. $ emacs -Q > 3. M-x toggle-frame-full > 4. M-x make-frame > 5. M-x delete-frame > > Attached crash.log. > > Interestingly, calling delete-other-frames does not trigger a crash and when > in windowed (non-fullscreen) a crash is only triggered with the following: > > 1. System Preferences > Dock > Prefer tabs... [Always] > 2. $ emacs -Q > 3. M-x make-frame > 4. M-x make-frame > 5. click close background tab > 6. wait for animation to finish > 7. click close foreground tab Hmm... My money is on something being accessed after being released... It reminds me of some relatively recent fix we made, but I can't for the life of me think what. Anyway, I'm discussing with Andrii in another bug thread about removing the pause that's built into fullscreen transitions so we may want to wait for that to be sorted before we look further into crashes that happen in the same place. > There are three positions someone could take: > > 1. wants tabs in all macOS apps including Emacs.app > 2. does not want tabs in any macOS apps including Emacs.app > 3. wants tabs in all other macOS except for Emacs.app > > Anyone in categories 1 and 2 will be covered by the option in System > Preferences. Given that all I think we're doing here is removing old barrier > code to have Emacs function with an OS's native window manager, anyone in > the third category would be putting the onus on themselves to write code for > additional functionality. Yes, I'm happy enough with this. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-26 19:56 ` Alan Third @ 2021-05-27 11:06 ` Andrii Kolomoiets 2021-05-28 8:26 ` martin rudalics 2021-06-05 20:58 ` Alan Third 1 sibling, 1 reply; 44+ messages in thread From: Andrii Kolomoiets @ 2021-05-27 11:06 UTC (permalink / raw) To: Alan Third; +Cc: Paul W. Rankin, emacs-devel Alan Third <alan@idiocy.org> writes: > Anyway, I'm discussing with Andrii in another bug thread about > removing the pause that's built into fullscreen transitions so we may > want to wait for that to be sorted before we look further into crashes > that happen in the same place. I'm a little short on time at the moment. I won't mind if someone beats me on it :) I didn't follow this thread closely, apologize if these questions was discussed already, but here my two cents. 1. System Preferences > Dock > Prefer tabs... [Always] 2. emacs -Q 3. s-n 4. s-w Repeat steps 3 and 4 few times, note how the frame height is increased. 1. System Preferences > Dock > Prefer tabs... [Always] 2. emacs -Q --execute "(push '(ns-transparent-titlebar . t) default-frame-alist)" 3. s-n The new frame is created instead of new tab. Maybe these use cases can be solved in separate patches. Anyway, I really like that native macOS tabs support is coming to Emacs. Thanks! -- Andrii ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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. 0 siblings, 1 reply; 44+ messages in thread From: martin rudalics @ 2021-05-28 8:26 UTC (permalink / raw) To: Andrii Kolomoiets, Alan Third; +Cc: Paul W. Rankin, emacs-devel > 1. System Preferences > Dock > Prefer tabs... [Always] > 2. emacs -Q > 3. s-n > 4. s-w What do s-n and s-w do (which emacs function do they ultimately call)? > Repeat steps 3 and 4 few times, note how the frame height is increased. martin ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-28 8:28 UTC (permalink / raw) To: martin rudalics; +Cc: Andrii Kolomoiets, Alan Third, emacs-devel > On 28 May 2021, at 6:26 pm, martin rudalics <rudalics@gmx.at> wrote: > > > 1. System Preferences > Dock > Prefer tabs... [Always] > > 2. emacs -Q > > 3. s-n > > 4. s-w > > What do s-n and s-w do (which emacs function do they ultimately call)? > > > Repeat steps 3 and 4 few times, note how the frame height is increased. s-n (make-frame) s-w (delete-frame) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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-05-28 9:07 ` Andrii Kolomoiets 0 siblings, 2 replies; 44+ messages in thread From: martin rudalics @ 2021-05-28 8:36 UTC (permalink / raw) To: Paul W. Rankin; +Cc: Alan Third, Andrii Kolomoiets, emacs-devel >> What do s-n and s-w do (which emacs function do they ultimately call)? >> >>> Repeat steps 3 and 4 few times, note how the frame height is increased. > > s-n (make-frame) > s-w (delete-frame) Hmm... Then "the frame height" refers to the height of different frames? Does it always increase by the same amount? Does it ever stop to do that? martin ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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-05-28 9:07 ` Andrii Kolomoiets 1 sibling, 1 reply; 44+ messages in thread From: Alan Third @ 2021-05-28 8:54 UTC (permalink / raw) To: martin rudalics; +Cc: Paul W. Rankin, Andrii Kolomoiets, emacs-devel On Fri, May 28, 2021 at 10:36:07AM +0200, martin rudalics wrote: > >> What do s-n and s-w do (which emacs function do they ultimately call)? > >> > >>> Repeat steps 3 and 4 few times, note how the frame height is increased. > > > > s-n (make-frame) > > s-w (delete-frame) > > Hmm... Then "the frame height" refers to the height of different > frames? Does it always increase by the same amount? Does it ever stop > to do that? Without having looked at it at all I'd imagine the problem is that the tab-bar is an extra toolbar below the Emacs toolbar which we will need to take into account when calculating the size of the various components. For example, IIRC, the height of the Emacs toolbar is calculated as the height of the OS window minus the height of the Emacs view and the titlebar. This is clearly not going to be right when we have an extra widget in there. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-06-06 4:09 UTC (permalink / raw) To: Alan Third; +Cc: martin rudalics, Andrii Kolomoiets, emacs-devel > On 28 May 2021, at 6:54 pm, Alan Third <alan@idiocy.org> wrote: > > On Fri, May 28, 2021 at 10:36:07AM +0200, martin rudalics wrote: >>>> What do s-n and s-w do (which emacs function do they ultimately call)? >>>> >>>>> Repeat steps 3 and 4 few times, note how the frame height is increased. >>> >>> s-n (make-frame) >>> s-w (delete-frame) >> >> Hmm... Then "the frame height" refers to the height of different >> frames? Does it always increase by the same amount? Does it ever stop >> to do that? > > Without having looked at it at all I'd imagine the problem is that the > tab-bar is an extra toolbar below the Emacs toolbar which we will need > to take into account when calculating the size of the various > components. > > For example, IIRC, the height of the Emacs toolbar is calculated as > the height of the OS window minus the height of the Emacs view and the > titlebar. This is clearly not going to be right when we have an extra > widget in there. Fwiw, most native macOS app windows can show/hide their toolbar, and when they do this, the window itself maintains overall size. However in Emacs when toggling tool-bar-mode the window grows/shrinks in overall size (i.e. maintains window lines). So I guess one of the questions here is whether to do these height calculation to maintain overall window size (and thus consistency with the OS) or to maintain visible window lines. Sorry I would like to provide more insights here but I'm still at the very early stages of learning C. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-06-06 4:09 ` Paul W. Rankin via Emacs development discussions. @ 2021-06-06 7:43 ` martin rudalics 0 siblings, 0 replies; 44+ messages in thread From: martin rudalics @ 2021-06-06 7:43 UTC (permalink / raw) To: Paul W. Rankin, Alan Third; +Cc: Andrii Kolomoiets, emacs-devel > Fwiw, most native macOS app windows can show/hide their toolbar, and > when they do this, the window itself maintains overall size. However > in Emacs when toggling tool-bar-mode the window grows/shrinks in > overall size (i.e. maintains window lines). > > So I guess one of the questions here is whether to do these height > calculation to maintain overall window size (and thus consistency with > the OS) or to maintain visible window lines. The value of `frame-inhibit-implied-resize' should answer that question. martin ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-28 8:36 ` martin rudalics 2021-05-28 8:54 ` Alan Third @ 2021-05-28 9:07 ` Andrii Kolomoiets 2021-05-28 9:21 ` martin rudalics 1 sibling, 1 reply; 44+ messages in thread From: Andrii Kolomoiets @ 2021-05-28 9:07 UTC (permalink / raw) To: martin rudalics; +Cc: Alan Third, Paul W. Rankin, emacs-devel martin rudalics <rudalics@gmx.at> writes: >>> What do s-n and s-w do (which emacs function do they ultimately call)? >>> >>>> Repeat steps 3 and 4 few times, note how the frame height is increased. >> >> s-n (make-frame) >> s-w (delete-frame) > > Hmm... Then "the frame height" refers to the height of different > frames? Does it always increase by the same amount? All Emacs frames are grouped in single window manager window. I refer to that window manager window as frame. Initially the tab bar is hidden. After new frame created (s-n), the tab bar is shown with two tabs, frame height is increased by the tab bar height. After frame deleted (s-w), tab bar become hidden again but frame height is not decreased. -- Andrii ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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. 0 siblings, 1 reply; 44+ messages in thread From: martin rudalics @ 2021-05-28 9:21 UTC (permalink / raw) To: Andrii Kolomoiets; +Cc: Alan Third, Paul W. Rankin, emacs-devel > All Emacs frames are grouped in single window manager window. I refer > to that window manager window as frame. I'm afraid that will confuse us. Let's call that WM-frame. > Initially the tab bar is hidden. After new frame created (s-n), the tab > bar is shown with two tabs, Why? Have you `tab-bar-mode' turned on or have you set the `tab-bar-lines' frame parameter? > frame height is increased by the tab bar > height. That's intentional: We do that to produce the initial frame height as specified. What does (frame-height) give after that frame has become visible? > After frame deleted (s-w), tab bar become hidden again but > frame height is not decreased. That's intentional again. If the tab bar has been shown once, the "native" height of its frame should remain constant when toggling or wrapping the tab bar. Just like the internal tool bar on Lucid or Windows builds. martin ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-28 9:37 UTC (permalink / raw) To: martin rudalics; +Cc: Andrii Kolomoiets, Alan Third, emacs-devel > On 28 May 2021, at 7:21 pm, martin rudalics <rudalics@gmx.at> wrote: > > > Initially the tab bar is hidden. After new frame created (s-n), the tab > > bar is shown with two tabs, > > Why? Have you `tab-bar-mode' turned on or have you set the > `tab-bar-lines' frame parameter? It's important to note that this is not related to `tab-bar-mode'. These tabs are part of the OS's native window manager chrome. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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. 0 siblings, 1 reply; 44+ messages in thread From: martin rudalics @ 2021-05-28 9:51 UTC (permalink / raw) To: Paul W. Rankin; +Cc: Alan Third, Andrii Kolomoiets, emacs-devel >> Why? Have you `tab-bar-mode' turned on or have you set the >> `tab-bar-lines' frame parameter? > > It's important to note that this is not related to `tab-bar-mode'. These tabs are part of the OS's native window manager chrome. I see. So what does really "grow" and not "shrink": The window manager frame or the Emacs frame? If it's the former, then the behavior should be seen by displaying any other application's windows in the window manager frame and the behavior is not Emacs specific. Right? martin ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-05-28 14:33 UTC (permalink / raw) To: martin rudalics; +Cc: Andrii Kolomoiets, Alan Third, emacs-devel > On 28 May 2021, at 7:51 pm, martin rudalics <rudalics@gmx.at> wrote: > > >> Why? Have you `tab-bar-mode' turned on or have you set the > >> `tab-bar-lines' frame parameter? > > > > It's important to note that this is not related to `tab-bar-mode'. These tabs are part of the OS's native window manager chrome. > > I see. So what does really "grow" and not "shrink": The window manager > frame or the Emacs frame? If it's the former, then the behavior should > be seen by displaying any other application's windows in the window > manager frame and the behavior is not Emacs specific. Right? > > martin This might be best illustrated with a quick video showing how the Emacs.app frame behaves when creating a new tab vs a native macOS app: https://f002.backblazeb2.com/file/pwr-share/emacs_nsterm.mov (16MB) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-28 14:33 ` Paul W. Rankin via Emacs development discussions. @ 2021-05-28 20:52 ` Andrii Kolomoiets 0 siblings, 0 replies; 44+ messages in thread From: Andrii Kolomoiets @ 2021-05-28 20:52 UTC (permalink / raw) To: Paul W. Rankin; +Cc: martin rudalics, Alan Third, emacs-devel "Paul W. Rankin" <pwr@bydasein.com> writes: >> On 28 May 2021, at 7:51 pm, martin rudalics <rudalics@gmx.at> wrote: >> >> >> Why? Have you `tab-bar-mode' turned on or have you set the >> >> `tab-bar-lines' frame parameter? >> > >> > It's important to note that this is not related to >> > `tab-bar-mode'. These tabs are part of the OS's native window >> > manager chrome. >> >> I see. So what does really "grow" and not "shrink": The window manager >> frame or the Emacs frame? If it's the former, then the behavior should >> be seen by displaying any other application's windows in the window >> manager frame and the behavior is not Emacs specific. Right? >> > > This might be best illustrated with a quick video showing how the > Emacs.app frame behaves when creating a new tab vs a native macOS app: Also check out the Terminal.app behavior. It restores the WM-frame size once tab bar is hidden. -- Andrii ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-05-26 19:56 ` Alan Third 2021-05-27 11:06 ` Andrii Kolomoiets @ 2021-06-05 20:58 ` Alan Third 2021-06-06 4:01 ` Paul W. Rankin via Emacs development discussions. 1 sibling, 1 reply; 44+ messages in thread From: Alan Third @ 2021-06-05 20:58 UTC (permalink / raw) To: Paul W. Rankin, emacs-devel On Wed, May 26, 2021 at 08:56:19PM +0100, Alan Third wrote: > On Sun, May 16, 2021 at 07:16:54PM +1000, Paul W. Rankin wrote: > > > > I've attached two patches: 0001 is to remove the explicit setting of > > NSWindowTabbingModeDisallowed; > > If you write up a wee NEWS entry, I'll be happy to push this change to > master and we can see is anyone shouts. :) > > Please make sure to mention where to go to turn off tabbing. Hi Paul, did you get a chance to add a NEWS entry? If you don't have the time (or feel confident enough), please send a small description of what's changed and how to disable the tab-bar and I'll finish it up. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-06-06 4:01 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 775 bytes --] > On 6 Jun 2021, at 6:58 am, Alan Third <alan@idiocy.org> wrote: > > On Wed, May 26, 2021 at 08:56:19PM +0100, Alan Third wrote: >> On Sun, May 16, 2021 at 07:16:54PM +1000, Paul W. Rankin wrote: >>> >>> I've attached two patches: 0001 is to remove the explicit setting of >>> NSWindowTabbingModeDisallowed; >> >> If you write up a wee NEWS entry, I'll be happy to push this change to >> master and we can see is anyone shouts. :) >> >> Please make sure to mention where to go to turn off tabbing. > > Hi Paul, did you get a chance to add a NEWS entry? If you don't have > the time (or feel confident enough), please send a small > description of what's changed and how to disable the tab-bar and I'll > finish it up. Hi Alan, Sorry I was just being lazy. Attached! [-- Attachment #2: 0001-src-nsterm.m-fix-window-tabbing-on-macOS.patch --] [-- Type: application/octet-stream, Size: 2074 bytes --] From 41fafc79a7371be9244460fca0c6b8d3c053de8c Mon Sep 17 00:00:00 2001 From: "Paul W. Rankin" <pwr@bydasein.com> Date: Sat, 8 May 2021 19:09:59 +1000 Subject: [PATCH] src/nsterm.m: fix window tabbing on macOS * src/nsterm.m: remove NSWindowTabbingModeDisallowed to respect system-wide preferences * etc/NEWS: add mention of native tab support in macOS and where to specify system-wide setting --- etc/NEWS | 8 ++++++++ src/nsterm.m | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 32d7c4fe18..a3073d2033 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -3110,6 +3110,14 @@ The new variable 'xwidget-webkit-download-dir' says where to download to. 'module-file-suffix' now has the value ".dylib" on macOS, but the ".so" suffix is supported as well. ++++ +** On macOS, Emacs now supports native tabs (available in macOS 10.12 +and later). Native tabbing behavior is specified system-wide via +System Preferences, under under General > 'Prefer tabs when opening +documents'. In macOS versions 10.15 and earlier, this option is +located under Dock instead. Note that this feature is unrelated to the +Emacs 'tab-bar-mode'. + +++ ** On MS-Windows, Emacs can now toggle the IME. A new function 'w32-set-ime-open-status' can now be used to disable diff --git a/src/nsterm.m b/src/nsterm.m index bb20886ab1..5fd4885801 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7628,14 +7628,6 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f selector:@selector (viewDidResize:) name:NSViewFrameDidChangeNotification object:nil]; - /* macOS Sierra automatically enables tabbed windows. We can't - allow this to be enabled until it's available on a Free system. - Currently it only happens by accident and is buggy anyway. */ -#ifdef NS_IMPL_COCOA - if ([win respondsToSelector: @selector(setTabbingMode:)]) - [win setTabbingMode: NSWindowTabbingModeDisallowed]; -#endif - ns_window_num++; return self; } -- 2.30.1 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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. 0 siblings, 1 reply; 44+ messages in thread From: Eli Zaretskii @ 2021-06-06 6:14 UTC (permalink / raw) To: Paul W. Rankin; +Cc: alan, emacs-devel > Feedback-ID: 791:353:null:purelymail > Date: Sun, 6 Jun 2021 14:01:26 +1000 > Cc: emacs-devel@gnu.org > From: "Paul W. Rankin" via "Emacs development discussions." <emacs-devel@gnu.org> > > ++++ > +** On macOS, Emacs now supports native tabs (available in macOS 10.12 > +and later). Native tabbing behavior is specified system-wide via > +System Preferences, under under General > 'Prefer tabs when opening > +documents'. In macOS versions 10.15 and earlier, this option is > +located under Dock instead. Note that this feature is unrelated to the > +Emacs 'tab-bar-mode'. Thanks. A minor nit: since NEWS is displayed in Outline mode, the first sentence of any entry is its heading, and should not take more than one line. If you have some details that make it longer, move those details to the subsequent lines. For example: ** On macOS, Emacs now supports native tabs. These tabs are available in macOS 10.12 and later. ... ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-06-06 6:48 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Alan Third, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1104 bytes --] > On 6 Jun 2021, at 4:14 pm, Eli Zaretskii <eliz@gnu.org> wrote: > >> Feedback-ID: 791:353:null:purelymail >> Date: Sun, 6 Jun 2021 14:01:26 +1000 >> Cc: emacs-devel@gnu.org >> From: "Paul W. Rankin" via "Emacs development discussions." <emacs-devel@gnu.org> >> >> ++++ >> +** On macOS, Emacs now supports native tabs (available in macOS 10.12 >> +and later). Native tabbing behavior is specified system-wide via >> +System Preferences, under under General > 'Prefer tabs when opening >> +documents'. In macOS versions 10.15 and earlier, this option is >> +located under Dock instead. Note that this feature is unrelated to the >> +Emacs 'tab-bar-mode'. > > Thanks. A minor nit: since NEWS is displayed in Outline mode, the > first sentence of any entry is its heading, and should not take more > than one line. If you have some details that make it longer, move > those details to the subsequent lines. For example: > > ** On macOS, Emacs now supports native tabs. > These tabs are available in macOS 10.12 and later. > ... No problemo. Revised patch attached. [-- Attachment #2: 0001-src-nsterm.m-fix-window-tabbing-on-macOS.patch --] [-- Type: application/octet-stream, Size: 2063 bytes --] From b2a9842399c3eafccab1964764ad383a37f26b11 Mon Sep 17 00:00:00 2001 From: "Paul W. Rankin" <pwr@bydasein.com> Date: Sat, 8 May 2021 19:09:59 +1000 Subject: [PATCH] src/nsterm.m: fix window tabbing on macOS * src/nsterm.m: remove NSWindowTabbingModeDisallowed to respect system-wide preferences * etc/NEWS: add mention of native tab support in macOS and where to specify system-wide setting --- etc/NEWS | 8 ++++++++ src/nsterm.m | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 32d7c4fe18..278cc5ea3c 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -3110,6 +3110,14 @@ The new variable 'xwidget-webkit-download-dir' says where to download to. 'module-file-suffix' now has the value ".dylib" on macOS, but the ".so" suffix is supported as well. ++++ +** On macOS, Emacs now supports native tabs (in macOS 10.12 and later). +Native tabbing behavior is specified system-wide via System +Preferences, under under General > 'Prefer tabs when opening +documents'. In macOS versions 10.15 and earlier, this option is +located under Dock instead. Note that this feature is unrelated to the +Emacs 'tab-bar-mode'. + +++ ** On MS-Windows, Emacs can now toggle the IME. A new function 'w32-set-ime-open-status' can now be used to disable diff --git a/src/nsterm.m b/src/nsterm.m index bb20886ab1..5fd4885801 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7628,14 +7628,6 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f selector:@selector (viewDidResize:) name:NSViewFrameDidChangeNotification object:nil]; - /* macOS Sierra automatically enables tabbed windows. We can't - allow this to be enabled until it's available on a Free system. - Currently it only happens by accident and is buggy anyway. */ -#ifdef NS_IMPL_COCOA - if ([win respondsToSelector: @selector(setTabbingMode:)]) - [win setTabbingMode: NSWindowTabbingModeDisallowed]; -#endif - ns_window_num++; return self; } -- 2.30.1 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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> 0 siblings, 1 reply; 44+ messages in thread From: Alan Third @ 2021-06-06 9:13 UTC (permalink / raw) To: Paul W. Rankin; +Cc: Eli Zaretskii, emacs-devel On Sun, Jun 06, 2021 at 04:48:32PM +1000, Paul W. Rankin wrote: > > No problemo. Revised patch attached. Thanks. I've pushed it to master. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
[parent not found: <8CCF969D-32AF-4542-8838-21DF4AA45523@yasufuku.dev>]
* Re: src/nsterm.m: fix window tabbing on macOS [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. 0 siblings, 1 reply; 44+ messages in thread From: Alan Third @ 2021-06-06 11:36 UTC (permalink / raw) To: Naofumi Yasufuku; +Cc: Eli Zaretskii, Paul W. Rankin, emacs-devel On Sun, Jun 06, 2021 at 07:07:53PM +0900, Naofumi Yasufuku wrote: > > > On Jun 6, 2021, at 18:13, Alan Third <alan@idiocy.org> wrote: > > > > On Sun, Jun 06, 2021 at 04:48:32PM +1000, Paul W. Rankin wrote: > >> > >> No problemo. Revised patch attached. > > > > Thanks. I've pushed it to master. > > I found the following issues with this macOS native tab commit. > Does anyone else encounter the same problems? > > 1) Frame height increases (even if frame-inhibit-implied-resize is t). > attachment: > 01_macOS-tab-issue-increases-height.gif > 01_macOS-tab-issue-increases-height-2.gif … (sets frame-inhibit-implied-resize t) Strangely I don't see this. The frame stays the same height... > 2) New tab name is ‘emacs’ instead of buffer name. > (even if C-x 5 C-f `find-file-other-frame’) > attachment: > 02_macOS-tab-issue-odd-tab-name.gif It turns out that when multiple NSViews are put into one NSWindow using tabs, AppKit doesn't bother telling all the views to update themselves when the window changes, it appears to only message the currently visible one. This is a problem. The tab name issue can be sorted with this change: modified src/nsfns.m @@ -407,6 +407,9 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side. if (! [[[view window] title] isEqualToString: str]) [[view window] setTitle: str]; + if ([[view window] tab]) + [[[view window] tab] setTitle: str]; + if (STRINGP (f->icon_name)) str = [NSString stringWithLispString: f->icon_name]; but the overall window title ends up stuck with something nonsensical. It's even when worse if you resize the frame manually with the mouse. I don't know how to fix that. > 3) Tabs are not shown in fullscreen. > attachment: > 03_macOS-tab-fullscreen-expected-textedit.gif. .. e.g. macOS Test Edit app > 03_macOS-tab-issue-fullscreen-emacs.gif Works as expected here. Since the window chrome isn't shown in fullscreen mode, the tab bar isn't shown. > 4) Doom modeline is not get focused when tab is closed. > This could be a ‘doom-modeline’ problem. > attachment: > 04_macOS-tab-issue-doom-modeline-focus.gif That looks like it's probably related to some old bug we have open where in certain circumstances the frame isn't shown as being the selected frame, despite being the key frame as far as AppKit is concerned. > 5) Native tabbing doesn’t work with (ns-transparent-titlebar . t) frame parameter. > This could be a limitation of macOS, and expected behavior. At a guess you'll need to set all frames to have a transparent titlebar, but perhaps there's more to it than that... -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-06-06 12:19 UTC (permalink / raw) To: Alan Third; +Cc: Naofumi Yasufuku, Eli Zaretskii, emacs-devel > On 6 Jun 2021, at 9:36 pm, Alan Third <alan@idiocy.org> wrote: > > On Sun, Jun 06, 2021 at 07:07:53PM +0900, Naofumi Yasufuku wrote: >> >> I found the following issues with this macOS native tab commit. >> Does anyone else encounter the same problems? >> >> 1) Frame height increases (even if frame-inhibit-implied-resize is t). >> attachment: >> 01_macOS-tab-issue-increases-height.gif >> 01_macOS-tab-issue-increases-height-2.gif … (sets frame-inhibit-implied-resize t) > > Strangely I don't see this. The frame stays the same height... Alan did you see my video of this in action? https://f002.backblazeb2.com/file/pwr-share/emacs_nsterm.mov >> 2) New tab name is ‘emacs’ instead of buffer name. >> (even if C-x 5 C-f `find-file-other-frame’) >> attachment: >> 02_macOS-tab-issue-odd-tab-name.gif > > It turns out that when multiple NSViews are put into one NSWindow > using tabs, AppKit doesn't bother telling all the views to update > themselves when the window changes, it appears to only message the > currently visible one. This is a problem. > > The tab name issue can be sorted with this change: > ... Interestingly this only happens with tool-bar-mode on. With eamcs -Q (tool-bar-mode 0) new frames/tabs get the correct name. Which makes me wonder if it's another case of some code somewhere interfering? >> 3) Tabs are not shown in fullscreen. >> attachment: >> 03_macOS-tab-fullscreen-expected-textedit.gif. .. e.g. macOS Test Edit app >> 03_macOS-tab-issue-fullscreen-emacs.gif Yeah we're considering this a separate nice-to-have, right? ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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. 0 siblings, 1 reply; 44+ messages in thread From: Alan Third @ 2021-06-06 18:56 UTC (permalink / raw) To: Paul W. Rankin; +Cc: Eli Zaretskii, emacs-devel, Naofumi Yasufuku On Sun, Jun 06, 2021 at 10:19:57PM +1000, Paul W. Rankin wrote: > > > On 6 Jun 2021, at 9:36 pm, Alan Third <alan@idiocy.org> wrote: > > > > On Sun, Jun 06, 2021 at 07:07:53PM +0900, Naofumi Yasufuku wrote: > >> > >> I found the following issues with this macOS native tab commit. > >> Does anyone else encounter the same problems? > >> > >> 1) Frame height increases (even if frame-inhibit-implied-resize is t). > >> attachment: > >> 01_macOS-tab-issue-increases-height.gif > >> 01_macOS-tab-issue-increases-height-2.gif … (sets frame-inhibit-implied-resize t) > > > > Strangely I don't see this. The frame stays the same height... > > Alan did you see my video of this in action? > https://f002.backblazeb2.com/file/pwr-share/emacs_nsterm.mov Yeah, I was wrong, it is there and it's very annoying. I think there's a mismatch between the calculation of the height of the content and the actual height of the content. But if it's that I have no idea why it disappears when the toolbar is turned off, because the calculation should still be wrong. > >> 2) New tab name is ‘emacs’ instead of buffer name. > >> (even if C-x 5 C-f `find-file-other-frame’) > >> attachment: > >> 02_macOS-tab-issue-odd-tab-name.gif > > > > It turns out that when multiple NSViews are put into one NSWindow > > using tabs, AppKit doesn't bother telling all the views to update > > themselves when the window changes, it appears to only message the > > currently visible one. This is a problem. > > > > The tab name issue can be sorted with this change: > > ... > > Interestingly this only happens with tool-bar-mode on. With eamcs -Q > (tool-bar-mode 0) new frames/tabs get the correct name. Which makes > me wonder if it's another case of some code somewhere interfering? They don't here. The non-selected frame ends up with the wrong name whether the toolbar is on or off. > >> 3) Tabs are not shown in fullscreen. > >> attachment: > >> 03_macOS-tab-fullscreen-expected-textedit.gif. .. e.g. macOS Test Edit app > >> 03_macOS-tab-issue-fullscreen-emacs.gif > > Yeah we're considering this a separate nice-to-have, right? Yeah, the tabs work exactly as I'd expect them to in fullscreen given the way fullscreen works just now. I have to say I've spent most of the afternoon on this and I'm no closer to a solution to the height changing thing, so I'm tempted to revert the commit, or put it behind a build flag or something until we have a better solution. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 0 siblings, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-06-07 0:27 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel > On 7 Jun 2021, at 4:56 am, Alan Third <alan@idiocy.org> wrote: > > On Sun, Jun 06, 2021 at 10:19:57PM +1000, Paul W. Rankin wrote: > >> Alan did you see my video of this in action? >> https://f002.backblazeb2.com/file/pwr-share/emacs_nsterm.mov > > Yeah, I was wrong, it is there and it's very annoying. I think there's > a mismatch between the calculation of the height of the content and > the actual height of the content. But if it's that I have no idea why > it disappears when the toolbar is turned off, because the calculation > should still be wrong. I've forgotten, what macOS version are you on? macOS 11 combines native toolbars in with the titlebar, so I suspect that the calculations Emacs is doing expect a separate titlebar and toolbar. >> Yeah we're considering this a separate nice-to-have, right? > > Yeah, the tabs work exactly as I'd expect them to in fullscreen given > the way fullscreen works just now. > > I have to say I've spent most of the afternoon on this and I'm no > closer to a solution to the height changing thing, so I'm tempted to > revert the commit, or put it behind a build flag or something until we > have a better solution. I do not think that is necessary. I'm going to go out on a limb here and speculate that the problem lies with the way Emacs is calculating its frame size, not with the OS window manager. The heart of it is, someone can open up Xcode and whip up a demo app with zero code that will function perfectly well with native tabs, it's not functionality that a program needs to implement, so whatever it is with Emacs that is interfering with or overriding that functionality has been added in between. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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-09 8:35 ` martin rudalics 0 siblings, 2 replies; 44+ messages in thread From: Alan Third @ 2021-06-07 22:13 UTC (permalink / raw) To: Paul W. Rankin; +Cc: emacs-devel On Mon, Jun 07, 2021 at 10:27:42AM +1000, Paul W. Rankin wrote: > > > On 7 Jun 2021, at 4:56 am, Alan Third <alan@idiocy.org> wrote: > > > > On Sun, Jun 06, 2021 at 10:19:57PM +1000, Paul W. Rankin wrote: > > > >> Alan did you see my video of this in action? > >> https://f002.backblazeb2.com/file/pwr-share/emacs_nsterm.mov > > > > Yeah, I was wrong, it is there and it's very annoying. I think there's > > a mismatch between the calculation of the height of the content and > > the actual height of the content. But if it's that I have no idea why > > it disappears when the toolbar is turned off, because the calculation > > should still be wrong. > > I've forgotten, what macOS version are you on? macOS 11 combines > native toolbars in with the titlebar, so I suspect that the > calculations Emacs is doing expect a separate titlebar and toolbar. 10.14 Emacs does calculate the titlebar and toolbar heights, and it's pretty good at it, frankly, except that the toolbar height includes the tab-bar height as well, and I can't see any way round that because neither the toolbar, nor the tab-bar are accessible as views. I don't think that really matters, though. The only explanation I can come up with is that there's some strange interaction between the frame size when it's created, when the toolbar hasn't been created yet so has zero height, and then putting that window into the tab group. > >> Yeah we're considering this a separate nice-to-have, right? > > > > Yeah, the tabs work exactly as I'd expect them to in fullscreen given > > the way fullscreen works just now. > > > > I have to say I've spent most of the afternoon on this and I'm no > > closer to a solution to the height changing thing, so I'm tempted to > > revert the commit, or put it behind a build flag or something until we > > have a better solution. > > I do not think that is necessary. I'm going to go out on a limb here > and speculate that the problem lies with the way Emacs is > calculating its frame size, not with the OS window manager. The > heart of it is, someone can open up Xcode and whip up a demo app > with zero code that will function perfectly well with native tabs, > it's not functionality that a program needs to implement, so > whatever it is with Emacs that is interfering with or overriding > that functionality has been added in between. That goes without saying, but the fact of the matter is that we're failing miserably to convince Emacs and the tab-bar to live together in harmony. There's very little code in the ns*.m files that tries to calculate the height of the frame, and nothing I do to it makes the slightest bit of a difference to how the frame is drawn with tabs enabled. The fact that when you enable and disable the toolbar the frame size changes is also something I can't explain because Appkit doesn't even give Emacs a chance to set the frame size, it just does it and it even animates the change for us, and lets us know it's been done after the event. Perhaps we've got something set somewhere that says that the NSView can't be resized by Appkit? I don't know, I'm not aware of any setting like that. Unfortunately I think the current naive enabling of the native tabs isn't working and needs more work, so I'm going to revert the change. I'm not saying we can't have the native tabs, just that they need to be better behaved before we enable them. Please keep working on this. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 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 1 sibling, 1 reply; 44+ messages in thread From: Paul W. Rankin via Emacs development discussions. @ 2021-06-08 7:32 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel > On 8 Jun 2021, at 8:13 am, Alan Third <alan@idiocy.org> wrote: > > Unfortunately I think the current naive enabling of the native tabs > isn't working and needs more work, so I'm going to revert the change. > I'm not saying we can't have the native tabs, just that they need to > be better behaved before we enable them. This is lunacy. I'm out. Good luck. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-06-08 7:32 ` Paul W. Rankin via Emacs development discussions. @ 2021-06-08 8:59 ` Eli Zaretskii 0 siblings, 0 replies; 44+ messages in thread From: Eli Zaretskii @ 2021-06-08 8:59 UTC (permalink / raw) To: Paul W. Rankin, Paul W. Rankin via Emacs development discussions., Alan Third Cc: emacs-devel On June 8, 2021 10:32:06 AM GMT+03:00, "Paul W. Rankin via Emacs development discussions." <emacs-devel@gnu.org> wrote: > > This is lunacy. Not a nice thing to say. Please avoid such language here. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-06-07 22:13 ` Alan Third 2021-06-08 7:32 ` Paul W. Rankin via Emacs development discussions. @ 2021-06-09 8:35 ` martin rudalics 2021-06-09 8:48 ` Alan Third 1 sibling, 1 reply; 44+ messages in thread From: martin rudalics @ 2021-06-09 8:35 UTC (permalink / raw) To: Alan Third, Paul W. Rankin, emacs-devel > The fact that when you enable and disable the toolbar the frame size > changes is also something I can't explain because Appkit doesn't even > give Emacs a chance to set the frame size, it just does it and it even > animates the change for us, and lets us know it's been done after the > event. Perhaps we've got something set somewhere that says that the > NSView can't be resized by Appkit? I don't know, I'm not aware of any > setting like that. If you just used adjust_frame_size (f, -1, -1, 5, false, Qtool_bar_lines); in ns_set_tool_bar_lines would that change anything? martin ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-06-09 8:35 ` martin rudalics @ 2021-06-09 8:48 ` Alan Third 2021-06-09 12:20 ` martin rudalics 0 siblings, 1 reply; 44+ messages in thread From: Alan Third @ 2021-06-09 8:48 UTC (permalink / raw) To: martin rudalics; +Cc: emacs-devel On Wed, Jun 09, 2021 at 10:35:07AM +0200, martin rudalics wrote: > > The fact that when you enable and disable the toolbar the frame size > > changes is also something I can't explain because Appkit doesn't even > > give Emacs a chance to set the frame size, it just does it and it even > > animates the change for us, and lets us know it's been done after the > > event. Perhaps we've got something set somewhere that says that the > > NSView can't be resized by Appkit? I don't know, I'm not aware of any > > setting like that. > > If you just used > > adjust_frame_size (f, -1, -1, 5, false, Qtool_bar_lines); > > in ns_set_tool_bar_lines would that change anything? It doesn't make any difference to the frame resizing, but does make the window display as a tiny 2x2 character block in the top left of the frame, so I'm not sure it's doing what you intended. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-06-09 8:48 ` Alan Third @ 2021-06-09 12:20 ` martin rudalics 2021-06-09 12:29 ` Alan Third 0 siblings, 1 reply; 44+ messages in thread From: martin rudalics @ 2021-06-09 12:20 UTC (permalink / raw) To: Alan Third, emacs-devel >> If you just used >> >> adjust_frame_size (f, -1, -1, 5, false, Qtool_bar_lines); >> >> in ns_set_tool_bar_lines would that change anything? > > It doesn't make any difference to the frame resizing, but does make > the window display as a tiny 2x2 character block in the top left of > the frame, so I'm not sure it's doing what you intended. It's not. What happens when you omit that call entirely? martin ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: src/nsterm.m: fix window tabbing on macOS 2021-06-09 12:20 ` martin rudalics @ 2021-06-09 12:29 ` Alan Third 0 siblings, 0 replies; 44+ messages in thread From: Alan Third @ 2021-06-09 12:29 UTC (permalink / raw) To: martin rudalics; +Cc: emacs-devel On Wed, Jun 09, 2021 at 02:20:34PM +0200, martin rudalics wrote: > >> If you just used > >> > >> adjust_frame_size (f, -1, -1, 5, false, Qtool_bar_lines); > >> > >> in ns_set_tool_bar_lines would that change anything? > > > > It doesn't make any difference to the frame resizing, but does make > > the window display as a tiny 2x2 character block in the top left of > > the frame, so I'm not sure it's doing what you intended. > > It's not. What happens when you omit that call entirely? No change, still resizes when disabling/enabling the toolbar. Like I said before, though, as far as I can tell Emacs isn't even informed about the frame resizing until it's already done, so I don't think we can change it through Emacs's core, I think it has to be a change in the NS window or view setup. I actually suspect that the apps that don't resize when the toolbar is enabled or disabled are probably using automatic layout of their contents, which we can't do. -- Alan Third ^ permalink raw reply [flat|nested] 44+ messages in thread
end of thread, other threads:[~2021-06-09 12:29 UTC | newest] Thread overview: 44+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <65f1-60bcfd80-157-23301c40@168015757> 2021-06-07 0:11 ` src/nsterm.m: fix window tabbing on macOS Paul W. Rankin via Emacs development discussions. 2021-06-07 21:57 ` Alan Third 2021-05-08 9:26 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 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
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.