Mac OS X Customization
Here are some utility tips, application settings and other tweaks that I find indispensable or that make my Mac OS X experience even more pleasant than it already is.
Feedback, corrections and suggestions to the material on this page is welcome.
This is of course all a matter of personal taste, so things that work for me might suck for you...
- Cool Utilities
- System and Application Settings
- A Few General Tips
- Useful Mac OS X Websites
- UNIX Customization
Cool Utilities
LaunchBar
Application and Document Launcher, USD 19.95
This is the single most important utility I use. You have to try this to experience how incredibly useful it is.
The utility stays active all the time and waits for you to press a hot key combination after which it displays a small tab in the upper right corner of the screen just below the menu bar. Then you enter a few letters that appear in the filename of an application or document that you wish to open, like ps
for Photoshop, ip
for iPhoto etc. This is a very effective way to launch programs and documents.
If you are a programmer, I highly recommend that you configure it so that it indexes the reference documentation for the programming languages and APIs you work with. I have it set to index the Sun Java API reference Javadoc and the Apple Cocoa API reference HTML files.
Now I can just hit Cmd-Space, type stri
, hit return and get the Javadoc page for java.lang.String which I use about a thousand times per day when I'm writing Java code...
http://www.obdev.at/products/launchbar/
LiteSwitch X
Program Switcher, USD 14.95
The authors of this utility really got it
how such an application-switching program has to look and feel on Mac OS X, it seems like it came straight from Apple.
LiteSwitch X activates via the usual Cmd-Tab hot key. It displays the running applications on a shaded horizontal bar that looks like the shaded background behind the loudspeaker symbol you see when you adjust the system volume. It also fades out softly like the volume display does.
There are some neat tricks, try these things to get the most out of it:
- Right-click (or Control-click) on one of the icons to get special functions (and a reminder of the shortcuts).
Switch & Hide Others
is my favorite. - Drag the small slider in the middle of the bar to adjust the size of the bar and the icons seamlessly (Make it smaller, the default is way too large).
- Read the instructions in the Preferences pane.
- Most important of all: memorize the keyboard shortcuts!
http://www.proteron.com/liteswitchx/
BBEdit
Text Editor, USD 119.-
BBEdit is a text editor, very useful for programmers, web developers, UNIX hackers etc. I spend most of my working day in this program.
On Mac OS X, it has excellent integration with the UNIX environment. There is even a companion command line tool called, surprisingly, bbedit. It allows you to open text files from the Terminal shell or to pipe the output of other commands into a new BBEdit window.
Shameless plug: Check out my character set conversion scripts for the BBEdit UNIX Filters palette if you work with ISO / UTF-8 / Mac encoding conversions.
If you write Perl, make sure to check out the Find in Reference...
command. It allows you to select a Perl language keyword or the name of a module like CGI
, and immediately view the corresponding perldoc documentation in a new BBEdit text window. This is so useful that you will probably want to define a hot key for this...
It is also convenient to edit protected system configuration text files with BBEdit because it can ask you for an administrator password to elevate your privileges when it discovers that you want to save a file to a place you don't have permission to.
http://www.barebones.com/products/bbedit.html
AutoPairs
Text Input Enhancement, Freeware
An ideal companion to BBEdit is AutoPairs. Here's what it does:
AutoPairs modifies the behavior of certain keystrokes, to help you keep paired characters such as parentheses properly matched. For instance, when you type a left parenthesis, AutoPairs will type the right parenthesis and a left arrow for you, so that you are ready to type what goes between the parentheses. This and other pair macros can be turned on and off individually.
I've been using it for a few minutes and I'm already hooked. It is a real time-saver when writing program code and markup like HTML / XML etc.
http://www.jwwalker.com/pages/autopairs.html
Silk
Haxie, Freeware
From the developers:
Silk enables the Quartz text rendering and smoothing introduced in Mac OS X 10.1.5 in all Carbon applications. This means antialiased text in Netscape, Mozilla, and many others. Why wait for developers to update their Carbon applications when you can get the silky smooth text everywhere, right now? And of course, Silk is completely free!
I simply cannot stand to look at Carbon applications without Silk any more after working with it installed for a while. Text in Carbon programs now looks as beautyful as it does in all the Cocoa applications.
Here's a before/after comparison:

http://www.unsanity.com/haxies/silk/
WindowShade X
Haxie, USD 7.-
From the same developers as Silk, this haxie brings back the window-collapsing feature of Classic Mac OS. I tried to work without this for a while but noticed that I really need it sometimes, especially when working in BBEdit with a huge number of text windows.
http://www.unsanity.com/haxies/wsx/
3-Button Optical USB Mouse with Wheel
Hardware, ~ USD 50.-
Mac OS X is really only half as much fun without a decent 3-button mouse with wheel. Personally, I use mice from Microsoft (IntelliMouse) and Logitech, I'm happy with both. The support for the wheel in OS X is really nice, most applications support it out of the box and I always miss the wheel when it's not there.
The same goes for the right mouse button, support for contextual menus is present everywhere in OS X. You're missing a lot with just one button and no wheel. Actually, I suggest that you pick up a mouse with more than 3 buttons, my Logitech has 4 and the Microsoft one has 5, you'll see why below in the next item.
USB Overdrive
USB Input Device Driver, USD 20.-
If you use one of the mice I suggested above, you could use the respective driver as they are now available by the vendors.
Because I switch the input devices a lot, I use the generic USB Overdrive driver instead. It allows you to configure precisely what actions you would like the various buttons and wheel movements to trigger.
Here's how I have my mouse configured, this setup is very comfortable:
- Left mouse button is obviously a single click
- A click on the middle button (i.e. the wheel, you can press this down, not just scroll it) is a double-click so I can open items in the Finder and in applications by just pressing the wheel once.
- The right / 3rd mouse button is a Ctrl-click which opens the contextual menu.
- The fourth mouse button which is under the thumb on both mice is mapped to Cmd-W so it closes windows. Very convenient.
- The fifth mouse button which is available on the Microsoft mouse is currently mapped to Cmd-click which opens links on web pages in a browser in a new window automatically. It also allows you to drag windows in the background by dragging their title bars.
TinkerTool
Utility for hidden GUI options, Freeware
This program allows you to enable/disable a lot of neat features which are present in the system but for which Apple does not provide an easy way to activate/deactivate them. This program is the missing GUI to these features.
Here are the settings that I changed from the Apple default:
- Dock: Enabled both options, transparent icons for hidden apps and dock shadow
- General: Scroll arrows
Together at both ends
- General: No auto play for audio and video disks
- General: Screenshot format: PNG
- Fonts: System Font Lucida Grande 12pt
- Fonts: Fixed Pitch Font Monaco 9pt
- Fonts: Application Font Helvetica 11pt
- Font Smoothing: Manipulate QuickDraw smoothing -> equal or greater than size 10pt
http://www.bresink.de/osx/TinkerTool2.html
StuffIt Deluxe
Compression / Conversion Utility, USD 79.95
This is the full version of StuffIt. The most important feature for me is the contextual menu plugin, this alone is worth its price. Close second is its ability to handle Windows and UNIX formats like .zip, .tar, .tar.gz etc.
My only complaint is that it still does not handle long filenames and corrupts some tar files with such names upon extraction.
http://www.stuffit.com/stuffit/deluxe/
Ittec
Contextual Menu Plugin, Shareware
This contextual menu plugin shows the contents of folders hierarchically if you right-click on one in the Finder, allowing you to navigate to any subfolder or open any document really fast. This is only one of its features though, there are lots more. My favorite is that components of path-menus (what you get when you Command-click on a Finder window title) each get their own sub-menus. Very difficult to describe which is why I suggest that you try it out for yourself...
http://www.balancesoftware.com/ittec/index.php
Pacifist
Package File Extraction, USD 20.-
From the developer:
Pacifist is a program that opens Mac OS X .pkg package files and allows you to extract individual files and folders out of them. This is useful, for instance, if an application which is installed by the operating system becomes damaged and needs to be reinstalled without the hassle of reinstalling all of Mac OS X.
This has proven to be very useful, also if you just want to check what a package is about to install onto your system.
DragThing
Application Launcher, USD 25.-
For me this is actually on the way out because of LaunchBar mentioned above, but it is a very nice program and I have been using it for ages starting long before Mac OS X...
Make sure to adjust it for a Mac OS X look, like in this example.
Also, I have set an activation hot-corner in the upper left screen corner. Now I can just throw
the mouse to the upper left corner and DragThing moves to the front above all windows.
I also still use it as a URL launcher.
Screensavers
Screen Saver Modules
I'm always looking for screen savers that show the capabilities of the graphics hardware, are tasteful and so stunning that you have to ask yourself, How did they do that???
.
Here are some of my favorites:
Flurry
Marine Aquarium
Solar Winds
Proteus
Instant Messaging Client, Freeware
This is an excellent Instant Messaging client which supports AOL, ICQ, MSN and more and is highly customizable.
Keyboard Maestro
Application Switcher, USD 20.-
Like DragThing, this is actually on its way out for me personally, because for application switching, LiteSwitch X looks just so much better and integrated with OS X. So I do not use its application-switching features anymore.
I still use it for another feature though: I have a hot key assigned to the function Hide Other Applications
. On my Swiss German keyboard layout there is one key that I did not use one single time in all the years I've been using Macs and this key was an ideal candidate for the function.
It's at the upper left corner, just above the Tab key:
I assigned this key, together with Cmd, to "Hide Other Applications" in Keyboard Maestro and use this combination all the time now, it is very handy when your screen is cluttered and you need quick access to the Finder desktop, for example.
http://www.keyboardmaestro.com
Open Terminal Here
Terminal Launcher, Freeware
This is actually another shameless plug because Open Terminal Here
is an AppleScript I wrote :-)
It is meant to be used as a Finder toolbar script:
If you click on it there or drop files or folders on its icon, the Terminal application will launch a session with the current working directory set to the folder whose contents the Finder window was displaying.
Quite useful if you work both in the GUI and in the Terminal a lot.
The opposite action, i.e. opening a Finder window of the current directory from within a Terminal window, can be performed by typing open ..
http://www.entropy.ch/software/applescript
Extensis Suitcase
Font Management Utility, USD 99.95
If you work with fonts a lot, this might be useful for you. I have heard of problems, but for me this program has been working perfectly all the time.
http://www.extensis.com/suitcase/
MacSFTP
SFTP Client, USD 25.-
If you have to transfer files securely to to other SSH hosts like a web server (even other Mac OS X hosts), you should check out this program.
The most important features for me in this program are its BBEdit integration and its ability to use my regular OS X SSH keys so I can login without passwords.
With the BBEdit integration, I can login to another machine, navigate to the file I want to edit, hit Cmd-E and the file opens in BBEdit. Every time I save it in BBEdit, the new version is transferred back to the remote host through MacSFTP.
It also behaves a lot like the OS X Finder so you'll feel right at home navigating through the remote file system structure.
http://pro.wanadoo.fr/chombier/
Everything by the Omni Group
Applications, USD 30.- to 60.-
The Omni Group creates awesome Mac OS X applications. I use the web browser OmniWeb, which renders web pages beautifully, all the time. I also use OmniOutliner to organize stuff and OmniGraffle to draw a wide variety of software and systems diagrams.
Every single one of these applications is a real joy to use, especially OmniGraffle...
http://www.omnigroup.com/applications/
JewelToy
Game, Freeware, Donation suggested
Last but not least I have to single out a game here to compensate for the gain in productivity caused by the other tools and tips on this page :-)
This one is particularly well suited to this task as it is highly addictive. It is a logical / board game, features beautyful Quartz graphics, a simple and interesting game idea, so all in all it is perfect thumb candy
...
http://www.aegidian.org/jeweltoy/
Pay for your shareware.
Make sure you pay for software you use, so the authors are encouraged to create more neat utilities like the ones mentioned above...
System and Application Settings
This section lists some configuration tips that have proven save a bit of time here and there...
Finder Toolbar
Take advantage of Finder toolbar scripts and aliases to often-used applications:
Stuff like a text or image editor (BBEdit and Photoshop in this case) or a web browser is always handy there. It allows you to quickly inspect the contents of some text file, or drop a jpeg image onto the web browser to view it, even if the file would open another application when double-clicked.
Dock
Here's how I organize my dock:
- Keep system-related stuff and utilities that always run like LaunchBar on the left side so the same things will always be at the same place. Examples are System Preferences, Clock with date display etc.
- I prefer the Clock application with the digital style to a menu bar clock.
- Apple's CPU Monitor has a feature to display CPU load in the dock icon, 4th item in the image.
- There is a Dockling (Dock extension) called
Network Statistics
that is very useful if you want to watch what's going on on the network or if you change network locations often, 5th item in the image. - The first item to the right of the divider line is my home directory (not shown here). This allows me immediate access to all my important document folders when I control-click / right-click on the dock icon. A real time-saver.
Terminal Preferences
Some tips on configuring the GUI aspects of the Terminal application. See the next section for UNIX tricks like the color ls or the automatic window terminal title setting.
- I have the font set to Monaco 9 and the background to 75% gray instead of pure white. Much easier on my eyes.
- The default window size is a bit larger than the default 90 x 24 (not in the image above, though).
- The default encoding has been changed to ISO-8859-1 instead of UTF-8. This will cause filenames in the local file system with special characters to appear wrong, but I need this far less often than I need the ability to view or edit a UNIX text file or move around in file systems of remote hosts (which usually use the ISO encoding).
A Few General Tips
This is a bit of personal OS X usage philosophy
, after working with this new OS you will get a feeling for what works for you, what doesn't and how the OS ticks
.
General tip: don't work against the system, make it work for you
Apple generally made sane choices. An example is the file system layout and where you should put things. First thing I used to do after a Mac OS 9 install was to organize all my data and applications according to my own structure. I don't do that anymore with OS X because the default places are really good to work with.
- Use the folder structure / folders in your home directory for what they were intended. You get many benefits which are not immediately obvious, like applications that work with pictures looking for and finding them in your personal
Pictures
folder etc. - Store applications in the system-wide /Applications directory or the Applications directory in your home directory. Don't create subfolders there. I think that some things will not always work correctly if the applications are in subfolders.
- If you install UNIX packages, keep them in a separate hierarchy like /usr/local (or /sw like the great Fink project uses). Don't mix your own installs with Apple's base OS packages.
- Avoid messing up other places on the hard disk if you can.
Keep Everything Important in Your Home Directory
If you store as much data in your own home directory as possible, moving to a new system will be easy.
I had to replace my laptop harddisks several times for various reasons (usually moving to bigger ones) and it was really painless every time, much better than with OS 9. Well-behaved OS X applications and the system itself usually support you by storing all personal settings, preferences and documents in your home directory.
I had to migrate these four things from the old to the new disk:
- My home directory
- Non-Apple applications in
/Applications - some stuff like StartuItems from
/Library - My UNIX software in
/usr/local
After I installed a fresh new system, I replaced the newly created empty home directory with the saved copy of the previous install. After a logout/login, everything was exactly like I left it in the previous OS install, including the clutter on my desktop.
I had to reset a few non-personal settings like network configuration etc., but everything else was back like before.
Often, you have the choice of installing things in either the system-wide /Library forlder or the personal one in your home directory. This is the case for screen saver modules or preference panes, for example. I always keep stuff like that in my personal folder so it moves with me when I have to reinstall.
It is impressive to see how all application settings including Finder and desktop appearance are exactly the same after you move your home directory to a newly installed OS X installation.
Use the services menu.
If you haven't already, check out the Services
menu from time to time to see what kinds of neat services your applications make available there. I have some very convenient items like Search in Google
, Open in OmniWeb
etc. Services usually operate on your current selection, which is probably text most of the time.
You can find specialized Service menu plugins on the net. My favorites are Text Wielder
, which offers all kinds of text manipulations, and Calc Service
, which does calculations with mathematical terms you have selected in your text:
Learn keyboard shortcuts.
Learn to use as many keyboard shortcuts as possible, especially system-wide ones and those in the Finder. Search for shortcuts
in the Mac Help.
My favorites in the Finder are
- Cmd-Shift-H to get to my home directory
- Cmd-Shift-A to get to the applications directory
- Cmd-Shift-G to get a
Go To
dialog. The coolest thing is that this dialog has shell-style filename completion, try to enter~/docand then hit the Tab key and hit return. Presto, yourDocumentsfolder :-) - Cmd-Up and Down to navigate in the folder hierarchy
Take a look at the command line environment
If you don't know UNIX yet, try to learn just a bit about the command line.
People often think the command line is a step backwards, but for many tasks a UNIX shell is a very powerful and efficient tool so try to learn a bit about it, you might actually like it :-)
I recommend a look at the "Terminal Basics" document and the "UNIX Overview" chapter of the Mac OS X Solutions Guidebook
to get started. A very, very good book
about UNIX is UNIX Power Tools
. I strongly recommend that you buy this book if you plan to work with UNIX. It's also a very good way to learn about the commands in the terminal and the philosophy and logic of UNIX.
Useful Mac OS X Websites
Here are some web sites which I visit regularly to keep updated on what's going on in the Mac OS X world:
- Mac OS X Hints is where I learn very cool new and undocumented tricks all the time.
- VersionTracker OS X Section constantly lists new OS X-native software releases. Even though the site is rather annoying to use after its recent redesign, the information is very valuable.
- macslash is a Slashdot-style web site for Mac OS users.
- apple.slashdot.org is the Apple area of Slashdot.
- osx.macnn.com has OS X-specific news and software updates
- Macintouch has daily news, many about OS X
UNIX Customization
This section lists some tips on improving the UNIX environment.
GUI Integration
This is where Apple's great GUI / command line integration really shows. There are some OS X-specific UNIX commands on the system. Try them all out and play around a bit to see how useful they are:
The open command allows you to open files and directories directly from the shell. If you open an HTML file it will open in the default browser, if you open a directory it will open in the Finder.
Use drag-and-drop from the Finder to a Terminal window to have the Terminal paste the full path to the file into the command line at the point where your cursor is.
The pbcopy / pbpaste commands allow you to copy to or from the system clipboard to or from pipes on the command line. This means that you can exchange data between GUI applications and command line tools in both directions.
For example, if you copy some amount of text in a word processor to the clipboard and you would like to know quickly how many words, lines and characters are in the text you copied, you can use the UNIX wc command to do the statistics:
pbpaste | wc
Another example: Check if a snippet of XML code, which you edit in a GUI program like BBEdit and copy to the clibpord, is well-formed by piping it to the xmllint program:
pbpaste | xmllint --noout -
This kind of communication also works the other way around; If you want copy a list all files in your Pictures folder:
ls ~/Pictures | pbcopy
Also note the tip regarding the bbedit command line tool above.
As always, the man command is your friend. Just type man followed by the command you're interested in to get more information.
SSH
If you use SSH to remote hosts with public key authentication, there is a nifty set of utilities that allows you to store the passphrase to your private key in the Mac OS X Keychain.
If you use this combination, you will never have to type in your SSH pass phrase but your key is secured nonetheless if the machine gets stolen for example (Make sure you use a screen-saver password and set the keychain to lock up automatically after some time of inactivity and after waking from sleep).
You need these programs in addition to what already comes with Mac OS X:
Then follow the instructions at http://www.progsoc.uts.edu.au/~mpf/macosx/sshlogin.html to tie it all together.
SSH hostname completions
I added these three lines to my .tcshrc file to get hostname completions for SSH.
It requires a two-line shell script called ~/bin/scp_completions:
Automatically Set Window Titles
Adding these three lines to your .tcshrc file will set the Terminal window title to something useful all the time:
setenv SHORTHOST `echo -n $HOST | sed -e 's%\..*%%'`
alias precmd 'printf "\033]0;%s @ $SHORTHOST\007" "${cwd}" | sed -e "s%$HOME%~%"'
sched +0:00 alias postcmd 'printf "\033]0;%s @ $SHORTHOST\007" "\!#"'
You see an example in the image above. This was inspired by a hint from someone on macosxhints.com and improved by Niko Nyman. Thanks to both...
This behavior is much more useful than the default, there are benefits you might not immediately think of, like the contextual-menu of the dock icon for the Terminal application. The meaningful window titles allow you to jump directly to the right terminal window when you have many open:
color ls
If you prefer the ls listing in color, you can get an ls binary that supports this at http://www.10k.org/jake/soft.html. I put mine in /usr/local/bin and alias ls to /usr/local/bin/ls --color in my .tcshrc file.
XDarwin
If you need X Window System suppport you should check out XDarwin / XFree86. This is an amazing piece of software and integrates very well with the Aqua system.
A screen shot of my setup is here, you can see X11 and Mac OS X windows side-by-side and even overlapping. The ugly ones are the X11 ones, as always :-)
