| |
| |
Preface | |
| |
| |
| |
Transforming Your Mac | |
| |
| |
Desktops | |
| |
| |
Screensavers | |
| |
| |
Altering the Dock | |
| |
| |
Changing the Look of Finder Windows | |
| |
| |
Customizing Standard Icons | |
| |
| |
Custom Themes | |
| |
| |
Changing the Boot Panel | |
| |
| |
Final Thoughts | |
| |
| |
| |
Inside Application Bundles | |
| |
| |
Application Bundles | |
| |
| |
Understanding Bundle Structure | |
| |
| |
Building Bundles | |
| |
| |
Exploring the Resources Folder | |
| |
| |
Understanding Localizations | |
| |
| |
Plug-ins | |
| |
| |
Property Lists | |
| |
| |
Shrinking Applications | |
| |
| |
Final Thoughts | |
| |
| |
| |
Application Dumpster Diving | |
| |
| |
The Xcode Tools | |
| |
| |
Finding Goodies | |
| |
| |
Changing Sounds | |
| |
| |
Searching Through Alternate Locations | |
| |
| |
Finding and Changing Images | |
| |
| |
Peeking at (and Playing with) String Files | |
| |
| |
Final Thoughts | |
| |
| |
| |
Changing Icons | |
| |
| |
Mac OS X Icon Files | |
| |
| |
Viewing Icons | |
| |
| |
Creating Custom Icons | |
| |
| |
Changing Icons | |
| |
| |
Creating a Pseudo-Application | |
| |
| |
Final Thoughts | |
| |
| |
| |
Preferences Files | |
| |
| |
Preferences Files | |
| |
| |
Managing Property Lists | |
| |
| |
Real-World Preferences Files | |
| |
| |
Discovering Undocumented Preferences | |
| |
| |
Final Thoughts | |
| |
| |
| |
Discovering Domains and Support Files | |
| |
| |
Folders | |
| |
| |
Libraries and the Applications That Use Them | |
| |
| |
Preferences Domains | |
| |
| |
Recovering Preferences Settings by Domain | |
| |
| |
Final Thoughts | |
| |
| |
| |
Changing Interface Elements | |
| |
| |
Making Alterations | |
| |
| |
Getting Ready to Hack | |
| |
| |
Meeting Interface Builder | |
| |
| |
Changing Window Styles | |
| |
| |
Adding a Tool Tip | |
| |
| |
Adding an Item to the Contextual Menu | |
| |
| |
Adding a New Button | |
| |
| |
Adding a Custom Drawer | |
| |
| |
Adding Objects from Another NIB File | |
| |
| |
Changing Object Classes | |
| |
| |
Restoring the Terminal Application | |
| |
| |
Final Thoughts | |
| |
| |
| |
Altering Keyboard Shortcuts | |
| |
| |
Philosophy of Keyboard Shortcuts | |
| |
| |
Panther's New Keyboard Shortcuts Preferences Pane | |
| |
| |
Changing the Keyboard Shortcuts | |
| |
| |
Adding Application Keyboard Shortcuts | |
| |
| |
Keyboard Shortcut Equivalents | |
| |
| |
New Ways to Define Keyboard Shortcuts | |
| |
| |
Speakable Items | |
| |
| |
Viewing Keyboard Shortcuts | |
| |
| |
Final Thoughts | |
| |
| |
| |
Basic Application Scripting | |
| |
| |
Discovering Scriptable Applications | |
| |
| |
Getting Ready to Script | |
| |
| |
Talking to Applications | |
| |
| |
User Interface Scripting | |
| |
| |
General Application Scripting | |
| |
| |
Final Thoughts | |
| |
| |
| |
Scripting the Unscriptable | |
| |
| |
Activating Application Scriptability | |
| |
| |
Expanding Suite Possibilities | |
| |
| |
Updating the Core Suite | |
| |
| |
Reverting to the Original NSCoreSuite Files | |
| |
| |
Final Thoughts | |
| |
| |
Index | |