Apologies if I have any terminologies or understanding wrong… I am new to coding… but eager to learn
I would like to make a custom finder app that works seamlessly alongside finder:
e.g. click on my app >> it opens a new window that is like a finder window but has a custom view,
(but everything else is like finder toolbar, sidebar)
…once that window has been created it then belongs to Finder…
Can something like this be done by either:
applescript/objc – tell finder to create a window but with a custom view element (maybe NSView) embedded.
xcode/objc – create my own finder looking xib file (that inherits Finder text size prefs) then when window is created it passes ownership over to finder
use a finder window but superimpose custom view elements over it?
There may be other ways of achieving something like what I would like but I just don’t know how to go about it yet, so any suggestions would be most welcome.
What you ask sounds to be like PathFinder (the Finder replacement app at http://www.cocoatech.com/pathfinder/). I’ve also seen a finder “extension” that puts tabs on Finder windows. But those are fully objective-C apps and they definitely do some seriously low level C functions and (maybe) use private Apple APIs. Unsanity had their Windowshade and LabelsX apps that hacked into the Finder runtime, but they had some serious expertise in programming and hacking Apple frameworks and live system resources. It’s not stuff a programming novice could do without many years of experience.
What exactly do you need this window to do that is different from the Finder? You are going to have to define exactly what it is that really needs to happen.
There is not a way to “pass ownership” to another app. Either your app contains a view, or it doesn’t. There is no way for the Finder to control, natively, some other app’s window. So your XIB will always be your app. You might do some tricky things to get information about files from the Finder and then transfer that data to your window/displayed items.
I’d suggest keeping your one or two custom functions well defined and simple. You’ll probably only want to support a list/table view. Drag and drop can be tricky so it won’t really work quite like the Finder at first. So don’t expect your app at first to be “just like a Finder window” but make it do what it can and slowly add other functions. For example, at first maybe you perform most actions via selections and buttons, but later add drag and drop to a view.
Thank you SuperMacGuy for your post, I had forgotten about pathfinder and have seen the finder extension that you spoke of…
Thanks for clarifying that there is no way to pass ownership to another app… and your XIB will always be your app.
this has helped me to go in another direction. eg. design my window and just use applescript to do something in finder first.