Mac OS X Hints
Use Exposé to Work on One Window at a Time
Do you routinely have lots of applications running with dozens of open windows? Ever have trouble focusing on the task at hand due to the plethora of background windows covering your screen? Or do you just miss seeing your desktop picture occasionally? If so, try this method of window isolation, courtesy of Exposé.
First, activate the specific window you’d like to work in, and minimize it to the Dock. Next, press F11 to activate Exposé’s Desktop mode. You’re now staring at an empty screen, ready for the final step: click on the window you minimized to the Dock. The window will expand from the Dock, but nothing else will come with it—not even if you have other windows that belong to that same application. You now have a single-window focused view, with the rest of your windows hiding nicely off the edges of the screen. When you want all those windows back, just press F11 again.
Test for Corrupted Preference Files
Although OS X is a rock-solid operating system, applications may still crash for seemingly random reasons. One prevalent cause of application instability is a corrupted preference file—if an application can’t read its preferences, or reads bad information, it may decide that crashing is the easy way out of its troubles.
Most OS X application preference files are stored in XML format, which makes it relatively easy to tell when a file has been corrupted—if the structure of the file doesn’t meet XML standards, then it’s most likely corrupted.
Recently we told you about an app, called Preferential Treatment (; Mac Gems, August 2004), that can check your preferences. But if you’d like to run the commands yourself, launch Terminal and type
sudo plutil ~/Library/Preferences/*.plist(to check preferences in your user directory) or
sudo plutil /Library/Preferences/*.plist(to check preferences at the root level), type your password when prompted, and press enter. The plutil program will test each .plist preference file (files ending with .plist are supposed to be XML files) and report any errors it finds. If each .plist file listed is followed by the word OK, everything is fine. If Terminal displays any errors, you may want to move the suspected preference file to the desktop and then relaunch the associated application so it can create a new preference file.
Tab to All Fields in Mozilla and Firefox Forms
Although Safari is now the dominant browser for OS X users, there are a number of excellent alternatives. Two of the best are Mozilla and Firefox (both available at www.mozilla.org ), which offer greater customization and control over your Web-browsing experience than Safari does. However, the first time you use one of these browsers on a Web form, you’ll probably be surprised to find that using the tab key doesn’t take you to every field and pop-up menu on the form—so you must reach for the mouse to handle the pop-up menus. Especially on long forms, this can be a real waste of time, as you move from mouse to keyboard and back again. Luckily, there’s an easy (albeit somewhat obscure) way to change this tab behavior on forms.
Launch either browser, and type
about:configinto the URL bar. When you press return, you’ll see a long list of odd-looking names and values (see “Power Tabbing”). These are various user-controllable preferences, the majority of which are not accessible via the programs’ preferences. The accessibility.tabfocus variable is the one you need to modify. Double-click on that row, and a small dialog box will appear, showing the variable’s name and a text-input line. Select the input line and type
7; then click on OK. You should see your new value reflected on the about:config page.
So what did you just do? The default value of 1 means “tab to just text controls,” while 7 means “tab to text controls, other form elements, and links.” From now on, the tab key will select everything on a form, along with any hyperlinks on the page. If you’d rather not also select the links with the tab key, change the 7 to a 3, which means “tab to text controls and other form elements only.”
How can you learn more about these variables, their effects, and their various possible values? There aren’t any definitive references on the Web, but a good starting point is the Other Useful Preferences section of the Customizing Mozilla page: www.mozilla.org/unix/customizing.html#prefs.
From there, if you’re still interested in learning more, you might try doing a Web search for the term mozilla prefs.
Contributing Editor Rob Griffiths is the author of Panther Power User (O’Reilly, 2004) and runs the Mac OS X Hints Web site.
Sidebar: Disable Certain iChat AV Emoticons
Emoticons are those cute little faces you use in iChat AV to add emotion to otherwise boring text-only conversations. Although they’re quite useful, sometimes they get in the way—try sending someone a lettered list, such as “A) Do the first task, B) Do the next task,” and you’ll find that your “B)” gets replaced by a sunglass-wearing smiley face. Here’s how to stop that from happening.
Quit iChat AV, and then go to System: Library: PrivateFrameworks: InstantMessage.framework: Versions: A: Resources. Highlight the English.lproj folder inside and select File: Get Info. Click on the triangle next to the Ownership & Permissions section, and then click on the lock icon next to the Owner pop-up menu (to see the menu, you may need to click on the triangle next to Details). You’ll now be able to click on the Owner pop-up menu. Change its setting from System to your user name (enter your password if asked). Leave this window open; you’ll use it again later.
Back in the Finder, open the English.lproj folder, select the SmileyTable.plist file, and press Command-D to duplicate the file (as a backup). Now drag and drop SmileyTable.plist onto your favorite pure text editor, such as TextEdit or Bare Bones Software’s BBEdit.
If you’re using TextEdit, press Command-F for Find, type
B), and press enter; TextEdit will jump to the section of the file that controls that emoticon’s shortcut (see “Say Cheese”). The
arraysection contains the various keyboard combinations that will create the shortcut named Cool; as you can see, there are four, including the troublesome
B). Delete the entire line that contains the
B)entry, and save the file. TextEdit may warn you that you’re trying to modify a write-protected file, but it will also provide an Overwrite button in that dialog box, so you can save the file. Quit TextEdit and return to the Get Info window you left open. Click on the Owner pop-up menu again and set the Owner back to System (provide your password when asked). Click on the lock icon to lock everything up again, and close the window.
Restart iChat AV, and you should find that you can now send your lettered list to anyone you want; even though the smiley is still defined in the recipient’s smiley table, it won’t be sent, because it hasn’t been converted on your Mac. You can do the same with any of the emoticon shortcuts by finding and deleting them from the same SmileyTable.plist file. If you ever want to go back, just delete the altered .plist file, and rename the duplicate by deleting the word copy from its name.
Sidebar: Unix Tip of the Month
Have you ever wanted to get the result of a Unix command (
ls -al, for instance) into a TextEdit document for further editing? The standard Unix solution is to use the redirect symbol (
>) to send the output from the command into a file (
ls -al > /Users/ username/somefile.txt), and then open that file with TextEdit. The OS X Unix system, though, includes a handy shortcut: the
open -fcommand. The
-fflag tells Terminal to take whatever data was passed to the
opencommand and display it in a new TextEdit document.
So to get a listing of your Home directory, open a new Terminal window (which guarantees that you’ll be in your Home directory), and type
ls -al | open -f. The vertical bar is the pipe symbol, and it tells Unix to send the output of the command on the left of the pipe to the command on the right of the pipe. When the command finishes running, TextEdit will open and display the files in the top level of your Home directory.
If you want to see everything in every folder in your Home folder, use the previous command, but change
ls -alR. The
Rat the end means “recursive”; it will force the
lscommand to navigate into all the subfolders in your Home directory and list their contents. Depending on the size of your directory, this can take quite a while to run. But when it’s done, you’ll have a new TextEdit document showing the file name, date, size, and ownership of every single file and folder in your Home directory. You aren’t restricted to using
ls, of course; you can route the output of any command into TextEdit by using the pipe symbol and
open -f. Power Tabbing: When you enter about:config in Mozilla or Firefox, you get access to hidden variables, such as this one for changing tab behavior.Say Cheese Emoticons are useful for conveying emotion, but sometimes they get in the way. You can block those you do not want with a little change to the SmileyTable.plist file.