You Got A Question? Ask    GNOME Community!


Using Shell Themes Basics | A Tutorial To Apply Classic Theme

First of all there are much better themes than Classic to use, and this is more or less a guide for using Shell Themes.

GNOME doesn’t officially support Shell Theming and therefore we need ‘user-theme’ shell extension, which is written from Giovanni Campagna (Gnome-Dev) and is officially supported from GNOME. Confused? ;)

If we check the code:

if (_themeName) {
    let _userCssStylesheet = GLib.get_home_dir() + '/.themes/' + _themeName + '/gnome-shell/gnome-shell.css';
    let file = Gio.file_new_for_path(_userCssStylesheet);
    if (file.query_exists(null))
        _stylesheet = _userCssStylesheet;
    else {
        let sysdirs = GLib.get_system_data_dirs();
        sysdirs.unshift(GLib.get_user_data_dir());
        for (let i = 0; i < sysdirs.length; i++) {
            _userCssStylesheet = sysdirs[i] + '/themes/' + _themeName + '/gnome-shell/gnome-shell.css';
            let file = Gio.file_new_for_path(_userCssStylesheet);
            if (file.query_exists(null)) {
                _stylesheet = _userCssStylesheet;
                break;
            }
        }
    }
}

We will see that the extension is looking for themes either in:

sysdirs

/usr/share/themes
/usr/local/share/themes

or local

$HOME/.themes

and the structure should be:

our-theme-name + /gnome-shell/gnome-shell.css

Tutorial

I am just overriding the default Shell Theme, and using the Classic. It isn’t the very correct way to use Classic, but it is easy to fix it after you understand the basics ;)

This is useful if you want to make changes over the default theme, which is the recommended way for creating new themes anyway. This is 3.12 beta, but it works the same way for all Shell editions.

There is a similar post for GTK Adwaita Theme.

Theme: Pianochocolate – First Sense – Pianochocolate

My fingers were freezing, that’s why I am doing some pauses when I am typing from time to time..

Blame the weather ;)


JHbuild Installations

For building all shell extensions add in your .jhbuildrc

module_autogenargs['gnome-shell-extensions'] = '--enable-extensions=all'

 
  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community