Skip to content

Commit

Permalink
.osx: Use plain text smileys in Messages
Browse files Browse the repository at this point in the history
Messages in OS X 10.9 Mavericks automatically substitutes e.g. `:)` with `😊`, with no way to disable this feature through the app’s preferences pane.

After analyzing the `defaults read` output it turns out there is a hidden preference for it.
  • Loading branch information
mathiasbynens committed Oct 23, 2013
1 parent 813f813 commit f10eb80
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions .osx
Original file line number Diff line number Diff line change
Expand Up @@ -547,6 +547,13 @@ defaults write com.apple.appstore WebKitDeveloperExtras -bool true
# Enable Debug Menu in the Mac App Store
defaults write com.apple.appstore ShowDebugMenu -bool true

###############################################################################
# Messages #
###############################################################################

# Disable automatic emoji substitution (i.e. use plain text smileys)
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticEmojiSubstitutionEnablediMessage" -bool false

###############################################################################
# Google Chrome & Google Chrome Canary #
###############################################################################
Expand Down Expand Up @@ -621,8 +628,8 @@ defaults write com.twitter.twitter-mac HideInBackground -bool true
###############################################################################

for app in "Address Book" "Calendar" "Contacts" "Dashboard" "Dock" "Finder" \
"Mail" "Safari" "SizeUp" "SystemUIServer" "Terminal" "Transmission" \
"Twitter" "iCal" "iTunes"; do
"Mail" "Messages" "Safari" "SizeUp" "SystemUIServer" "Terminal" \
"Transmission" "Twitter" "iCal" "iTunes"; do
killall "$app" > /dev/null 2>&1
done
echo "Done. Note that some of these changes require a logout/restart to take effect."

7 comments on commit f10eb80

@riddle
Copy link

@riddle riddle commented on f10eb80 Oct 23, 2013

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a preference to use old school image-based emoticons? Emoji emoticons look like ass on non-retina displays and previous style was just okay.

@mathiasbynens
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn’t look like it :( I could only find these settings:

$ defaults read com.apple.messageshelper.MessageController SOInputLineSettings
{
    automaticDashSubstitutionEnabled = 0;
    automaticDataDetectionEnabled = 0;
    automaticEmojiSubstitutionEnabledLegacy = 0;
    automaticEmojiSubstitutionEnablediMessage = 0;
    automaticLinkDetectionEnabled = 0;
    automaticQuoteSubstitutionEnabled = 1;
    automaticSpellingCorrectionEnabled = 0;
    automaticTextReplacementEnabled = 1;
    continuousSpellCheckingEnabled = 1;
    grammarCheckingEnabled = 0;
    smartInsertDeleteEnabled = 1;
}

Note that these are all the default values, except for automaticEmojiSubstitutionEnablediMessage which is set to 1 (true) by default.

@lazydaze13
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran the command you suggested on apple.stackexchange,

defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticEmojiSubstitutionEnablediMessage" -bool false

and it now causes Messages to crash out every time I try to open it with a warning:

"The last time you opened Messages, it unexpectedly quit while reopening windows. Do you want to try to reopen its windows again?
If you choose not to reopen windows, you may have to open and position the windows yourself."

HELP.

@mathiasbynens
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lazydaze13 Try defaults delete com.apple.messageshelper.MessageController SOInputLineSettings.

@syntruth
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, there is a UI for it: Edit menu --> Substitutions, under Text Replacement, uncheck Emoji.

(Won't argue that this really should be in Preferences too.)

@mathiasbynens
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@syntruth Ah, good catch!

@fletom
Copy link

@fletom fletom commented on f10eb80 Oct 25, 2013

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This hidden setting works great for me. Plain text smileys FTW. Thanks!

Please sign in to comment.