I'm wondering if someone can point me in the right direction for creating an Ubuntu theme using pure HTML/CSS/JS. I'm hoping there is some existing back-end to GNOME3 or Unity I can simply install and create my theme as easily as I'd create a website.

P.S.: If there is no such way to create a theme or add to the default theme, then alternatively if you can, please give me some details about what systems/libraries I'd have to hook into or extend. I'm a C++ developer so I suppose if I really have to, I can make this possible. Hoping though that something already exists.

Thanks for your help!

  • 2
    GTK 3 themes are done with a CSS-like GTK syntax. There's very few pointers in the Gnome page but you can begin by modding a existing theme. Gnome Shell themes are done in Javascript(?) and CSS. Feb 23 '13 at 21:57
  • Thanks for the input Uri. From what I've read I understand that they use some JS and a CSS-like syntax.... I was hoping for a solution where I could use pure html/js/css like what would execute in a browser though rather than having to learn yet another "language" if you know what I mean. I'll check it out though in greater detail... if it's not too different than standard js/css then perhaps it'll work out. Thanks again.
    – user13491
    Feb 24 '13 at 2:48
  • I just mean if there were some sort of plugin for the shell or something where you can hook into it and render the desktop and windows with webkit or something that'd be pretty awesome.
    – user13491
    Feb 24 '13 at 2:49
  • @UriHerrera: you should put your comment as an answer, I believe yours is the right answer.
    – Suman
    Feb 25 '13 at 21:14
  • well the apis are very interesting, but not really constructive. i know how to create css. but i dont know how to implement them with gtk. i mean i can invent some button-reactonmysquint-function but it wont help - lol. ive been experimenting with ambience and others from the glooks.org - but you can only do colors - somewhre in the .opp it must be written - the holy (wholy) script - and people know it - thus glooks.org - but no one is gonna telling you. i mean, it was the same with jave 15 years ago - how to use javac where to install the jre and how to deploy your own creations - which is ob
    – user136874
    Mar 16 '13 at 0:34

You cannot do this. Most of the applications in Ubuntu are not HTML web apps embedded running on a common API, like say they would be on WebOS or the new FirefoxOS. However, GTK+ 3.x and Qt 4 and 5 do use a specialized CSS syntax for creating themes.

There is some documentation available in the GtkCssProvider API documentation. There is also some documentation for Qt in the Qt Style Scheets documentation.

However, even if you create some themes, it will not apply to all applications, and any application can still force its own style, if the author of it so chooses.


Most Ubuntu applications in Ubuntu are GTK based and QT based. GTK themes are mostly some sort of CSS files. If you have a glance at /usr/share/themes/Radiance you will have more information of basic structure of themes in Ubuntu. I can say that most elements are used within default Ubuntu themes, so you can find almost any element name there. In order to have a full documentation: [developer.gnome.org/gtk3/stable/GtkCssProvider.html][1].

[1]: http://developer.gnome.org/gtk3/stable/GtkCssProvider.html . Edit: corrected the link.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy