Theming gmaster: How-To Guide

Monday, November 20, 2017 12 Comments

Nowadays, most developers and designers love to use customized themes for their tools. In my case, I prefer especially dark themes. They help me to keep focused and avoid distractions. But, maybe your preferences go in another completely different direction.

As you know, a theme can be everything from the color of your sidebar to tabs, and things like that. In gmaster, you have complete control to transform these however you want.

You can change your active theme by clicking on the top-right menu Theme. Then, you can switch between the Light or Dark theme.

In this tutorial, we are going to learn how we can build and use our customized theme.

Creating your theme file

  1. Go to your theme folder at AppData\Local\gmaster\bin\colors.
  2. Open the lightcolors.xaml or darkcolors.xaml file in your preferred code editor.
  3. Save a copy of this file, into the same colors folder with the name of your theme, following the next convention:
    • All characters must be lower cased, no spaces, no underscore, or any other special characters.
    • Only alphanumeric characters are valid (a to z, 0 to 9).
    • The name must finish in colors.xaml or in darkcolors.xaml for dark themes.
    • For example, these are valid theme file names: mythemecolors.xaml and mythemedarkcolors.xaml.

Working in your theme

In your mythemecolors.xaml file, the color variables follow this pattern: <Color x:Key="GMaster.NameOfTheItem">value</Color>, where

  • NameOfTheItem is the name of the variable,
  • and value is the color value in hexadecimal format.

For example: <Color x:Key="GMaster.SideViewItemBackground">#11344B</Color>.

For practice, let's start with an example:

  1. We are going to change the color of the left sidebar background.
  2. Start gmaster for visualizing your changes.
  3. In the 19th line, find this: <Color x:Key="GMaster.SideViewItemBackground">#11344B</Color>.
  4. Change the color value to "#000000" and save the file.

Press the Ctrl + F5 key for refresh your view. And Boom! You can see the left sidebar (and other UI items) in black:

You can choose another hexadecimal color and test it.

Share your theme

You can try with other variables for changing another UI items. One easy trick is to test with "FF0000" (red) because you can see the changes easily:

Once you decide what UI item change, you can adjust the UI item to the color that you prefer.

Piece of cake! Isn't?

Let's go to create awesome themes. Share with the community and with us via Twitter.

Have fun!

We develop gmaster, a Git GUI with semantic superpowers. It parses the code to really understand how it was refactored and then diff it and merge it as a human would do, matching methods instead of lines.

If you want to try it, download it from here.

We are also the developers of SemanticMerge and Plastic SCM, a full-featured version control.


  1. That's great to let us create our own color theme, so thumbs up for this.
    To go even farther, as WPF developer I would love to have the possibility to tweak the templates (for example change the grip pattern -which I tried to do few weeks ago-, some alignments or more ...)

    1. I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading. Nice blog, I will keep visiting this blog very often. Electronics & Accessories

  2. Hi Julien. Yes, all the templates used for buttons, lists, textboxes and other controls are defined in the file /AppData/Local/gmaster/bin/styles/styles.xaml. Of course you can change this file as you want. The drawback is that when you install a gmaster upgrade, you need to ensure to backup your changes first, and then overwrite the styles.xaml file again. Only out of curiosity, what are the templates you're thinking to modify?

    1. I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading. Nice blog, I will keep visiting this blog very often. Pets

  3. Hi,
    The first thing I tried to modify is the panel grip that I found a bit too heavy. So I search in the styles for the resource called "titlebargripper" (thanks snoop) but I could not find it. So I guess the file that defines this style is embedded with some binary file?

  4. Inside The History of the Wynn Resorts Casino in Las Vegas
    The Wynn Resorts Casino and 토토 넷 Tower is a two-tower hotel located on the bet365 가상 축구 Las 사설 토토 Vegas Strip 토토사이트 승률 높이는 법 벳무브 in Paradise, Nevada. It 가입 머니 즉시 지급 is owned and operated by MGM

  5. This is a brilliant blog! I'm very happy with the comments!.. Buy Tiktok Lights

  6. Thanks for sharing this best stuff with us! Keep sharing! I am new in the blog writing. All types blogs and posts are not helpful for the readers. Here the author is giving good thoughts and suggestions to each and every reader through this article. literature-essay Quality of the content is the main element of the blog and this is the way of writing and presenting.write my assignment for me

  7. 바카라사이트

    I'm no longer sure where you are getting your info, however good
    topic. I must spend some time studying much more or working
    out more. Thank you for excellent information I was
    searching for this info for my mission.

  8. 스포츠토토

    It's going to be finish of mine day, but before end I am reading
    this wonderful article to increase my experience.

  9. 스포츠중계

    Marvelous, what a blog it is! This website provides valuable facts to us, keep it up.

  10. 토토사이트

    Incredible points. Sound arguments. Keep up the great effort.