Example Themes

This gallery contains a collection of code snippets together with their corresponding output, illustrating different colors themes in Manim and example objects.

Catppuccin Latte Theme

Example: CatppucinLattePreview

_images/CatppucinLattePreview-1.png

Code: CatppucinLattePreview

import manim
from manim import *

from manim_themes.manim_theme import apply_theme
from manim_themes.theme_preview import theme_preview


class CatppucinLattePreview(Scene):

    def setup(self):
        theme = "catppuccin-latte"
        apply_theme(manim_scene=self, theme_name=theme)



    def construct(self):
        my_theme_preview = theme_preview()
        self.add(my_theme_preview)


if __name__ == '__main__':
    import os
    from pathlib import Path

    FLAGS = "-pqm -s"
    SCENE = "CatppucinLattePreview"

    file_path = Path(__file__).resolve()
    os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}")

Catppuccin Mocha Theme

Example: CatppucinMochaPreview

_images/CatppucinMochaPreview-1.png

Code: CatppucinMochaPreview

import manim
from manim import *

from manim_themes.manim_theme import apply_theme
from manim_themes.theme_preview import theme_preview


class CatppucinMochaPreview(Scene):

    def setup(self):
        theme = "catppuccin-mocha"
        apply_theme(manim_scene=self, theme_name=theme)



    def construct(self):
        my_theme_preview = theme_preview()
        self.add(my_theme_preview)


if __name__ == '__main__':
    import os
    from pathlib import Path

    FLAGS = "-pqm -s"
    SCENE = "CatppucinMochaPreview"

    file_path = Path(__file__).resolve()
    os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}")

Tokyo Night

Example: TokyonightPreview

_images/TokyonightPreview-1.png

Code: TokyonightPreview

import manim
from manim import *

from manim_themes.manim_theme import apply_theme
from manim_themes.theme_preview import theme_preview


class TokyonightPreview(Scene):

    def setup(self):
        theme = "tokyonight"
        apply_theme(manim_scene=self, theme_name=theme)


    def construct(self):
        my_theme_preview = theme_preview()
        self.add(my_theme_preview)


if __name__ == '__main__':
    import os
    from pathlib import Path

    FLAGS = "-pqm -s"
    SCENE = "TokyonightPreview"

    file_path = Path(__file__).resolve()
    os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}")

Tokyo Night Day

Example: TokyonightDayPreview

_images/TokyonightDayPreview-1.png

Code: TokyonightDayPreview

import manim as m

from manim_themes.manim_theme import apply_theme
from manim_themes.theme_preview import theme_preview


class TokyonightDayPreview(m.Scene):

    def setup(self):
        theme = "tokyonight-day"
        apply_theme(manim_scene=self, theme_name=theme, light_theme=True)
        # You might want to set the default font and color for text here
        m.Text.set_default(font="Courier New", color=m.WHITE)


    def construct(self):
        my_theme_preview = theme_preview()
        self.add(my_theme_preview)


if __name__ == '__main__':
    import os
    from pathlib import Path

    FLAGS = "-pqm -s"
    SCENE = "TokyonightDayPreview"

    file_path = Path(__file__).resolve()
    os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}")

Material Design

Example: MaterialDesignColorsPreview

_images/MaterialDesignColorsPreview-1.png

Code: MaterialDesignColorsPreview

import manim as m

from manim_themes.manim_theme import apply_theme
from manim_themes.theme_preview import theme_preview


class MaterialDesignColorsPreview(m.Scene):

    def setup(self):
        theme = "MaterialDesignColors"
        apply_theme(manim_scene=self, theme_name=theme, light_theme=True)
        # You might want to set the default font and color for text here
        m.Text.set_default(font="Courier New", color=m.WHITE)


    def construct(self):
        my_theme_preview = theme_preview()
        self.add(my_theme_preview)


if __name__ == '__main__':
    import os
    from pathlib import Path

    FLAGS = "-pqm -s"
    SCENE = "MaterialDesignColorsPreview"

    file_path = Path(__file__).resolve()
    os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}")

Theme Previews

Example: ThemeCarousel

Code: ThemeCarousel

import manim as m
import random

from manim_themes.manim_theme import apply_theme
from manim_themes.theme_preview import theme_preview


class ThemeCarousel(m.Scene):


    def construct(self):
        themes = [
            "0x96f",
            "3024 Day",
            "3024 Night",
            "BlueDolphin",
            "CGA",
            "CutiePro",
            "DjangoRebornAgain",
            "DjangoSmooth",
            "Ghostty Default StyleDark",
            "NvimDark",
            "NvimLight",
            "PaleNightHC",
            "RetroLegends",
            "shades-of-purple",
            "SleepyHollow",
            "Aardvark Blue",
            "Abernathy",
            "Adventure",
            "AdventureTime",
            "Adwaita",
            "Adwaita Dark",
            "Afterglow",
            "Alabaster",
            "AlienBlood",
            "Andromeda",
            "Apple System Colors",
            "Apple System Colors Light",
            "arcoiris",
            "Ardoise",
            "Argonaut",
            "Arthur",
            "AtelierSulphurpool",
            "Atom",
            "AtomOneDark",
            "FrontEndDelight",
            "Aura",
            "Aurora",
            "ayu",
            "ayu_light",
            "Ayu Mirage",
            "Banana Blueberry",
            "Batman",
            "Belafonte Day",
            "Belafonte Night",
            "BirdsOfParadise",
            "Blazer",
            "Blue Matrix",
            "BlueBerryPie",
            "BlulocoDark",
            "BlulocoLight",
            "Borland",
            "Breeze",
            "Bright Lights",
            "Broadcast",
            "Brogrammer",
            "C64",
            "Calamity",
            "catppuccin-frappe",
            "catppuccin-latte",
            "catppuccin-macchiato",
            "catppuccin-mocha",
            "ENCOM",
            "Chalk",
            "Chalkboard",
            "ChallengerDeep",
            "Chester",
            "Ciapre",
            "citruszest",
            "CLRS",
            "Cobalt2",
            "Cobalt Neon",
            "CobaltNext",
            "CobaltNext-Dark",
            "CobaltNext-Minimal",
            "CrayonPonyFish",
            "Cyberdyne",
            "cyberpunk",
            "CyberpunkScarletProtocol",
            "Dark Modern",
            "Dark Pastel",
            "Dark+",
            "darkermatrix",
            "darkmatrix",
            "Darkside",
            "dayfox",
            "deep",
            "Desert",
            "detuned",
            "Dimidium",
            "DimmedMonokai",
            "Django",
            "DoomOne",
            "Doom Peacock",
            "DotGov",
            "Dracula",
            "Dracula+",
            "duckbones",
            "Duotone Dark",
            "Earthsong",
            "electron-highlighter",
            "Elegant",
            "Elemental",
            "Elementary",
            "Embark",
            "embers-dark",
            "terafox",
            "Espresso",
            "Espresso Libre",
            "Everblush",
            "Everforest Dark - Hard",
            "Fahrenheit",
            "Fairyfloss",
            "farmhouse-dark",
            "farmhouse-light",
            "Fideloper",
            "Firefly Traditional",
            "Firewatch",
            "FishTank",
            "Flat",
            "Flatland",
            "flexoki-dark",
            "flexoki-light",
            "Floraverse",
            "FirefoxDev",
            "Framer",
            "FunForrest",
            "Galaxy",
            "Galizur",
            "GitLab-Dark",
            "GitLab-Dark-Grey",
            "GitLab-Light",
            "Github",
            "GitHub-Dark-Colorblind",
            "GitHub-Dark-Default",
            "GitHub-Dark-Dimmed",
            "GitHub-Dark-High-Contrast",
            "GitHub-Light-Colorblind",
            "GitHub-Light-Default",
            "GitHub-Light-High-Contrast",
            "GitHub Dark",
            "Glacier",
            "Grape",
            "Grass",
            "Grey-green",
            "gruber-darker",
            "GruvboxDark",
            "GruvboxDarkHard",
            "GruvboxLight",
            "GruvboxLightHard",
            "gruvbox-material",
            "Guezwhoz",
            "Hacktober",
            "Hardcore",
            "Harper",
            "Havn Daggry",
            "Havn Skumring",
            "ForestBlue",
            "HaX0R_GR33N",
            "HaX0R_R3D",
            "heeler",
            "Highway",
            "Hipster Green",
            "Hivacruz",
            "Homebrew",
            "Hopscotch",
            "Hopscotch.256",
            "Horizon",
            "Horizon-Bright",
            "Hurtado",
            "Hybrid",
            "IC_Green_PPL",
            "IC_Orange_PPL",
            "iceberg-dark",
            "iceberg-light",
            "idea",
            "idleToes",
            "IR_Black",
            "IRIX Console",
            "IRIX Terminal",
            "iTerm2 Dark Background",
            "iTerm2 Default",
            "iTerm2 Light Background",
            "iTerm2 Pastel Dark Background",
            "iTerm2 Smoooooth",
            "iTerm2 Solarized Dark",
            "iTerm2 Solarized Light",
            "iTerm2 Tango Dark",
            "iTerm2 Tango Light",
            "Jackie Brown",
            "Japanesque",
            "Jellybeans",
            "JetBrains Darcula",
            "jubi",
            "Kanagawa Dragon",
            "Kanagawa Wave",
            "kanagawabones",
            "Kibble",
            "Kolorit",
            "Konsolas",
            "kurokula",
            "Lab Fox",
            "Laser",
            "Later This Evening",
            "Lavandula",
            "LiquidCarbon",
            "LiquidCarbonTransparent",
            "LiquidCarbonTransparentInverse",
            "lovelace",
            "Man Page",
            "Mariana",
            "Material",
            "MaterialDark",
            "MaterialDarker",
            "MaterialDesignColors",
            "MaterialOcean",
            "Mathias",
            "matrix",
            "Medallion",
            "Melange_dark",
            "Melange_light",
            "Mellifluous",
            "mellow",
            "miasma",
            "midnight-in-mojave",
            "Mirage",
            "Misterioso",
            "Molokai",
            "MonaLisa",
            "Apple Classic",
            "sonokai",
            "nord-light",
            "Monokai Classic",
            "Monokai Pro",
            "Monokai Pro Light",
            "Monokai Pro Light Sun",
            "Monokai Pro Machine",
            "Monokai Pro Octagon",
            "Monokai Pro Ristretto",
            "Monokai Pro Spectrum",
            "Monokai Remastered",
            "Monokai Soda",
            "Monokai Vivid",
            "N0tch2k",
            "neobones_dark",
            "neobones_light",
            "Neon",
            "Neopolitan",
            "Neutron",
            "Night Owlish Light",
            "nightfox",
            "NightLion v1",
            "NightLion v2",
            "niji",
            "Nocturnal Winter",
            "nord",
            "nord-wave",
            "xcodelighthc",
            "Novel",
            "Obsidian",
            "Ocean",
            "OceanicMaterial",
            "Oceanic-Next",
            "Ollie",
            "OneHalfDark",
            "OneHalfLight",
            "Operator Mono Dark",
            "Overnight Slumber",
            "Oxocarbon",
            "Pandora",
            "Paraiso Dark",
            "PaulMillr",
            "PencilDark",
            "PencilLight",
            "Peppermint",
            "Piatto Light",
            "Pnevma",
            "Popping and Locking",
            "primary",
            "Pro",
            "Pro Light",
            "Purple Rain",
            "purplepeter",
            "Rapture",
            "Raycast_Dark",
            "Raycast_Light",
            "rebecca",
            "Red Alert",
            "Red Planet",
            "Red Sands",
            "Relaxed",
            "Retro",
            "Rippedcasts",
            "rose-pine",
            "rose-pine-dawn",
            "rose-pine-moon",
            "Rouge 2",
            "Royal",
            "Ryuuko",
            "Sakura",
            "Scarlet Protocol",
            "SeaShells",
            "Seafoam Pastel",
            "seoulbones_dark",
            "seoulbones_light",
            "Seti",
            "Shaman",
            "Slate",
            "Smyck",
            "Snazzy",
            "Snazzy Soft",
            "SoftServer",
            "solarized-osaka-night",
            "Solarized Darcula",
            "Solarized Dark Higher Contrast",
            "Solarized Dark - Patched",
            "SpaceGray",
            "Spacedust",
            "SpaceGray Bright",
            "SpaceGray Eighties",
            "SpaceGray Eighties Dull",
            "Spiderman",
            "Spring",
            "Square",
            "Squirrelsong Dark",
            "srcery",
            "starlight",
            "Sublette",
            "Subliminal",
            "Sugarplum",
            "Sundried",
            "Symfonic",
            "synthwave",
            "synthwave-everything",
            "SynthwaveAlpha",
            "Tango Adapted",
            "Tango Half Adapted",
            "Teerb",
            "Terminal Basic",
            "Terminal Basic Dark",
            "Thayer Bright",
            "The Hulk",
            "Tinacious Design (Dark)",
            "Tinacious Design (Light)",
            "tokyonight",
            "tokyonight-day",
            "tokyonight_moon",
            "tokyonight_night",
            "tokyonight-storm",
            "Tomorrow",
            "Tomorrow Night",
            "Tomorrow Night Blue",
            "Tomorrow Night Bright",
            "Tomorrow Night Burns",
            "Tomorrow Night Eighties",
            "ToyChest",
            "Treehouse",
            "Twilight",
            "Ubuntu",
            "UltraViolent",
            "UltraDark",
            "UnderTheSea",
            "Unikitty",
            "Urple",
            "Vaughn",
            "Vesper",
            "VibrantInk",
            "vimbones",
            "Violet Dark",
            "Violet Light",
            "WarmNeon",
            "Wez",
            "Whimsy",
            "WildCherry",
            "wilmersdorf",
            "Wombat",
            "Wryan",
            "xcodedark",
            "xcodedarkhc",
            "xcodelight",
            "AtomOneLight",
            "xcodewwdc",
            "zenbones",
            "zenbones_dark",
            "zenbones_light",
            "Zenburn",
            "zenburned",
            "zenwritten_dark",
            "zenwritten_light",
        ]
        random.shuffle(themes)
        # get a random sample of 20 themes from the list
        # every time the docs are built, a different set of themes is shown :)
        for theme in themes[:20]:
            apply_theme(manim_scene=self, theme_name=theme, light_theme=True)

            theme_preview_group = theme_preview()
            theme_preview_group.shift(m.DOWN * 0.5)

            theme_label = m.Text(
                text=theme,
                font="Courier New",
            )
            theme_label.to_edge(m.UP,buff=0.5)

            self.add(theme_preview_group)
            self.add(theme_label)

            self.wait(0.5)

            self.remove(theme_preview_group)
            self.remove(theme_label)



if __name__ == '__main__':
    import os
    from pathlib import Path

    FLAGS = "-pqm"
    SCENE = "ThemeCarousel"

    file_path = Path(__file__).resolve()
    os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}")