EDIT: There is now an even easier way to control Launchpad contents! <- Click
Frustratingly the current implementation of the ‘LaunchPad’ in OS X Lion (10.7) seems to have one or two fairly major pit falls. One of which really frustrated me until now. On day of released I downloaded and installed Parallels Desktop 6, which the LaunchPad decided it would try and help and ‘dump’ all of the Windows App’s in the LaunchPad. Which would have been fine, however after I removed Parallels Desktop 6 trial all the Windows app’s where left orphaned on the LaunchPad.
Now users of the LaunchPad will already be aware that removing apps from LaunchPad isn’t easy unless the apps where installed via the AppStore.
But – if you are willing to dip your toe’s in SQL water you can remove the apps ‘manually’
First of all you will need a good SQL database editor. I have been using SQLite Database Browser for my iPhone app development. So grab a copy of that – and pull up your socks!
For the next part, you will either need to unhide the hidden folders and files, or open finder and use the ‘Go To Folder’ menu option to launch the hidden Library folder..
Once inside the folder locate the ‘Application Support’ folder, then inside there the ‘Dock’ folder. You should see a file with a pretty random name, and a .db extension. Create a backup of this file and copy the file into another folder such as you desktop, or your documents.
Now, launch the SQLite Database Browser you downloaded earlier, and open the .DB file from your documents folder.
The database contains a collection of tables, the important one we will be working with are:
- Items – Each item on the LaunchPad is listed in this table
- Apps – Each application(parent) is listed in this table
Now, click on the ‘Browse Data’ button and change the table name to ‘apps’. Navigate down the table and find the title of the application you would like to remove from the LaunchPad, once you have found it make a note of the value in the ‘bundleid’.
Now, select the Execute SQL button and copy and paste the SQL below into the window.
DELETE FROM `items` WHERE `rowid` IN (SELECT `item_id` FROM `apps` WHERE `bundleid` LIKE ‘bundleidhere‘);
DELETE FROM `apps` WHERE `bundleid` LIKE ‘bundleidhere‘;
Replace the green bundleidhere text in the pasted code with the value you made a note of earlier. So for my example I wanted to get rid of anything Parallels had left behind, so my SQL code looks like:
You may notice the % symbol in my code, this essential means remove an apps who’s bundleid starts with com.parallels.winapp – which captures all of the Parallels apps.
Once you have made the required changes, click the ‘Execute Query’ button. If all is well the ‘error message’ filed should read ‘No Error’. Now you can press on the Save button and close down the SQLite app.
Copy the .db file back into it’s original location (~/Library/Application Support/Dock), making sure you keep a copy of the original, just in case.
You will now need to relaunch the Dock in order for the changes to take effect. You can do this by either logging off and back on again, rebooting, force quitting or using the killall dock command in the terminal.
That’s it.. All being well your LaunchPad should now be free of the offending applications! Hopefully in the next OS X update this issue will be addressed and will be slightly more straightforward.