GTK3
With version 3.0, GnuCash has upgraded to the GTK3 library from GTK2.
Customization
As registered in bug 791823, there is no GTK theming tool available with GTK3 as opposed to GTK2. Due to the fact that GTK3 uses Cascading Style Sheets (CSS) for themes, this, however, is relatively easy to resolve by placing a CSS file at the correct location on your system.
The comprehensive GTK+ CSS Overview is available at Gnome Developer web site.
Note this custom theme will affect all gtk3 based applications on your system!
- Configuration tools
- Various Linux distributions provide custom tools for managing themes. There is a nice overview of graphical tools available, depending on the desktop environment at archlinux.
Sample GnuCash CSS file:
For extra info, you can also look at these low-level customizations:
Note that these contain the variables, as explained in the CSS customization overview, under Colors section.
To locate the UI elements for customization, you can use the GTK Inspector tool.
To customize the GnuCash theme, create and/or modify an existing Cascading Style Sheets (CSS) file at the right location. The location of this file on different operating systems is explained in the following FAQ answer: Where can I find the GTK resource file? Note that, by default, no gtk-3.0.css file will be created by GnuCash so you will probably have to create one manually. Then add the CSS rules or copy values from an existing theme. There are plenty of GTK3 theme resources caused by the fact that CSS is a widely-adopted standard for UI styling and many people are familiar with it.
Related wiki entries:
Themes
You can use predefined GTK3 themes.
Short summary:
- Download an appropriate gtk3 theme from www.gnome-look.org
- Install the theme in a directory where gtk3 looks for themes
- create or adjust a settings.ini file to tell gtk3 to use this theme
Some sites where you can browse custom GTK3 themes:
Below is a slightly longer explanation with platform dependent remarks:
1. Go to the gnome-look.org website
2. Click the "Gtk3 Themes" link (*not* the Gtk2 one)
3. Select a theme you like. Alternatively you can search for keywords (like "dark") in the top right corner and then filter on "Gtk3 Theme category".
4. If you have found a theme you like, download the proper file (in the files section of the theme page). Note depending on your operating system you may not be able to open all theme files. There are, for example, .deb archives which are specifically targeted at the Debian linux distribution and derivates such as Ubuntu. While Ubuntu and Debian users can install those themes via their package manager these themes are not useful for other platforms. Theme files ending with .zip, .tar.gz or tar.xz are likely installable on all platforms, although you may have to find a proper application to extract them. On Windows 7-Zip is a good candiate, linux users can probably extract the files directly from their file manager. Let's take the theme "Eye-friendly Dark RBC" as an example (it's not the best theme but it can serve as an example). The file to download is "Eye-friendly-Dark-RBC.tar.gz"
5. Extract this file using an appropriate tool. This should give you a directory named "Eye-friendly-Dark-RBC"
6. Move this directory to a location on your system that's parsed by gtk. This is platform dependent:
- Linux: $HOME/.local/share/themes/ - OS X: $HOME/.local/share/themes/ - Windows: %LOCALAPPDATA%\themes\
7. Next tell gtk to load this theme. Linux users can probably most easily do this by install the "Gnome Tweak Tool" on their platform and select the new theme there. The manual method is this: Create a file named "settings.ini" in the appropriate location. Again this depends on your platform: - Linux: $HOME/.config/gtk-3.0/ - OS X: Either $HOME/.config/gtk-3.0/ (like on linux) or $HOME/Library/Application Support/Gnucash/config/gtk-3.0 I suspect the latter in this case because gnucash overrides the XDG_CONFIG_HOME environment variable on OS X - Windows: %LOCALAPPDATA%\gtk-3.0\
The contents of this file should be
[Settings] gtk-theme-name=Eye-friendly-Dark-RBC
And that's it. Note the name is the name of the directory as you put in the themes directory. The next time you start gnucash it should pick up this theme.
A few extra notes:
- The default gtk3 theme is called "Adwaita"
- On linux there's a second default theme called "Adwaita-dark" which should also give you a dark themed gnucash. Unfortunately this doesn't work on Windows.
- If you're adventurous you can probably also play with customized icon themes which you find on the gnome-look.org website. These themes should be installed in the icons directory next ot the themese directory. And to activate them you can add gtk-icon-theme-name=<directory name> in settings.ini.
- Another setting some of you will be interested in is gtk-font-name=<a font description>
for example gtk-font-name=Abyssinica SIL Regular 10
- More gtk settings one can override can be found here: //developer.gnome.org/gtk3/stable/GtkSettings.html
Dark Theme
Here is an example of a dark theme for GnuCash 3. Note that this is still a work in progress, though.
Due to the lack of a dark theme on Windows, the guide would be the Adwaita Dark custom theme.