Totalfinder latest version9/4/2023 ![]() ![]() I was trying hard to save the situation, but it is probably too brutal to relocate NSViews from main Finder window into hostile windows. This brutal transplantation caused Finder to die quickly. I tried a technique of relocating NSViews from temporary Finder windows to tab contents. For example I’m operating on Cocoa level by talking to OSX on Finder’s behalf. Understanding both sides and at interesting points faking what OSX is telling to Finder and altering what Finder is doing to OSX. Remember? I don’t have source code of Finder, so I basically need to act as a middleman between OSX and Finder.app. In case of TotalFinder I wanted to render inner contents of original Finder windows. In the case of Chrome, tab contents are obviously web pages rendered by the webkit. In the Chromium implementation every new tab has it’s content area realized as a NSView. It wasn’t clear to me how could I possibly do it. The next big task was to integrate tabs implementation with Finder. Tabs transplantation with Finders as child windows Kudos guys! By the way Alcor, the guy who invented Visor and QuickSilver, is also working on mac-specific features of Google Chrome. People working on it earned my full respect. I was really surprised how clean and well-documented the Chrome code is. I’d like to thank Google who made this all possible. After few evenings I’ve got working skeleton app with blank tabs. I’ve spent few days stripping dependencies and isolating functionality I needed. I took their main browser window implementation and also components implementing tabs and extracted them from the main project. I’ve studied briefly their codebase and it looked like a promising path to follow. Luckily enough, there is a great state-of-the-art open source tabs implementation in the Chromium project available. But I’m not afraid to search the internet and get deep into problems I happen to be exploring. I’m quite new to Cocoa and I’ve never implemented such a complex UI element in Cocoa before. Obviously this is a hard task, but so exciting. ![]() I had an idea of bringing tabs experience into Finder back in November 2009. Tabs gently ripped from Google Chrome project The next expiration date is set to Januand it will be probably maintenance release to iron out all problems introduced in this ground breaking update. ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |