![]() ![]() ![]() The solution is not to cache NSRunningApplication instances, but cache plain old process identifiers and lookup NSRunningApplication instance dynamically. When timer fired, the instance was already in some bad state and reported that process has been terminated (but it was not). I was caching NSRunningApplication instance to reuse it later. Ratings/Reviews Overall 0.0 / 5 ease 0.0 / 5 features 0.0 / 5 design 0.0 / 5 support 0. But for delay I did one technical mistake. And also to make it smarter: agent should check how old the app is and apply delay only if the app was just launched few moments ago. ![]() In 1.6.6 I decided to make injection event instant and implement this delay logic in TotalFinder.app (agent) which is responsible for sending injection events when you launch it (or relaunch it). the delay was effective every time, even for injection into already running binary.Another instance of /Users/daddy/Library/Application Support/.TotalFinderAgent. some applescript utilities expect TotalFinder to be ready after issuing injection event (not eventually after few seconds) 10:00:25.400 TotalFinder4830:507 Unable to acquire lock TotalFinder.This has been working pretty well, but there were two issues: They give binary some time (typically 2 seconds) because of some edge-case situations for example when binary has been just lunched during startup and is busy doing window restoration or similar init operation it is not good to mess around with TotalFinder swizzling at this point. Historically TotalFinder (and TotalTerminal) do not hook into Finder binary immediately after injection request. TotalFinder 1.15.0 for Apple Silicon and Intel macOS 13, 12, 11, and 10.15 Please note that TotalFinder is no longer officially supported by BinaryAge, and therefore bug fixes can be made only on a best-effort basis dear karen, yesterday total finder 1.14.1 worked very well. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |