Here’s a more detailed walkthrough of the workaround.
Steps:
- Make sure OmniGraffle is closed/quit.
- Using a text editor (such as the wonderful, free BBEdit), open ~/Library/Containers/com.omnigroup.OmniGraffle7/Data/Library/Preferences/com.omnigroup.OmniGraffle7.plist
- In this plist, find the key, “Graffle Tool Shape Prototypes”.
- Nested inside this key, you’ll find an array of
dict
objects, each of which correspond with default values for Current Style or Favorite Styles for the Shape tool. - The default text color of any of these, is represented by the following item within the
dict
:
<key>FontInfo</key>
<dict>
<key>Color</key>
<dict>
<key>b</key>
<string>0</string>
<key>g</key>
<string>0.5</string>
<key>r</key>
<string>1.0</string>
<key>space</key>
<string>srgb</string>
</dict>
</dict>
If FontInfo key is missing, paste in the above.
If FontInfo key is already present, but doesn’t have Color inside it, you’ll have to add Color.
If Color is in a different format that RGB, you’ll want to delete Color dict
and replace it with the one above.
To designate a specific color, edit the values of the r
, g
, and b
values in the Color dict
. Make sure space
is set to srgb
. (It may be possible to use a different space with different keys, such as HSB or cmyk
with keys c
, m
, y
, k
, but I only tried it with SRGB.)
Then save the preferences file and open OmniGraffle 7. Now your default color for shapes will be the new value, but bear in mind, due to the bug, you still cannot change it, without reediting the prefs file.
If you use Xcode to edit the .plist, it would look like this:
If you use a text editor, it’ll look like this:
This is a pretty embarrassing and inexcusable bug for a product of the caliber of OmniGraffle. Hopefully they finally get around to fixing this sometime soon. And when they do, I hope that they implement better unit tests so that this kind of regression can never happen again.