BinaryAge

TotalFinder/Mojave Native Tabs not working

bug

#1

I’ve got TotalFinder installed on Mojave 10.14.3 and everything works great except for “Native Tabs.” When I click on the plus sign or New-File-Native Tab it opens up a Chrome-Style tab instead of a Finder-type sub tab like it did in High Sierra. Is this a known issue?


#2

Probably not that many people use this setup. I’m going to look into it.


#3

I can confirm that it is seriously broken. I’m not sure when this changed but newly Finder native tabs are creating new Finder windows internally and this confuses TotalFinder which is trying to adopt them as its own tabs. In previous macOS/Finder versions I was able to distinguish between native tab creation and ordinary Finder window creation.

This will be harder to fix. I’m looking for a solution.


#4

Understood, appreciate it, thanks.


#5

Good news. I spent two days reverse engineering the new behavior and I’m pretty confident I will be able to make it work again.

It has been actually broken since Mojave. In macOS 10.14 Finder implemented “automatic window tabbing” which is a feature added in macOS 10.12. Apple engineers wanted to allow automatic support for tabbing (ideally) without modifications to existing apps. So they came up with a low-level “hacky” solution: the app still thinks it works with individual windows but macOS windowing server (and appkit) present groups of windows as tabs (showing the window associated with selected tab and hiding other windows in the group). It is quite similar to what TotalFinder did to Finder. Finder thinks it manages its own individual windows but TotalFinder takes over and presents them within its own tabbed interface.

Anyways, historically Finder had its own tabs implementation which was “drawn inside each Finder window” and implemented prior “automatic window tabbing” existed. That is why it worked pretty well with TotalFinder. They decided to redo it using this new system in Mojave.

I’m aiming for a TotalFinder release next week.


#6

I have just releases TotalFinder 1.11.5 on beta channel:
https://totalfinder.binaryage.com/beta-changes#1.11.5

It should address the issue. It would be great if you could test it and report back any edge cases. I believe this will be a satisfactory solution going forward.


#7

Bullseye. Everything’s 100% perfect on my end now. Thanks so much for the new release and your help, you guys are the best!!


#8

It doesn’t quite work for me: I get both a new Native Tab and a new TF tab when I press CMD-T. If I click around too many times in the tab bar, the tab titles sort of disappear; they get swallowed by some blank bar. More clicking gives me blank tabs. Really strange. See attached vid.


#9

Hey @posburn, thanks for reporting it. This is really weird. Are you running under macOS 10.14 (Mojave) or earlier?

Could you please nuke all TotalFinder plist settings just to rule out some weird tweaks?

Thanks.


#10

Yep, I’m running Mojave (10.14.4 Beta 18E184e). I deleted the plist settings, but that didn’t help. I still get both native and TF tabs whenever I press CMD-T or click on the new tab button next to current tab. I just noticed, however, that when I right click on any item and select “Open in New Tab” that I do not get a new tab. The selected item just opens in the current tab.

I also just noticed that in the General section of the Finder prefs, if I turn off “Open folders in tabs instead of new windows”, then I do get a new TF tab only, not both types of tabs, when I click the new tab button or press CMD-T. However, opening new tabs via right-click still does not work.

Lastly, if it helps I use TF exclusively via the Visor. This is unrelated, but after deleting my prefs I noticed that the Visor button in the top left of the window is a weird blue square that changes to the correct blue circle with black dot when I set the Visor to pinned. Strange. See screenshots.


#11

@posburn The visor pin button issue will be fixed in the next release. Somehow new Xcode didn’t like my old tiff image for some reason.

I also confirm that “Open in New Tab” or “Open in New Window” context menu actions do not behave as expected. Those are Finder’s actions for native tabs/windows and TotalFinder takes over it and adopts them. I will consider trying to override this behavior.

Unfortunately I’m still unable to reproduce the issue with both TF and native tab being open together.

Could you please try to make a pristine new user account under macOS Preferences -> Users & Groups, log under that user and try TotalFinder there? I have two theories what could go wrong: 1) some third party utility (e.g. keyboard remapping tool or something) is interfering with TotalFinder 2) you have some low-level TotalFinder tweak still somewhere in your system, please look into your home folder for any files ls ~/.totalfinder*


#12

Ok, so I logged in with a new user and the problem goes away. I’m puzzled as to what’s causing it now; I do use BetterTouchTool extensively, but disabling it in my normal user account had no effect. In fact, I disabled everything that I was running in the background (BetterSnapTool, Bartender, OneDrive, etc., etc.) and there was no change in the TF problem. I even completely uninstalled and reinstalled TF and that did not help. I checked, and I do not have any .totalfinder files in my home folder. The only thing that seems to help is disabling “Open folders in tabs instead of new windows” in the Finder prefs.


#13

OK, so I just found a weird wrinkle: if the Visor window is not showing, but Finder is the active app, when I click File>New Tab or press CMD-T, then then Visor pops up and the new tab I get is a normal TF tab. I do not get both TF and native tabs this way. Perhaps when the Visor is showing, Finder and TF are “fighting” over who gets to display the new tab? Let me know if a vid would help if my explanation isn’t clear.


#14

More info: when I try to open a new tab, Console reports the following:

WINDOW TAB FAILURE: Could not set the origin for window <TBrowserWindow: 0x7f7f63392740> to {-0, 864}


#15

@posburn Thanks for all the info. I think we should move to support@binaryage.com. I will send you a link to a build with rich logging enabled. This should tell us what is going on.