Is there a workaround for the bug where you cannot change the default font color for shapes in Omnigraffle 7.18.2 Pro?

Is there a workaround for the bug where you cannot change the default font color for shapes in Omnigraffle 7.18.2 Pro?

I have sent the following bug report to Omnigroup Support but I am curious to know if anyone else has found a workaround for the issue. Please see the steps to reproduce below and let me know if you have the same issue and if so, whether there’s a known workaround.

Mac: 15" MacBook Pro 2019
OS: Catalina 10.15.7
OS Settings:
- Dark Mode is on
- True Tone is on
- Color profile is set to “Color LCD”

Steps to reproduce A:

  1. Create a new document.
  2. Set the canvas color to black.
  3. Set tool to Selection Tool and make sure nothing is selected.
  4. Hold S to activate Shape tool.
  5. In the palettes, change text color to something other than black.
  6. Release S.
  7. Note that the color immediately changes back to black.

Expected behavior A:

In step 7, the color selected in step 5. should now be the default text color for Shape tool.

Steps to reproduce B:

  1. Create a new document.
  2. Set the canvas color to black.
  3. Set tool to Selection Tool and make sure nothing is selected.
  4. Double-click on the Shape tool in the toolbar.
  5. In the palettes, change text color to something other than black.
  6. Draw a new Shape.
  7. Note that the shape’s text color is black instead of being the selected color, and Shape tool’s default color has reverted back to black.

Expected behavior B:

In step 7, the color of the shape and the default text color for new shapes should be the color you selected in step 5.

Note: copying and pasting Font Style also does not work as a means by which to set the default font color of an object.

Thanks for any help folks.

I found a workaround.

Namely, modify the Omnigraffle preferences file directly using a text editor or plist editor.

Thanks, me.

2 Likes

This bug is still happening in 7.18.4. The workaround I mentioned above isn’t really a viable workaround since it’s a PITA to edit the prefs file constantly just to change the default font color for shapes.

Please fix this!

Here’s a more detailed walkthrough of the workaround.

Steps:

  1. Make sure OmniGraffle is closed/quit.
  2. Using a text editor (such as the wonderful, free BBEdit), open ~/Library/Containers/com.omnigroup.OmniGraffle7/Data/Library/Preferences/com.omnigroup.OmniGraffle7.plist
  3. In this plist, find the key, “Graffle Tool Shape Prototypes”.
  4. 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.
  5. 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.

1 Like

Hello,

A customer emailed us about this issue and linked to this forum post. While we try to keep an eye on the forums, we can’t guarantee we will see everything here, so we don’t recommend reporting problems here since they may not get seen. Or more precisely, don’t just post here about a bug. Instead, when reporting an issue emailing us will ensure the issue gets seen and filed, and that you get a response about it.

In this case, I have now filed a bug about this issue.

Then, in case it helps you or anyone else that is running into this issue, here is another workaround for this issue that isn’t as troublesome as editing the prefs file:

  1. Select the Text Tool.
  2. Open the Font Inspector.
  3. Choose the font settings you want to be the default.
  4. Optionally also set the Text Position options you want.
  5. Now when you want to add text to a shape, select the Text Tool first, then click on the shape (instead of just double-clicking on the shape).

Please be aware that this will also affect the default font settings applies to new Line Labels.