Skip to content

Color Scheme 'Modus-Operandi' seems not compatible with modus-themes in Emacs on macOS #7813

@ynty

Description

@ynty

What Operating System(s) are you seeing this problem on?

macOS

Which Wayland compositor or X11 Window manager(s) are you using?

No response

WezTerm version

both 20260117-154428-05343b38 (Cask wezterm@nightly) and 20260331-040028-577474d8 (build from source) can reproduce this issue

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

When Modus Themes are set for both WezTerm and Emacs, under the Modus Operandi color scheme,
black text will not display properly when starting Emacs in non‑GUI mode (emacs -nw) within WezTerm.

Image

To Reproduce

In ~/.config/wezterm/wezterm.lua:

local wezterm = require 'wezterm'
local config = wezterm.config_builder()

function get_appearance()
  if wezterm.gui then
    return wezterm.gui.get_appearance()
  end
  return 'Dark'
end

function scheme_for_appearance(appearance)
  if appearance:find 'Dark' then
    return 'Modus-Vivendi'
  else
    return 'Modus-Operandi'
  end
end

config.color_scheme = scheme_for_appearance(get_appearance())

return config

In ~/.emacs.d:

(use-package auto-dark
  :ensure t
  :custom (auto-dark-themes '((modus-vivendi) (modus-operandi)))
  :custom (auto-dark-polling-interval-seconds 5)
  :custom (auto-dark-allow-osascript t)
  :custom (auto-dark-allow-powershell nil)
  :init (auto-dark-mode))

Then run emacs -nw in WezTerm.

Actually, this .emacs.d is not needed to reproduce the issue. I also tried launch Emacs with
emacs -q -nw and then loading the theme manually with M-x load-theme, the problem still occurred.
This rules out auto-dark as the cause.

Configuration

function get_appearance()
if wezterm.gui then
return wezterm.gui.get_appearance()
end
return 'Dark'
end

function scheme_for_appearance(appearance)
if appearance:find 'Dark' then
return 'Modus-Vivendi'
else
return 'Modus-Operandi'
end
end

config.color_scheme = scheme_for_appearance(get_appearance())

Expected Behavior

Black texts should be displayed properly, like this (in Kitty).

Image
kitten themes --dump-theme "Modus Operandi" >| light-theme.auto.conf
kitten themes --dump-theme "Modus Vivendi" >| dark-theme.auto.conf
kitten themes --dump-theme "Modus Vivendi" >| no-preference-theme.auto.conf

Logs

No response

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions