Skip to content

Add oxocarbon dark and light themes - #1647

Open
artisanbk wants to merge 1 commit into
zulip:mainfrom
artisanbk:main
Open

Add oxocarbon dark and light themes#1647
artisanbk wants to merge 1 commit into
zulip:mainfrom
artisanbk:main

Conversation

@artisanbk

@artisanbk artisanbk commented Jun 30, 2026

Copy link
Copy Markdown

What does this PR do, and why?

Adds two new bundled themes — oxocarbon_dark and oxocarbon_light
derived from the oxocarbon
(IBM Carbon) palette, giving users another dark/light theme pair.

Their shared palette is factored into colors_oxocarbon.py, following the
structure of the existing gruvbox theme files, and both are registered in
config/themes.py.

  • oxocarbon_dark renders the carbon accents on a near-black background.
  • oxocarbon_light uses a white background with a slate foreground and
    deeper blue/purple accents for contrast.

Syntax highlighting uses the Material (dark) and Lovelace (light) pygments
styles as bases, with token overrides nudged towards the oxocarbon accents.

The palette is adapted from oxocarbon.nvim (MIT License), Copyright (c) 2022
Riccardo Mazzarini; the full notice is included in colors_oxocarbon.py.

Outstanding aspect(s)

  • The pygments base styles (Material/Lovelace) and the light-theme
    contrast choices are somewhat subjective — happy to adjust to reviewer
    preference.

External discussion & connections

  • Discussed in #zulip-terminal in topic
  • Fully fixes #
  • Partially fixes issue TRACKING: Support more Themes #1133
  • Builds upon previous unmerged work in PR #
  • Is a follow-up to work in PR #
  • Requires merge of PR #
  • Merge will enable work on #

How did you test this?

  • Manually - Behavioral changes
  • Manually - Visual changes
  • Adapting existing automated tests
  • Adding automated tests for new behavior (or missing tests)
  • Existing automated tests should already cover this (only a refactor of tested code)

Self-review checklist for each commit

  • It is a minimal coherent idea
  • It has a commit summary following the documented style (title & body)
  • It has a commit summary describing the motivation and reasoning for the change
  • It individually passes linting and tests
  • It contains test additions for any new behavior
  • It flows clearly from a previous branch commit, and/or prepares for the next commit

Visual changes

oxocarbon_dark

image

oxocarbon_light

image

@zulipbot zulipbot added the size: XL [Automatic label added by zulipbot] label Jun 30, 2026
Adds the oxocarbon dark and light themes, with their shared palette
factored into colors_oxocarbon.py, following the structure of the
existing gruvbox theme files. Registers both in config/themes.py.

The dark theme renders the carbon accents on a near-black background;
the light theme uses a white background with a slate foreground and
deeper blue/purple accents for contrast. Syntax highlighting uses the
Material (dark) and Lovelace (light) pygments styles as bases, with
token overrides nudged towards the oxocarbon accents.

The palette is adapted from oxocarbon.nvim (MIT License), Copyright
(c) 2022 Riccardo Mazzarini; the full notice is in colors_oxocarbon.py.
https://github.com/nyoom-engineering/oxocarbon.nvim

Tests updated to expect both themes as complete bundled themes.
Documentation updated in docs/FAQ.md to list both themes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: XL [Automatic label added by zulipbot]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants