Home > Linux > How To Tweak GNOME 3 To Your Needs

How To Tweak GNOME 3 To Your Needs

I’ve written about GNOME 3 before, specifically how much I love it. I do not use any extensions or third-party tweaks whatsoever as GNOME 3 feels very complete for me out-of-the-box. However, some users aren’t so easy to please and their habits don’t quite mix with the overall design of GNOME 3, even after approaching it with an open mind. Until the project is more mature (3.2, 3.4 maybe), there are several workarounds to many of the common “problems” that I’ve seen users have with GNOME 3:

How do I use the old GNOME 2 UI?

Before I tell you how to enable the old UI, let me just say that the GNOME 2 UI is deprecated for various reasons and WILL NOT RECEIVE FUTURE UPDATES. The old UI is considered a “Fallback Mode” for users who cannot use the current UI and is not intended to be used any longer if your system is powerful enough to use the new GNOME 3 UI. I would highly recommend that you give the new GNOME 3 UI a chance for a week and wrap your head around the new concepts, shortcuts and features. If, after all of that, you still want to use the old GNOME 2 UI, you can enable the intentionally hidden “Fallback Mode” by doing the following:

  1. Open “System Settings” in the Status menu at the top-right of the screen.
  2. Click “System Info” in the System Settings window.
  3. Click the “Graphics” tab on the side.
  4. Flip the switch for “Forced Fallback Mode”.

In addition to this, there are some extensions that enable a more GNOME 2-like experience. Scroll down to read about them.

GNOME Tweak Tool

An easy, GUI method to configuring GNOME 3 is present in the form of the (semi-official) tool, GNOME Tweak Tool. Download and install it with these commands:

git clone git://git.gnome.org/gnome-tweak-tool
cd gnome-tweak-tool
./autogen.sh && make && sudo make install

After it’s installed, run it with the “gnome-tweak-tool” command and customize GNOME in any of the following ways (lifted from the website):

  • Install and switch gnome-shell themes
  • Switch gtk themes
  • Switch icon themes
  • Change
    • The user-interface and titlebar fonts
    • Icons in menus and buttons
    • Behavior on laptop lid close
    • Shell font size
    • File manager desktop icons
    • Titlebar click action
    • Shell clock to show date
    • Font hinting and antialiasing

GNOME 3 does not officially support theming at the moment for the default UI, so you need the user-theme extension installed, which I mention below. As for GTK themes, there aren’t any other GTK3 themes available yet, so as soon as more are available theme support will be implemented.

How do I use my old window border themes?

GNOME 3, as of right now, does not let you change the default theme using a GUI option because they want a standard visual identity for GNOME 3, sort of how everybody knows a Windows or Mac desktop just by looking at it because of their strong visual identities. In addition to that, the designers and developers figured that it’s better to care about getting the fundamentals done right first, and allowing for more superficial concerns such as theming later. A method to change the window border theme is present though, but it is hidden. To change it, follow these steps:

  1. Copy the theme to ~/.themes (that’s /home/you/.themes)
  2. Open “gconf-editor”
  3. Browse to desktop -> gnome -> shell -> windows on the tree on the left side of the window.
  4. On the right, there’s an option for “theme”. Change it to the name of the window border theme you want to use and restart GNOME (Alt+F2, type “r”, hit enter)

GNOME Shell Extensions

GNOME Shell (the default desktop UI) has support for extensions (also called “Add-ons”), though support for them isn’t quite finalized yet. In order to use extensions now, you need to install the latest extensions from git. Here’s a list of all of the current extensions included in the repository (list taken from the README in the repository):

Lets you use classic Alt+Tab (window-based instead of app-based) in GNOME Shell.

For those who want a power off item visible at all the time, replaces GNOME Shell
status menu with one featuring separate Suspend and Power Off. Adds the ability to
hibernate as well.

Lets you manage your workspaces more easily, assigning a specific workspace to
each application as soon as it creates a window, in a manner configurable with a
GSettings key.

Shows a dock-style task switcher on the right side of the screen.

Shows a status menu for rapid unmount and power off of external storage devices (i.e. pendrives)

A minimal example illustrating how to write extensions.

Integration with Gajim, a Jabber/XMPP instant messaging client.

An alternative algorithm for displaying the thumbnails in the overview that more closely reflects the actual positions and sizes.

Shows a status indicator for navigating to places.

A message tray indicator showing CPU and memory loads.

Loads a shell theme from ~/.themes/<name>/gnome-shell.

Allow keyboard selection of windows and workspaces in overlay mode.

Replace the GTK+ based indicator from gnome-settings-daemon with
a native one. Lets the user rotate the laptop monitor and open
display preferences quickly.

To install, I would look for packages in your distribution’s repositories first (I know that Arch Linux has them). If not, use the following commands:

git clone git://git.gnome.org/gnome-shell-extensions
cd gnome-shell-extensions
./autogen.sh --prefix=$HOME/.local --enable-extensions="enter the extensions you want to enable here, space separated"
make install

There are some other extensions as well that aren’t in the git repository as of yet that I find to be very nice, though I don’t actually use any of them. Four of these are currently distributed in a pack, while another must be downloaded from git. The pack of extensions contains these:

Applications Menu:
Turns clicking on the “Activities” button into a menu for Applications similar to GNOME 3. The overview still works with the hot-corner and Windows key.

Break Dynamic Workspaces:
Lets you set a fixed number of workspaces. Helpful for users who find dynamic workspaces annoying.

Move Clock:
Moves the clock between the status menu and the system indicators, like in GNOME 2 and Ubuntu Unity. I personally lik the clock in the middle, but I guess this frees the middle for extensions to use, like the next extension…

Panel Favorites:
Puts a copy of your favorites list on the panel, between the Activities button and the AppMenu. This is similar to launchers from GNOME 2 and other desktops.

To install these extensions, do the following (credit goes to WebUpd8):

cd && wget http://intgat.tigress.co.uk/rmy/extensions/gnome-shell-frippery-0.0.4.tgz
tar -xvf gnome-shell-frippery-0.0.4.tgz

The extensions will now appear in ~/.local/share/gnome-shell/extensions along with the others I mentioned. You can remove them individually if there are ones you do not with to use. Another extension that WebUpd8 pointed out is a “Workspace Indicator” extension which lets you switch workspaces using the mouse without opening the Overview. To install it, you need to clone from a git repository. First, make sure you have git installed, and do the following:

git clone https://github.com/erick2red/shell-extensions.git
cd shell-extensions
mkdir -p ~/.local/share/gnome-shell/extensions #just in case
mv workspace-indicator@erick.red.gmail.com/ ~/.local/share/gnome-shell/extensions/

After installing any of these, restart GNOME Shell (Alt+F2, type “r”, hit enter). You should now have your extensions installed and functional.

If you were looking for more “hardcore” customization such as editing the GNOME Shell CSS files to customize it’s appearance, read this blog post (not mine). Some of the things that he does with GNOME 3 are really incredible and it shows how customizable GNOME 3 really is. In fact, some of these extensions come from his blog posts if I’m not mistaken. Enjoy, and I hope that these various tips helped you improve your GNOME 3 experience :)!

