Awesome
Tinted Theming: all your themes, everywhere. <img alt="Color wheel" src="./color_wheel.png" width="100" align="right" style="padding-top:0.6rem;">
Style systems and smart build tooling for crafting high fidelity color schemes and easily using them in all your favorite apps. Originally based on the amazing work of Chris Kempson and his Base16 system.
Features
- Seamless builder support for multiple style systems (Base16, Base24, etc.)
- Over 230 beautiful and ready-to-use color schemes. View the Gallery.
- Over 70 supported GUI and terminal applications. See the full list.
- Allows end users to choose a color scheme and know it will be available everywhere.
- Allows color scheme designers to craft a palette of colors once, instantly supporting for many different apps.
Documentation and Specification
The builder and styling specs detail how to compile schemes and templates into application specific configurations.
Scheme
A scheme is a fixed palette of named colors and (optionally) instructions for how those colors should be used by apps.
Style
A style guide provides rules governing how a scheme's palette should be applied within apps. This means each color is used consistently for similar purposes across all your apps. Individual styling guides often support different sized pallets and have different ideas about how those colors should be deployed.
See the individual styling guides for more information on each:
- Base16 - the original, 16 colors with very fixed semantic meanings.
- Base24 - an extra 8 colors for full ANSI support in your terminals.
A scheme is defined using a YAML file. The file specification is in the Builder Guidelines.
Builder
A builder is a build tool used by various template repositories to generate files based on scheme file and template file.
Template
A template describes how a scheme should be transformed to support a specific application. A template repository defines a template file, then uses a builder to generate application specific files using the template.
Templates often include ready-to-use pre-built versions of every scheme. These are typically installed directly by end users to use the schemes in different applications.
Supported Applications
Supported applications are applications for which a template exists.
Official Templates
We maintain a number of templates. Each has been sponsored by at least one project member who is committed to maintaining that template.
We are open to accepting new projects, though they must still be sponsored by a project member and have some level of activity. If a project becomes inactive for more than a year, the repo will be archived as inactive. It can be unarchived if another maintainer steps up.
Editors:
- Emacs maintained by belak
- Helix maintained by krgn
- JetBrains maintained by adilosa, and JamyGolden
- Kakoune maintained by JamyGolden
- VSCode maintained by golf1052
- Vim maintained by BonaBeavis, and JamyGolden
Terminals:
- ConEmu maintained by martinlindhe
- Foot maintained by h4-n1
- iTerm2 maintained by martinlindhe
- PuTTY maintained by benjojo
- Shell (all shells) maintained by belak, and JamyGolden
- XFCE Terminal maintained by afq984
Other:
- Dunst maintained by khamer
- FZF maintained by JamyGolden
- GTK FlatColor maintained by Misterio77
- i3 maintained by khamer
- HexChat maintained by JamyGolden
- Polybar maintained by Misterio77
- qutebrowser maintained by theova
- Rofi maintained by jordiorlando
- Termite maintained by khamer
- Tmux maintained by mattdavis90
- Wob maintained by h4-n1
- Xresources maintained by DanManN, and pinpox
- Waybar maintained by laenzlinger
Unofficial Templates
If you have a template you maintain, but don't want to submit it to this org, feel free to add a link to the repository here to add it to this list. These are community maintained templates and may not be updated often.
<details><summary><b>Terminals</b> - terminal and shell related templates</summary> <p>- Alacritty maintained by aarowill
- Blink maintained by niklaas
- ConCfg maintained by h404bi
- Console2 maintained by AFulgens
- ConsoleZ maintained by AFulgens
- Crosh maintained by philj56
- fish maintained by tomyun
- fish-shell maintained by FabioAntunes
- Gnome Terminal maintained by aarowill
- Halloy maintained by 4e554c4c
- kermit maintained by orhun
- kitty maintained by kdrag0n
- Konsole maintained by cskeeters
- MinTTY maintained by geoffstokes
- st maintained by honza
- Termux maintained by kdrag0n
- Tilix maintained by karlding
- Windows Terminal maintained by wuqs-net
- XFCE4 Terminal maintained by afq984
- Xshell maintained by h404bi
- Frescobaldi maintained by rkubosz
- Godot maintained by Calinou
- gtksourceview maintained by RobLoach
- gtksourceview3 maintained by GarkGarcia
- JOE maintained by jjjordan
- Jetbrains IDE maintained by ShiromMakkad
- Kakoune maintained by leira
- MonoDevelop maintained by netpyoung
- QOwnNotes maintained by themix-project
- Scide maintained by brunoro
- Textadept maintained by rgieseke
- Vim-airline maintained by dawikur
- Vis maintained by pshevtsov
- vtrgb maintained by coderonline
- Xcode maintained by kreeger
- ZOC Terminal maintained by Balthild
- i3status maintained by Eluminae
- i3status-rust maintained by mystfox
- mako maintained by Eluminae
- qt5ct maintained by mnussbaum
- StumpWM maintained by tpine
- Sway maintained by rkubosz
- Swaylock maintained by michael-ball
- Window Maker maintained by d-torrance
- Wofi maintained by knezi
- Wofi colors file maintained by agausmann
- Binary Ninja maintained by evanrichter
- C Header maintained by m1sports20
- CSS, Less, Sass/Scss & Stylus maintained by samme
- GTK+ FlatColor maintained by Misterio77
- GTK+2 maintained by dawikur
- Highlight maintained by bezhermoso
- Highlight.js maintained by joshgoebel
- Prism maintained by atelierbram
- prompt-toolkit & ipython maintained by memeplex
- Pygments maintained by mohd-akram
- Qt Creator maintained by ilpianista
- Amfora maintained by jo1gi
- Discord maintained by deathbeam
- LuaKit maintained by twnaing
- PyRadio maintained by edunfelt
- Vimiv maintained by karlch
- Windows Command Prompt maintained by iamthad
- zathura maintained by HaoZeke
- nwg-dock maintained by blueingreen68
- wlr-which-key maintained by blueingreen68
- btop maintained by blueingreen68
- lazygit maintained by blueingreen68
Adding Support for a New Application
To add your own template, submit a pull request to this repository to add your repository to the "Unofficial Templates" list below in the relevant category.
Recommended repository naming scheme: [style-name]-[template-name] (with dashes as separators).
Schemes
To add a Base16 scheme, simply submit a pull request to the base16-schemes repo and add your scheme.
Builders
Normally end-users should not need to use builders, as they're primarily meant for maintainers - both scheme and template maintainers. These are tools used to build templates with all the currently submitted schemes.
Spec changes will not be released until there is consensus among maintainers and at least one builder with a pull request ready for implementing that spec version.
See the CHANGELOG for more information about changes in the spec.
- Base16 Builder Go maintained by belak - currently supports 0.11.0
- Base16 Builder Node maintained by joshgoebel - currently supports 0.10.0
Scheme and Template Author Resources
The following is a list of useful resources for anyone creating a Base16 scheme and or template:
- TmTheme Editor - An online editor for themes in tmTheme format.
- Base16 Template Converter - A script to automatically convert Base16 templates written in the old Embedded Ruby style to the new Mustache style.
Tools
If you've written a tool feel free to add it to the list below:
- auto-base16-theme - A command line tool to create a base16 theme from an input image's color palette.
- base16-manager - A command line tool to install base16 templates and set themes globally.
- base16-shell-preview - A command line tool to preview and set base16-shell themes.
- base16-universal-manager - A command line tool to automatically get, build and set base16 themes globally for all supported applications. Themes and templates are pulled form the official repositories or from a local cache.
- flavours - A command line tool to manage and globally apply base16 templates by specifying a scheme name.
- Themix/Oomox - Graphical application for generating different color variations of a Arc, Materia and Oomox themes (GTK2, GTK3 and others), Archdroid, Gnome-Colors and Numix icons, and terminal palette. Base16 plugin allows to open Base16 YAML files a export both Base16 and its own themes using Base16 Mustache templates.
- base16-spectrum-generator - A Python script for generating
.png
files showcasing the colours in a base16 theme. - base16.nix - a NixOS / home-manager module to set base16 / base24 schemes and use templates.
- base16-tailwind - A Tailwind CSS plugin for using base16 / base24 color schemes in websites and web apps.
Projects
- Visual Studio Code - Code Editor
- Atom Editor - Code Editor
- c-Tiles16 - Colorscheming with Variables.
- Spacegray - A set of custom UI themes for Sublime Text 2/3.
- Harmonic16 - A color generator for harmonic Base16 color-schemes.
- Duotone-base16 - A Duotone scheme to Base16 convertor.
- terminal.sexy - Terminal Color Scheme Designer
- Just-Colors - Simple configuration file generator
- Highlight.js - JavaScript syntax highlighter
- nix-colors - Designed to help with Nix(OS) theming.
Non-template Themes
- base16-mutt - a config file for mutt which uses base16 colors from the terminal
Project Chat
Have something you want to discuss, but you're not sure it warrants an issue? Feel free to stop by #tinted-theming:matrix.org on Matrix.
Credits
- Thanks to Chris Kempson for the original concept and implementation.
- Color wheel icon thanks to Color icons created by Nikita Golubev - Flaticon.