Linux

Theming GNOME

Compared to changing a couple colours here and there and selecting icons manually from a list of .ani files, theming GNOME is way mooore complicated than editing the classic Windows appearance settings.

Moreover, the places where you can change things are not centralised in a single Administration menu option: you configure separately things such as the windows borders, the appearance of the GTK controls and etc. It's very powerful, but also more complicated.

When using GNOME I'm all the time craving for a better theme than the best themes I've found to date. I've been looking through repositories such as GNOME's Art Themes repository but I haven't found what I'd like yet. Most of the themes are overly complicated or supertacky --nothing wrong in itself if that's what the user likes, but it's not what I like. So I've decided it's time to investigate how to create GNOME themes and document my findings here. Therefore, this is a work in progress --don't get surprised if you find gaps or missing things.

Contents

Controls

To do.

Window borders

To do.

Mouse cursors

A set of mouse cursors is also known as an X11 Mouse Theme or Xcursor theme.

This is how it's done:

  1. you compile the source image files in PNG format (if you want animations, you need a file per animation frame)
  2. for each cursor, prepare a config file which specifies things such as where is the "tip" of the mouse (where you click), the frames for an animation, the size, etc), and use the config file as input for a program called xcursorgen which creates something like a binary version of the cursor which incorporates all those data into a single file per cursor (it's easier than it sounds!)
  3. finally you can just install your theme!

Here's a rough tutorial on how to generate (build) a mouse cursors theme, which comes with a sample theme too. I've taken the liberty to revise the tutorial text and improve the English to make it a bit more readable --not sure if I've succeeded, but here's my take. I tried to contact the author to let him know about it, with no luck :-(

Once your new theme is built, you can install it by copying its folder to the ~/.icons/ directory. This will make the theme available only to you --it's not a system-wide installation. For sharing the theme with other users in your computer, you need to copy its folder to a folder such as /usr/share/icons. It depends on your specific operating system, I guess.

Now just open the display preferences (with Gnome Menu --> System --> Preferences --> Appearance, then Customise... in the Theme tab, then the Pointer tab and finally select your newly installed theme there. If it doesn't show on the list, bad luck. Verify all the previous steps.

There are more cursor themes at gnome-look.

Tools for developing/modifying cursor themes

  • The Dummy X11 theme is a particularly clever and interesting aid for developing custom themes.
  • There's a program called gCursor for selecting/configuring cursor themes, but it doesn't seem to work properly in recent versions of Ubuntu.
  • Gursor Maker for manipulating themes using a GUI
  • XMC - X11 Mouse Cursor plug-in for The GIMP, for reading xcursor files and editing/using their images without the original png files, although I haven't been able to get it to work :-(

Splash screens

To do.

Login screens

To do.

Positioning title window icons

Oh the eternal debate! (specially since Ubuntu 10.04 started having them on the left, Mac style). To change them to the left there's a simple trick you can use explained here. Basically, you edit the Apps--metacity--general--button-layout setting using gconf-editor and change it from menu:maximize,minimize,close to close,maximize,minimize:menu.

You can even go further and omit maximize and minimize if that makes you happier.