Categories: Linux Tags: ,
  1. wallberg
    April 6, 2011 at 3:04 pm

    Excellent post! I did not know about the Gnome Tweak Tool before 🙂

  2. April 6, 2011 at 3:55 pm

    Anybody that clicked the GNOME Tweak Tool link and got a Mimi & Eunice comic instead, I apologize; I was careless with my clipboard today. It’s fixed now!

  3. George
    April 7, 2011 at 8:49 am

    Huh? I expected more actual information about customization. Anyway for people who are interested, here is the best post I have found to date about GNOME Shell customization – http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html

    • April 7, 2011 at 9:36 am

      Wow, great link! My post here talks about a rather different kind of “customization”, but that blog post you mentioned really went all-out. I’ll reference it in my post. Thanks for the link 🙂

  4. April 12, 2011 at 7:05 pm

    Thank you for the advices!
    I’d like to add, for those who try some extensions and then would like to get rid of them, that the command issued will look like this:

    gsettings set org.gnome.shell disabled-extensions ‘[“alternate-tab@gnome-shell-extensions.gnome.org”, “dock@gnome-shell-extensions.gnome.org”]’

    This was to disable dock and alternate-tab extensions. Look for the exact names in ~/.local/share/gnome-shell/extensions/


    • Joey
      June 2, 2011 at 8:52 pm

      When I do that I get

      gsettings set SCHEMA[:PATH] KEY VALUE

      Set the value of KEY to VALUE

      What do I do? I am very frustrated.

  5. Colm
    April 15, 2011 at 5:00 am

    Exerlant gnome 3 tips, I’v just submitted a link of this article to http://www.linuxine.com in order to share it with more linux fans,see


  6. Mali lolcat
    April 16, 2011 at 2:12 am

    Sloshy :
    Anybody that clicked the GNOME Tweak Tool link and got a Mimi & Eunice comic instead, I apologize; I was careless with my clipboard today. It’s fixed now!

    Well, at least it wasn’t “Huge backdoor entry slamming 7” 😉

  7. thms
    May 14, 2011 at 5:40 am

    “Afterwards, restart GNOME Shell (Alt+F2, type “r”, hit enter). You should now have your extensions installed and functional.”

    Where do I see the extension?

    • May 14, 2011 at 9:29 am

      Press Alt+F2 and type “lg” (for Looking Glass, a tool the developers use). Click the Extensions button at the top to see the extensions you have installed.

      • thms
        May 15, 2011 at 10:52 am

        Great, thx!

  8. philip ballinger
    May 19, 2011 at 4:43 am

    hi, thanks for the post!
    i am trying to get the ststemMonitor shell extension working but there seems to be a prob with libgtop-2.0

    configure: WARNING: libgtop-2.0 not found, disabling systemMonitor

    i got the packages installed, the files under the lib dir’s…. but no luck

    • May 19, 2011 at 8:10 am

      Try #gnome-shell on irc.gnome.org. The developers are much more knowledgeable than I am with these things.

  9. philip ballinger
    May 22, 2011 at 5:17 am

    thanks, didnt try that, b ut using currently another system monitor app

  10. July 30, 2011 at 12:56 am

    ok so i like gnome3 so far but there are some things that annoy me about it and maybe you can help (they are petty issues but annoy me none the less) the main one is having to go to the left side of the screen to get to activities then jot over to the right side to select whatever group i need to get in to find a particular app then hustle back the the other side of the screen (i make it sound like i am going across town) to click the giant app icon… is there a way to move the groups to the right side after you click activities/applications? also is there a way to rearrange the menu order of the applications? having All at the top is like info overload on my netbook… it’s just too much… i don’t mind a few icons but all is just insane… like i said they are petty but it really is frustrating and i don’t think i can get used to it… and i really don’t want to be ‘that guy’ who still likes the set up of windows 95 and how it was so 3l33t back in the day… bla bla bla… ok just thot i would ask cuz i am getting sleepy and lazy… thanx!

  11. July 30, 2011 at 12:57 am

    oh one more request can i make the icons smaller? didn’t see it in gnome-tweak-tool or the system settings…

  12. MacPaddy
    August 30, 2011 at 4:06 am

    I can see the appeal of the Gnome 3 UI, and I consider myself a quite open-minded person. But I just downgraded back to Gnome 2, as I couldn’t get used to the look and feel of Gnome 3. It looks pretty, but I miss the line at the bottom of the screen, and I can’t stand the dock thing they’re implementing in the applications folder. It’s much too similar to that of the new Ubuntu design. I’ll keep checking up on Gnome 3’s progress though, I don’t want to be one of those people stuck forever on Gnome 2, he he.

  13. September 25, 2011 at 6:43 pm

    Has anyone figured out hwo to combine the menus and the titlebar onto the same horizontal space, like this?

  14. October 23, 2011 at 5:20 pm

    “and allowing for more superficial concerns such as theming later”.

    Theming is not superficial to me.

    • October 24, 2011 at 10:06 am

      Relative to things like being stable and having the bare minimum of features that matter the most, theming is superficial. It’s really nice to have, of course, but it isn’t necessary at all, unless you’re talking about theming for accessibility (which GNOME 3 supports by default, I believe).

  15. Marcus
    November 19, 2011 at 10:50 pm

    Thanks for the article. And wow! I’m loving Gnome 3.2! It’s looking to be my favorite desktop on any machine, I’m shocked, I had disliked the big G quite a lot over the past many years.

  16. kiviuq
    February 25, 2012 at 7:35 am

    As of now the extensions wont work (on archlinux http://aur.archlinux.org/packages.php?ID=47501). I hope the make those ext. part of Gnome 3.x. some day

  17. Thehud
    March 27, 2012 at 2:00 pm

    You can also override / change the location / size of the hot corners.

    For example, to make the entire bottom edge the hot corner for the message tray:
    * Open /usr/share/gnome-shell/js/ui/messageTray.js using gedit (or your preferred editor)
    * Search for “_setSizePosition: function()”
    * At the bottom of the function (under the line “this._corner.y = Main.layoutManager.trayBox.height – 1;”) add the following lines:
    // Make the hotconer the whole bottom edge
    this._corner.x = 0;
    this._corner.width = monitor.width;

  1. April 6, 2011 at 5:15 pm
  2. April 6, 2011 at 5:20 pm
  3. April 25, 2011 at 10:26 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: