Hacking, Coding and Gaming | @[email protected]

I've recently started using Mac OS X (Snow Leopard) - having just bought a MacBook - and there are few things about it I found annoying, and some functionality I was missing, so this blog post is an attempt to list the "hacks" I've made to get Mac OS X doing what I want it to.

There are plenty of "obvious" customizations (disabling the middle mouse button from showing the dock, changing the default text selection colour, etc) that I'm sure you can figure out on your own. So here goes:

  1. Launchy - I'm not sure what the appeal of "Quicksilver" is, maybe I should give it a try sometime, but I've been using Launchy in Windows for ages and can't live with out it - it's like "Spotlight", only much better. If you're going to use Launchy, you may as well disable Spotlight and save on some processing (it scans all new files and extracts "metadata" for it's search results).
  2. RightZoom - When I "maximize" a window, I want it maximized... full screen... not to some size Mac OS determines based on how much content there is in the window. This app fixes Mac OS's "green button" to maximize windows to full screen.
  3. Dock Dodger - Some applications (such as "Launchy", in my case) display an icon in your dock when they really don't need to... this app prevents applications from doing this. You can also make these changes to an app manually by following these instructions.
  4. xGestures - A Mac version of "StrokeIt", which lets you setup "gestures" (basically drawings with your mouse) to do various things from opening applications/sites to controlling iTunes. My main use for it is minimizing, maximizing (see script below) and closing applications - much faster than moving your mouse to the other side of the screen and clicking a button.
  5. "Maximize" script - An Apple Script for maximizing the active window, I use it with xGestures, but it doesn't seem to work with "RightZoom" (it does a regular "calculated size" maximizing, not fullscreen).
  6. Symlinks - This a console command, in most *nix operating systems including Mac OS X, which allows you to create a link to another file or folder somewhere else on your system. With it you're able to "redirect" where files are saved - most applications store their settings in a specific location. Using symlinks I have all my applications with saved passwords (eg FireFox and FileZilla) reading and writing their settings to an encrypted TrueCrypt container, which is a really good thing if ever my MacBook gets stolen.
  7. BetterTouchTool - I found this program while looking for a way to enable "window snapping", which it asks you if you want to enable at the start of the installation, but I must say my windows don't seem to be doing much snapping. It still has a ton of other useful features, such as Windows 7's "snapping" a window to quarter/half screen depending where you drag it to, and a bunch of extra touchpad options.
  8. Fixing "Screen Sharing" - While it may appear as simple as ticking this box in "Sharing" (under "System Preferences"), I wasn't able to connect to my MacBook after doing this and instead got an error saying "Incompatible Version" with my VNC client. The forum post linked to explains how to fix all of that - it's a bit lengthy, but works. You might need to enable your root account and then "su" (switch to the "root" user - just make sure to "exit" when you're done) to execute the commands.
  9. ControllerMate - Although I haven't used this yet, it's meant to be like AutoHotkey (for Windows, which I've used often), which makes it easy to write powerful scripts to automate stuff and control stuff.
  10. scplugin - TortoiseSVN for Mac... doesn't work quite as well in Snow Leopard as it does in Windows (you have to install a toolbar item) - an essential. In case you're having problems with a certificate, read this.

I'll probably update this list on my quest to make using Mac OS X more efficient and enjoyable.