TextEdit 1.14: Not the Dark Mode you’d expect

In Apple’s release notes for the Mojave 10.14.2 update, it neglected to mention that TextEdit version 1.14, included with that update, now offers a sort of Dark Mode in its windows. I write sort of because Apple neither calls it Dark Mode, nor does it work the way that you might expect it to. As far as I can see, it’s likely to put you off using TextEdit ever again.

Implementing Dark Mode in a Rich Text editor isn’t an easy task – I know because I have been trying to do this properly in DelightEd. Users expect two different text behaviours: some text should be set in fixed colours which must be respected regardless of the appearance, but other text is expected to change its appearance according to which mode is selected by the user (bimodal).

macOS support for Dark Mode built these behaviours in during early testing last summer. If you open bimodal Rich Text generated by a ‘proper’ editor (such as DelightEd), you’ll see that there is a special entry in its expanded colour table which is nominally black, but named textColor. Text which is set in that colour is rendered in a colour appropriate to the appearance mode in use: if the background is the dark grey of Dark Mode, it will be shown in white; if the background is the white of Light Mode, it will be shown in black. It is bimodal.

Text which is set in any other colour, such as black or dark purple, is assumed to remain that colour regardless of the appearance mode prevailing, and to retain that colour when copied and pasted into other apps, according to the general rule of consistency in the human interface.

The previous version of TextEdit couldn’t itself create such bimodal text. Left to its own devices, its default text remained fixed black even when displayed by another app (like DelightEd) on the dark grey background of Dark Mode. It also displayed the view inside each of its windows in perpetual Light Mode, with a white background, and didn’t offer any other appearance.

This new version of TextEdit works totally differently. For a start, it doesn’t offer Dark Mode as an option, but Use Dark Background for Windows instead. That isn’t what it does, either, and this is the only menu command in TextEdit’s View menu which doesn’t just apply to the frontmost window, but is actually an app-wide setting. So it’s the wrong command in the wrong menu, which isn’t a good start.

textedit907

What Use Dark Background for Windows does is to invert all the black and white inside TextEdit’s windows, the surrounds of which are put into normal Dark Mode. This happens whether or not your text is set to be bimodal using the expanded colour table.

If your text contains a passage which has been set to appear in white text on a black background, that is how TextEdit will display it until you switch to Dark Background, when its colours will be switched to black text on a white background – the exact opposite of your styling.

textedit903

Here is a sample document, set with the first two lines as black text on white, and the following two as white text on black, viewed with Dark Background turned on (above), and off (below).

textedit904

textedit901

Here is its QuickLook thumbnail (above) and QuickLook preview (below) reversing the colours although these are also viewed in Dark Mode.

textedit902

textedit905

Select a word in the ‘black’ text with Dark Background turned on (above) and its foreground colour is shown as white.

textedit906

The same word, when viewed with Dark Background off, is here shown as having black foreground colour.

textedit908

For comparison, here is the same document viewed in my Rich Text editor DelightEd, in Light Mode (above) and Dark Mode (below).

textedit909

TextEdit 1.14 isn’t content with just switching black and white either: it also changes the lightness of other colours according to some undeclared rule. This appears to be to try to maintain the difference in lightness between the foreground and background colours in its two appearance modes. Set text in a specific colour when Dark Background is enabled, then turn that off, and you will see many of the colours visibly lighten.

Unfortunately, this also carries over when you copy coloured text and paste it into another app. When Dark Background is turned on, the colours that you’ll see are not those in the original.

textedit910

This shows two overlapping windows, the underneath being TextEdit, and the overlying one DelightEd. The darker blocks of symbols on the left (in TextEdit) are as shown when coloured in that app. They were then copied from TextEdit and pasted into DelightEd, where they have magically become much lighter. Those lighter colours are the same as the colours displayed when TextEdit’s Dark Background is turned off.

Neither has Apple updated TextEdit’s Help book to try to explain any of these changes: Dark Background passes without any mention.

This new version of TextEdit is to be avoided at all costs. It throws the human interface guidelines out of the window, and sooner or later you will hate it with a vengeance, or become so confused that you’ll go back to pen and paper.