[Feature request] Option to disable expand/collapse folder animation in list view

I wonder if you can add an option to TotalFinder to disable the expand/collapse folder animation in the list view?

In a regular NSOutlineView (but not in the Finder) it’s controlled by this private method:

- (BOOL)_shouldAnimateExpandCollapse

This animation annoys me ever since it was introduced back in Lion (not only in Finder, but in Finder in particular).

Some background:

Several years ago I was able to disable this animation everywhere EXCEPT the Finder by creating my own plug-in for MacForge.

As to the Finder, then I spent several days exploring its class headers but I was never successful in disabling this animation in the Finder.

Like I mentioned, I was able to disable expand/collapse animation of NSOutlineView everywhere else (including Xcode). That’s all in the past though as MacForge doesn’t work on M1 Macs which I’m using for over a year by now.

As I’m sure you have much better and deeper knowledge of Finder classes than I could ever achieve, I wonder if it’s possible to disable this animation in the Finder?

Thanks!
Leo

1 Like

@Leo_B I’ve made a note of this as a feature request.

Weird that your NSOutlineView hook didn’t work for Finder, though. As far as I’m aware, Finder’s TListView and TOutlineView are direct subclasses of NSOutlineView so it should just work.

Perhaps MacForge was having trouble injecting into Finder or something, that’s my best guess.

Also, I think MacForge is supposed to work on Apple Silicon now? It should just require the same SIP weakening procedure as TotalFinder.

I’ve said this before, but I really do wish macOS tweak development was as easy as it is on iOS.

There are multiple projects coming from the iOS jailbreaking community that are beginning to support macOS as a target platform (notably Procursus and ElleKit — although the latter lacks x86_64 support as of current writing), but everything’s still very far from being ready for end user usage.

1 Like

@akemin_dayo Thanks for the info!

MacForge doesn’t work for me on M1 (with all the SIP weakening). I tried their last beta which is supposed to support M1. But every time I launch it and its window appears, both of my M1 Macs just immediately log out. MacForge also isn’t maintained anymore for at least 2 years by now anyway.

Of the two projects you mentioned, it looks like I can understand ElleKit (in theory at least). Plus I don’t need x86_64 support anyway. My practical experience with Swift is still near zero but I’m pretty familiar with its syntax by now more or less.

I was able to build ElleKit and it looks like the only thing I need is MSHookClassPair. I’ll try to play with it when I have time.

P.S. If you ever decide to produce a tool that disables _shouldAnimateExpandCollapse on the system level (and possibly some other animations that can’t be disabled otherwise), I’ll be happy to pay for this, too!