joonro / ConEmu-Color-Themes

Manually ported color themes for ConEmu
785 stars 128 forks source link
color-scheme conemu

Created 2018-10-22 Mon 12:35

+TITLE: Color Schemes for ConEmu

+AUTHOR: Joon Ro

This repo originally started as a place to share my favorite color schemes that I ported from various sources to [[https://conemu.github.io/][ConEmu]]. A lot of recently added themes and improvements are from various contributors (thanks a lot!).

I started porting color schemes manually because I found that automatically ported color schemes generally do not look good, because in many cases two programs have inconsistencies in items for color schemes. So, I try to manually choose colors to get color schemes as consistent as possible to the original.

Note that most of the [[screenshots.org][screenshots]] shown here are taken with the prompt customized with [[https://github.com/dahlbyk/posh-git][posh-git]] and the =Get-ChildItem= with [[https://github.com/joonro/Get-ChildItemColor][Get-ChildItemColor]]. See this [[http://joonro.github.io/blog/posts/powershell-customizations.html][blog post]] for my PowerShell customizations.

My current favorites are =material-theme (Emacs) light= and =One Dark=.

** Manually add color schemes and modify the =ConEmu.xml= file:

  1. Open =ConEmu.xml=. Usually it is at =~\AppData\Roaming=, where =~= is your home directory (=C:\Users\UserName=).

  2. Paste the color scheme at the end of palette settings part. It starts with the following:

    +BEGIN_SRC xml

    <key name="Colors" modified="2015-03-19 13:53:09" build="150310">
        <value name="Count" type="dword" data="00000001"/>
        <key name="Palette1" modified="2015-03-19 13:53:09" build="150310">

    +END_SRC

  3. If you do not have any custom color scheme, the xml key is not there. In ConEmu, go to =Settings= -> =Feature= -> =Colors= and generate a custom color theme by click on =Save= button and specify any name. Then =Colors= key will be automatically generated in your =ConEmu.xml=. You can overwrite it when you add new themes.

  4. Update the palette number (key name =PaletteX=) accordingly. For example, if you have 1 custom color palette already, it should be =Palette2= for the new one:

    +BEGIN_SRC xml

    <key name="Palette2" modified="2015-03-19 13:53:09" build="150310">

    +END_SRC

  5. Make sure to increase the value for key name =Count= under key =Colors= as well. It should equal to the total number of pallets you have:

    +BEGIN_SRC xml

    <value name="Count" type="dword" data="00000002"/>

    +END_SRC

  6. For example, the =Colors= part of your modified =ConEmu.xml= should look like this:

    +BEGIN_SRC xml

    <key name="Colors" modified="2015-03-19 13:53:09" build="150310">
        <value name="Count" type="dword" data="00000002"/>
        <key name="Palette1" modified="2015-03-19 13:53:09" build="150310">
            <value name="Name" type="string" data="EXISTING COLOR"/>
            ...
            <value name="ColorTable31" type="dword" data="00e3f6fd"/>
        </key>
        <key name="Palette2" modified="2015-03-19 13:53:09" build="150310">
            <value name="Name" type="string" data="NAME OF THE COLOR YOU ADDED"/>
            ...
            <value name="ColorTable31" type="dword" data="00e7fdfd"/>
        </key>
    </key>      

    +END_SRC

    • How to Contribute See [[Template.xml]] for the template for color schemes with the default colors. In general, programs (such as =git=) uses colors through 0 - 8, (see the template for their uses). I decided to use git and PowerShell as the main targets, so please try to match your colors to the usage of those applications.

Also, make sure that all the color options set to =Auto= to get correct highlighting:

[[file:./screenshots/ConEmu_Color_Options.png]]