The wider world of window border themes

Pacific Highway crossingAfter all this talk about theme formats, an overview of how they are handled in other window managers seemed in order. Your chronicler is no expert on most of these systems, so there may well be mistakes below.

Feel free to add more in comments.

(And then of course there are two examples from outside the free desktop, which are so large they are easy to miss:

  • OS X does not generally allow theming;
  • MS Windows only allows very basic theming and no redefinition of window borders.

One reader contacted your chronicler offline to ask whether a theme editor, and indeed customisable themes, were not a white elephant, considering that most users of most computers in the world have no ability, and perhaps also no desire, to remodel their window borders.)

Conclusions:

  • Most environments do not allow anything beyond very basic theming.
  • Most of the other window managers rely either on pixmap theming or express their themes using a programming language.  The middle ground of using vector graphics is unknown outside Metacity.  (Of course, in the world of gnome-shell, we could always express themes in JavaScript, but expressing themes in code brings a whole raft of security implications of its own.)
  • Nobody uses external standards such as CSS or SVG, except insofar as programming languages are external standards.

Photo © scazon, cc-by.

7 Comments

  1. Posted July 16, 2009 at 5:55 pm | Permalink

    KWin also supports SVG themes, now. (http://kde-look.org/content/show.php/Aurorae+Theme+Engine?content=107158) It will be part of KDE 4.4

  2. Posted July 16, 2009 at 5:58 pm | Permalink

    Oo– now that’s particularly interesting. Thank you.

  3. Posted July 16, 2009 at 6:31 pm | Permalink

    If you put all this WMs on a timeline you’ll see rather distinct trend.
    Coded > Pixmaps > Vector.

  4. person
    Posted July 16, 2009 at 9:28 pm | Permalink

    Theming isn’t a white elephant. I’m not so into it personally, but my mother, who is exceptionally ignorant of computers and has bad eyes (needs large text to be able to read), loves to mess with themes. Showing her what you could do with themes in Metacity/Gnome, as opposed to the shoddy “Appearence Settings” of XP was what made her ask for the switch, and she’s been happily using it ever since.

    If XP allowed some form of theming that didn’t make your computer more ugly, I’m sure people would make use of it just as much as they change their desktop backgrounds.

  5. Sagar Mittal
    Posted July 17, 2009 at 10:20 am | Permalink

    I thought it was a little ironic that after following a link about metacity theming, I found a mostly unstyled blog :) It’s been a while since I did any web dev, so I put together a custom.css style[1]. You’re welcome to use it if you’d like; you can see what it looks like at [2].

    [1] http://www.cs.purdue.edu/homes/smittal/blogs.gnome.org/metacity/files/custom.css
    [2] http://www.cs.purdue.edu/homes/smittal/blogs.gnome.org/metacity/2009/07/16/the-wider-world-of-window-border-themes/index.html

  6. Posted July 17, 2009 at 9:51 pm | Permalink

    I DIG metacity theming.

  7. Screwtape
    Posted August 5, 2009 at 3:40 am | Permalink

    “MS Windows only allows very basic theming and no redefinition of window borders”

    It’s been a (very) long time since I played with Windows XP themes, but I seem to recall that while Microsoft does not allow theming beyond the “choose one of these predefined themes”, that’s actually enforced by a file called “uxtheme.dll” that expressly ignores non-Microsoft theme files. You can download a patched “uxtheme.dll” with that check disabled, and any number of third-party theme files can then be installed.

    I believe the theme file format is a Windows DLL containing pixmap resources for the various window parts, and some very basic metrics resources defining shapes; I don’t believe the themes have any executable code, and at any rate there’s not much a theme can do to the layout of a window (buttons are always the same size and in the same place, etc.)

    Presumably Vista’s Aero UI has some entirely different system in place.