Subject: Re: bug#33452: Color of tooltip text on macOS with dark mode

From: Alan Third <[email-masked]>
Date: Fri, 23 Nov 2018 20:38:51 +0000

On Fri, Nov 23, 2018 at 10:13:40PM +0200, Eli Zaretskii wrote:
> > Date: Fri, 23 Nov 2018 18:10:49 +0000
> > From: Alan Third <[email-masked]>
> > Cc: [email-masked], [email-masked]
> > 
> > > Are you saying that tooltips on NS couldn't use colors before that
> > > change?  Or was that color support broken at some point?  If the
> > > latter, when was it broken and by what changeset?
> > 
> > Tooltips on NS couldn’t use colours before that change.
> > 
> > What happened is that tooltips set the background to yellow and left
> > the foreground (text) to be the system default (black).
> > 
> > MacOS Mojave has introduced ‘dark mode’, which makes the foreground
> > colour light, and therefore we’re seeing light text on a yellow
> > background.
> > 
> > If you don’t want to apply the above commit the absolute minimum fix
> > for emacs-26 would be to explicitly set a foreground colour for
> > tooltips, or not set the background, therefore reverting to the system
> > default.
> 
> Sorry, I'm confused: does "system default" mean the tooltips will be
> without colors, or does it mean they will use the system colors?  If
> the latter, then why did you say in the beginning that "tooltips on NS
> couldn't use colors"?

Sorry, I thought you were meaning colours as set by Emacs lisp.

We can set the foreground and background to anything we want in C, but
in emacs-26 currently we can’t modify them by Emacs lisp, and only the
background colour is being set in C, which leaves the foreground to
use whatever the system default is.

The master branch honours the colours set by lisp.

A little more background, which hopefully won’t confuse things more:

NS tooltips are very basic, whoever wrote the tooltips for Emacs under
NS decided to use a full toolkit window instead, and just colour it
like the default Emacs tooltips on X. Except they only did half the
job, which wasn’t a problem until Apple decided to change the default
colours.
-- 
Alan Third