Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Directly access System Preference panes in the Dock System
As of OS X 10.5 at least, dragging a preference pane into the right (Documents) side of the Dock will allow direct access to that preference with a single click. Drag any preference pane from /System » Library » PreferencePanes or /Library » PreferencePanes, and drop it into the dock. Click it, and System Preferences will open with that pane active.

I use this for a connection utility for a wireless USB modem (that has been implemented as a preference rather than an actual app). So I click the pane, then use the Connect button to activate the 3G modem. This is more logical than opening preferences.

This is close to, but not exactly the same, as several previous hints on this topic. I don't know when it became possible, as I only have one Mac and its OS is kept up to date.

[robg adds: The preference panes are now basically like mini applications -- you can place them in the sidebar or toolbar, and if double-clicked in the Finder, that pane will open in System Preferences. For those still running 10.4 or 10.3, can you do this on your Macs? I don't believe this has always been possible, but maybe it has...]
  Post a comment  •  Comments (19)  
  • Currently 2.17 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (6 votes cast)
[19,158 views]  View Printable Version
Set default startup volume from boot volume screen System
When you start up a Mac holding down the Option key, the boot volume menu appears on the screen -- this shows all bootable volumes on the screen, making it simple to boot from any volume in your Mac.

You can also, it turns out, set the default boot volume (the volume that will boot when you don't hold the Option key down) from this screen. To set the default start-up volume, press Control and click on an arrow under the volume of your choice. When Control is pressed, the upward arrow turns into a circular arrow, denoting the persistence of the choice.

Note that I have tested this on only the newest iMac and MacBook Pro.

[robg adds: This trick did not work on my November 2006 (2.33GHz Core 2 Duo) MacBook Pro.]
  Post a comment  •  Comments (15)  
  • Currently 3.10 / 5
  You rated: 1 / 5 (10 votes cast)
[57,653 views]  View Printable Version
Reset the screen position of the Character Palette System
When you connect an additional monitor to your Mac, and then drag the Character Palette (opened via the Input Menu icon in the menu bar) to that screen, you may end up in a situation where the Character Palette's top bar is off the top of your Mac's main display after you disconnect the external monitor -- making it impossible to move.

To reset the position of the Character Palette, type killall CharPaletteServer in Terminal, then press Return. The next time you bring up the Character Palette, its position will be reset.
  Post a comment  •  Comments (1)  
  • Currently 1.57 / 5
  You rated: 2 / 5 (7 votes cast)
[7,749 views]  View Printable Version
Encrypt Mail, Address Book, and iCal data System
Like many of you, I keep lots of personal information on my laptop that I would like to keep private in case I lose physical control of the computer (theft, or more likely these days, sudden seizure by the government).

There are a few ways to accomplish on-the-fly encryption with OS X, of course, but none of them really fit my needs. FileVault has not been known to be exceptionally reliable (although I've never tried it in Leopard) and is totally unconfigurable. Whole disk encryption is a little overkill for me, so I don't feel like eating the CPU overhead that it entails. On the other end of the spectrum, casual security like an Open Firmware / EFI password, and a strong login password are easily defeated, and only deter those with no interest in your data anyway.

What I really want is a way to encrypt just a certain set of private data (like my email in, contacts in Address Book, and calendars in iCal), with as little inconvenience as possible. The best solution? How about an encrypted sparse disk image that mounts and unmounts on login/logout? With symbolic links in the proper places, Mail, Address Book, and iCal are none the wiser, and you can be reasonably assured that your private data will stay secure.

Note: This process is a little involved. Compromises can be made, however, and the general method is valuable, so read on!
read more (1,025 words)   Post a comment  •  Comments (19)  
  • Currently 2.64 / 5
  You rated: 5 / 5 (11 votes cast)
[37,141 views]  View Printable Version
A script to install all required Software Updates System
After a version of OS X matures, it can be a pain to sit through several rounds of updates if you need to rebuild a machine from scratch. You install one set of updates, the machine restarts, and then the next set of updates pops-up. After a few cycles, this gets really old.

To work around that problem, I created a shell script that runs Software Update, installs all available updates, reboots, and repeats the process until there are no more updates left.

# This script will run softwareupdate, install all available updates, reboot and repeat
# until no more updates are available. It must be run as root.
# To use in its current form, name the script and put it in /Library/Management.
# Tested in both Tiger and Leopard.

if [ -e /Users/Shared/.initswupd_inprog ]
    # If the 'updates in progress' marker is there, run the updates.
    # Temporarily prevent machine from sleeping.
    pmset -a sleep 0 force
    # Install all available software updates.
    softwareupdate -ai
    # Run softwareupdate again to see if there's anything left.
    # Softwareupdate returns 3 lines if there are no updates.
    if [ `softwareupdate -l | wc -l` -le 3 ]
        # If there are no more updates available, clean up the marker, launchdaemon and login window text.
        rm /Users/Shared/.initswupd_inprog
        rm /Library/LaunchDaemons/
        defaults delete /Library/Preferences/ LoginwindowText
    # If the 'updates in progress' marker is not there, prep the machine.
    # Create the marker file so the script knows to keep going.
    touch /Users/Shared/.initswupd_inprog
    #Set the loginwindow banner to warn people not to use the machine.
    defaults write /Library/Preferences/ LoginwindowText "Software updates are currently being installed on this computer. Please do not attempt to log in until this message is gone."
    #Put the daemon in the LaunchDaemons folder, so the script runs again after reboot.
    plistfile='<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "">\n<plist version="1.0">\n<dict>\n<key>Label</key>\n<string></string>\n<key>ProgramArguments</key>\n<array>\n<string>/bin/sh</string><string>/Library/Management/</string>\n</array>\n<key>RunAtLoad</key>\n<true/>\n</dict>\n</plist>'
    # Writing the LaunchDaemon plist file must be done differently in Tiger than Leopard
    osversionlong=`sw_vers -productVersion`
    if [ $osvers -eq 4 ]
        # Tiger
        echo -e $plistfile > "/Library/LaunchDaemons/"
        # Leopard
        echo $plistfile > "/Library/LaunchDaemons/"
# Reboot
shutdown -r now
[robg adds: I haven't tested this one yet, but I've got it marked for the next time I go through this process. To make it work, remember to make it executable: chmod a+x Update: Please read the comments for more-thorough installation and usage instructions.]
  Post a comment  •  Comments (33)  
  • Currently 2.50 / 5
  You rated: 3 / 5 (12 votes cast)
[30,713 views]  View Printable Version
Create a Services-based application launcher System
The services menu is available in every application, although the options within it are only available when copy or paste are active (depending on whether the service takes input, produces output, or both). Because this menu is nearly always accessible, it is possible to assign a shortcut to an item in it that will almost always be accessible. This method is not always available, but the upside is that there is not third party daemon always running in the background listening for keys.

In this example, the shortcut starts the screensaver, but it would be equally simple to start an application. To make this work, you'll need the donationware application ThisService, which creates a service from any script.

Open the Produces output.scpt from the AppleScript starting points that come with ThisService. The 'produces output' means the application is available without having something selected to copy. Insert the desired AppleScript code between on process() and end process, and save it (probably as a new name in a new location). In this example the whole script will look like this:
on process()
  tell application "ScreenSaverEngine"
  end tell
end process
Open ThisService, name your service, pick the script you created, select 'Produces output,' and assign your shortcut. (I used F6, which would not work from ThisService, but you can assign it later through System Preferences.) Now just make sure the focus is somewhere that would accept pasting, and test your service.

[robg adds: I haven't tested this one.]
  Post a comment  •  Comments (3)  
  • Currently 1.50 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (6 votes cast)
[6,945 views]  View Printable Version
Move cursor without moving zoomed-in screen System
The zoom tool (Control and mouse wheel scroll) is normally set to follow the mouse, but sometimes I want both a zoomed-in Flash window and no cursor in the way. In addition to the methods noted this hint that basically hide the cursor, I came across one probably bug-borne trick which allows one to move the cursor without shifting the screen.

First, you zoom in just a little bit, then wait. After a brief delay, the zoom feature will give up and pop back to regular full-screen mode. (The keyboard zoom shortcut, Command-Option-plus, zooms too coarsely to do this -- you must use Control and the mouse wheel.)

After that, zoom back in heartily, and the screen will not doggedly track the mouse anymore! Zooming in and out is still biased by the mouse position, so you can walk the screen a little bit, if need be. Zooming fully back out returns you to normal behavior. 2br Another way to move the cursor while in zoomed mode without shifting the screen is with a four-button mouse. On any mouse with more than three buttons, you can hold down an extra button, and move the cursor without shifting the zoom display.
  Post a comment  •  Comments (9)  
  • Currently 2.90 / 5
  You rated: 4 / 5 (10 votes cast)
[13,642 views]  View Printable Version
Use OpenStep's Ni.snd in OS X System
I had OpenStep running in a virtual machine for quite a long time before I got the idea to extract and convert the Ni.snd to something that OS X can play back.

For those who don't know: OpenStep had many of the same system sounds found in today's OS X. However, OS X lacks the most important one from OpenStep -- it's the "Ni" sound from Monty Python's Knights who say Ni. This hint presupposes that you have access to an OpenStep installation, as I don't know if the sound was included with NextStep.
  1. In OpenStep, find the sound file, which is located at /NextLibrary/Sounds/Ni.snd
  2. Somehow, move the file over to your Mac. Since I use a virtual machine, I first tried to use NFS for that, but failed miserably. So I installed OmniWeb 3 and mailed the sound file to myself. Astonishing that the webmail site (GMX) even worked in the old browser, but it did!
  3. On your Mac, put Ni.snd in /System » Library » Sounds (authentication required!).
You can now select Ni in System Preferences » Sound, and enjoy the greatest warning sound ever made!

[robg adds: I would save the file in either the top-level Library » Sounds folder, or my user's Library » Sounds folder, instead of in the System folder. Sounds added to either spot should be visible in the Sound System Preferences panel. I'm sure enterprising readers could use a web search engine to find a "Ni" sound effect file without having to first install OpenStep in a virtual machine. The general version of this hint is that it appears any ".snd" file from OpenStep (and probably NextStep) works natively in OS X.]
  Post a comment  •  Comments (7)  
  • Currently 1.67 / 5
  You rated: 1 / 5 (6 votes cast)
[8,978 views]  View Printable Version
Change the icon used for zipped files System
If, like me, you find the default white zip file icon in 10.5 bland and boring, then it is quite easy to change it if you are using the built-in Archive Utility:
  1. Open up Finder and go to /System/Library/CoreServices.
  2. Find the Archive Utility, Control-click on it and select Show Package Contents from the pop-up menu.
  3. Navigate into Contents » Resources.
  4. Make a backup copy of bah-zip.icns (or any of the other compressed icons you'd like to change) by dragging the file to a folder in your user's home folder. The system will create a copy.
  5. Find an icon you'd like to use, and copy it into this folder, renaming it to bah-zip.icns. I chose to copy the nice green bah.icns file from this same directory, renamed it to bah-zip.icns, and then copied it back in. (You will need to enter your admin password to modify this folder.)
  6. Restart Finder or logout/login, and you will now have a nice customized zip icon for all your zip files.
[robg adds: As you're modifying a system-owned file, future system updates may overwrite your changes, of course. I haven't tested this one. If you're using 10.4, this hint should also work, though the name of the program to modify is BOMArchiveHelper, not Archive Utility. I haven't tested this one.]
  Post a comment  •  Comments (1)  
  • Currently 2.64 / 5
  You rated: 3 / 5 (11 votes cast)
[12,298 views]  View Printable Version
Manage the periodic logs System
There has been some discussion here about the periodic maintenance tasks and making them run:

10.4: Reschedule periodic maintenance tasks
A simple shell script to run system maintenance tasks

What hasn't so far been addressed is the logs themselves. I got very interested in these as I suddenly (under 10.4) couldn't account for 5GB on my hard disk. It turns out that the primary culprit was the daily.out log file that had simply grown out of all proportions. The periodic logs are never cleaned up, and thus just grow in size each and every time the periodic maintenance tasks are run. For example:
[21:02:42@/]$ ls -alOFG /private/var/log/*.out
-rw-r--r--  1 root  wheel  - 509376 17 Jul 03:15 /private/var/log/daily.out
-rw-r--r--  1 root  wheel  -    676  1 Jul 07:52
-rw-r--r--  1 root  wheel  -  10023 12 Jul 03:25
I did a clean install of 10.5 Leopard in November 2007, so in a little over half a year, the daily.out log has grown in size to 0.5GB. So in the time before 10.6 Snow Leopard comes out, it'll grow to about 1.5GB in size. I do know that hard drive space is cheap these days, but still...
read more (188 words)   Post a comment  •  Comments (10)  
  • Currently 1.78 / 5
  You rated: 5 / 5 (9 votes cast)
[14,959 views]  View Printable Version