Archive for the ‘Leopard’ Category
Friday, March 26th, 2010
LaunchBar is a great ‘mouse-free’ utility for instantly getting to files, folders, URLs, music, addresses, and just about anything else on your Mac. Hit command-spacebar and start typing the first few letters of whatever you want – LaunchBar lists the choices that match and you just hit the return key to open or go to that item. I use it all the time and recommend it to everyone I know.
There’s a really handy way of including your recent and favorite folders from Default Folder X in LaunchBar’s index. After doing this, you can instantly access those folders from the keyboard using LaunchBar.
To make Default Folder X favorites and recent folders available in LaunchBar do the following:
- In your Default Folder X preferences, click on the Advanced tab and turn on “Create aliases of Recent Folders and Favorites in your Library folder”.
- In LaunchBar, choose Show Index from the Index menu. Click on the “Folder+” button in the toolbar to add a folder.
- Select the HOME/Library/Favorites/ folder.
- Once the folder is added, click on the Options tab for that folder and set Search Scope to “Search 1 Subfolder Level” and Search for “Folders”.
- Click on the Schedule tab and turn on the “Update automatically” checkbox.
- Repeat steps 2-5 for the folder HOME/Library/Recent Folders/
- Once you tell LaunchBar to reindex, you’ll have access to all of your Default Folder X favorite and recent folders.
Thanks to Gary Schelling for asking about this and jogging my brain 🙂
Friday, November 6th, 2009
So, Apple added this cool little capability to the Launch Services API in Leopard: LSSharedFileListAddObserver will call your observer function whenever there are changes in a number of different file lists maintained by Launch Services. One of those lists is the “Recent Documents” list in the Apple Menu. “Great!” I thought, “I’ll roll this into Default Folder X to ensure that it doesn’t miss any recently used folders.” It’s a simple API – what could go wrong? As a long time developer, I should have known better – if you EVER say this (even if you never even say it out loud), you need to poke yourself with something sharp and realize that the consequences will probably hurt quite a bit more than that. “What could go wrong?” indeed.
So yes, here I am apologizing for not having poked myself after I used LSSharedFileListAddObserver without asking more questions – or at least without testing more. Here’s how Default Folder X ended up using 60% of some users’ CPUs while doing nothing useful:
- DFX added itself as an observer for kLSSharedFileListRecentDocumentItems.
- The observer function got called by Launch Services because the user double-clicked a document in the Finder.
- DFX looked at the list, took the most recent entry in it (the first one), asked Launch Services for the URL of the document, and added the folder enclosing that document to its Recent Folders list.
Pretty simple, right? Yeah, I thought so too. This was tested thoroughly on Snow Leopard and performed fine, and all my Leopard testers reported that it worked well for them too.
So what’s the problem then? Well, there’s this little “issue”… If a user has a Windows server mounted on the Desktop, things get a little more interesting. Normally, when Launch Services calls your observer function, it hands you the file list and you ask for a copy of the list. The list itself is just a series of ID’s and references – to see what’s in an entry, you have to call LSSharedFileListItemResolve(). And that’s where the interesting part happened. On Leopard, if the shared file list item lies on a Windows server, the act of calling LSSharedFileListItemResolve actually results in the item being changed, so your observer function gets called again the next time you hit your event loop. The result of this is that you get called over and over again if you naively use LSSharedFileListItemResolve to get more info about the items that Launch Services is handing you.
So – the warning: If you use LSSharedFileListAddObserver to watch the list of recent documents, keep a copy of the ID’s from the previous call and ONLY call LSSharedFileListItemResolve if there’s a new ID in the array. Otherwise do nothing, or work off cached information – otherwise you’ll end up in an infinite loop, sucking down lots of CPU time. And if you’re doing anything that interacts with the filesystem, make SURE you test with SMB shared volumes too.
Thursday, November 5th, 2009
Saturday, June 27th, 2009
So I rolled a new preview method into Default Folder X’s system-wide menus in the menubar. Now, not only can you browse all of your files and folders through its quick hierarchical menus, but you can see file previews in little bubbles, like this:
And if you hover over the menu item for a few seconds, that little preview will expand into a large one so you can see more details. Just browsing my hard disk with this has turned up ton of images and documents I didn’t know I still had!
This and a slew of other improvements are in the first beta release of Default Folder X 4.2.1. You can download a copy here to try it out:
There’s a full change log in the Beta Read Me file, and usual disclaimers about it being a prerelease version apply (it may have bugs, etc). I’d love to get some feedback on both the menu item previews and the other improvements, so grab a copy, give it a try, and let me know your thoughts!
Tuesday, November 20th, 2007
Happy two-days-before-Thanksgiving! At least for those of you that live in the USA or for some reason share America’s penchant for excessive eating.
Here’s an update on new the look and feel for Default Folder X. Among many things, the buttons have lost their borders for better Leopard karma, fonts and alignment are correct now, and Scott’s been working his magic with the icon. Feature-wise, the previews are smoother, you can now see and change Finder labels in both Open and Save dialogs, and stuff just works like it should. There are also a lot of under-the-hood tweaks for Leopard. I’m happy with the features now and DFX 4 should be ready to roll after a couple more weeks of testing.
Speaking of which, I need a few more dedicated folks to nit-pick and test. If you’d like to get your mitts on a beta copy, drop me an email at firstname.lastname@example.org and let me know what kind of machine you’re using, whether you’re running Leopard or Tiger, and why I should listen to your opinions 😉 Sorry folks, but we’ve got enough testers now – thanks to all the folks that volunteered to help! The release will be next week (the week of December 10).
I’ll be heading out to Denver for the holiday, but toting my MacBook Pro as usual, so I’ll never be far from the net. Opinions, rants, and kudos are all welcome (I’m not saying I’ll heed the former, but if you’ve got valid criticisms, I’m never above changing my mind). And yeah, I actually do like turkey, and I really love the getting-together-with-family part of the holidays.
Oh yeah – and to reiterate my response to one of the comments in an earlier entry, if you buy Default Folder X 3.0.6 now, you get 4.0 for free. I’m not going to charge you an upgrade fee if you buy the software 2 weeks (or 2 months) before the new version’s released. That’s just mean.