oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

Modifying Stickies

by Erica Sadun, author of Modding Mac OS X

One of the great things about Macintosh is that whatever you see, download, or buy isn't necessarily what you have to live with on a day-to-day basis. Since the good old days of ResEdit, ardent Mac enthusiasts have diced, sliced, and julienne-fried their applications to customize their look.

Did a dialog box offend your artistic sensibilities? A few minutes in ResEdit would update that box to a newer, fresher presentation. Not happy with your icons? ResEdit let you edit the bits. With ResEdit, users could move around buttons, change sounds and pictures, edit text, and more.

OS X continues this grand tradition and expands upon it. Not only can Mac enthusiasts modify an application's look, but we can also actually change the way it works. OS X's Interface Builder, part of its Xcode development suite, provides all the tools you need to go beyond. With Interface Builder, you can accomplish the unthinkable. It lets you customize existing applications in ways that ResEdit users never dreamed of. If you think that customizing an application interface involves nothing more than moving a button into a new position or resizing a screen, think again.

In this article, you're about to learn how to update your Stickies application to give it abilities that its authors probably never considered.

Getting Ready to Hack

You're about to perform some weird and wonderful hacks on your Stickies application. Before you get started, there are some preparatory steps you need to do first.

  1. Make sure you've installed the Xcode Tools on your Mac. The easiest way to see if you have the Xcode Tools installed on your Mac is to open a Finder window and click on your primary hard drive's icon in the Sidebar. If you see a folder named Developer, Xcode is installed. If not, you'll need to install the Xcode Tools.

    The Xcode Tools can be found on a separate disc that comes with Mac OS X Panther. You must install the tools to add the developer environments, documentation, applications, and utilities, all of which gets placed in the Developer folder.

    If you can't find the Xcode Tools CD (also called the Developer Tools CD), the tools are freely available from Apple's developer website: The Xcode Tools download is about 350 MB, so you'll need a fast connection and a little bit of patience to get it all down. Be prepared to spend a little time signing up for a (free) Developer Connection account.

  2. Open a new Finder window and go to the Applications folder (Shift-CMD-A gets you there the fastest), and then select the Stickies application.

  3. Related Reading

    Modding Mac OS X
    Extreme Makeovers for Your Mac
    By Erica Sadun

  4. Create a copy of the Stickies application by choosing File -> Duplicate (CMD-D) from the menubar. This creates an exact duplicate of the Stickies application and saves it as "Stickies copy" in the Applications folder. You'll need this copy to restore Stickies to its original version once you're done with this article.

  5. Drag Stickies into your dock. This will provide quick access to the application as you work through the steps in this article.

  6. In your Finder window, change folders to your home directory (Shift-CMD-H) and then into the Library folder beneath it.

  7. If you've ever used Stickies before, you'll find a StickiesDatabase file in your ~/Library folder. (If you've never used Stickies before, feel free to skip to the next step.) Select StickiesDatabase and choose File -> Duplicate (CMD-D) from the menubar. This duplicates your Stickies database (to the "StickiesDatabase copy" file). This will allow you to return to your current set of Stickies after making any mods to the program while working through this article.

  8. Launch Interface Builder (/Developer/Applications). Part of the Xcode Tools, Interface Builder is used for designing the user interface (windows, dialogs, etc.) for an application.

  9. If needed, read through any release notes and then close the release notes window. (Release notes only appear the first time you launch the Interface Builder, or after you trash Interface Builder's preferences: ~/Library/Preferences/

  10. Open Interface Builder's preferences window by choosing Interface Builder -> Preferences (CMD-,).

  11. Click on the General tab to select the General Preferences pane. Make sure that the following items have been checked. Some of these choices will not go into effect until you quit and restart Interface Builder, so close the Preferences window (CMD-W), and then quit (CMD-Q) and launch Interface Builder again.

By checking these preferences, you set Interface Builder at its greatest level of user-friendliness.

Note for International Readers

The steps in this article describe how to edit English-language project files for the Stickies application. To make changes for languages other than English, follow these directions:

  1. Copy the StickiesDocument.nib file from the English.lproj folder into your language localization folder, e.g. into Italian.lproj or Spanish.lproj, etc. This will overwrite the copy of StickiesDocument.nib in that folder.

  2. Edit this copy of the StickiesDocument.nib file according the directions in this article.

There are no other steps that need to be taken; however, you may want to translate any English text (e.g. Stampa rather than Print) in your interface. Do not, however, attempt to translate the connections. For example, connect your Stampa button to print:, not to stampa:.

Exploring Stickies

Stickies is quite the cool application. It lets you put notes on your screen and float them over your workspace. You can use Stickies to add reminders about appointments, phone calls, or just to store frequently used text. But if you think that notes are all there is to Stickies, think again. With Stickies, you can use fully formatted rich text and you can store pictures as well as text. In addition, you can:

  • Search: Use "Find" to search through your Stickies collection (CMD-F).

  • Spell: Check your spelling on-the-fly (Edit -> Spelling -> Check Spelling As You Type).

  • Stylize: Choose bold, italic, or underline from the Font menu.

  • Choose Fonts: Select some text, open the Fonts window (Font -> Show Fonts, CMD-T), and choose a new font face to apply to the selected text.

  • Kern: Kern your text (e.g. Font -> Kern -> Loosen).

  • Superscript: Add superscripts and subscripts (e.g. Font -> Baseline -> Superscript).

  • Make Translucent: Make your notes opaque or translucent (Note -> Translucent Window, CMD-Option-T).

  • Choose Backgrounds: Set the color of each Sticky to any of the six predefined pastels in the Color menu.

  • Set Text Colors: Change the color of text by selecting it, opening the Color window (Font -> Show Colors, CMD-Shift-C), and choosing a new color.

  • Watch a Movie: Simply drag a movie onto a Sticky and then click play.

Stickies allows you to store graphics, colors, and even movies and sound files on free-floating notes.

All these features (and more!) make Stickies a fun and useful program. However, there are some areas in which Stickies clearly falls short. Here are just two, both of which can be addressed by simple end-user edits in Interface Builder.

  • Stickies don't scroll: If your text or image is larger than the current Sticky, you'll have to resize or use a "select-to-scroll" trick to move to content that's not currently shown on-window.

  • Styling is hard: The variety of Font menus and submenus makes it hard to directly stylize your text in Stickies. It's easier to do the work in TextEdit and then use the services menu (Services -> Make Sticky Note, CMD-Shift-Y) to create a new Sticky with the stylized text.

Pages: 1, 2, 3, 4

Next Pagearrow