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:
- Open “System Settings” in the Status menu at the top-right of the screen.
- Click “System Info” in the System Settings window.
- Click the “Graphics” tab on the side.
- 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:
- Copy the theme to ~/.themes (that’s /home/you/.themes)
- Open “gconf-editor”
- Browse to desktop -> gnome -> shell -> windows on the tree on the left side of the window.
- 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):
alternate-tab:
Lets you use classic Alt+Tab (window-based instead of app-based) in GNOME Shell.alternative-status-menu:
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.auto-move-windows:
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.dock:
Shows a dock-style task switcher on the right side of the screen.drive-menu:
Shows a status menu for rapid unmount and power off of external storage devices (i.e. pendrives)example:
A minimal example illustrating how to write extensions.gajim:
Integration with Gajim, a Jabber/XMPP instant messaging client.native-window-placement:
An alternative algorithm for displaying the thumbnails in the overview that more closely reflects the actual positions and sizes.places-menu:
Shows a status indicator for navigating to places.systemMonitor:
A message tray indicator showing CPU and memory loads.user-theme:
Loads a shell theme from ~/.themes/<name>/gnome-shell.windowsNavigator:
Allow keyboard selection of windows and workspaces in overlay mode.xrandr-indicator:
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 :)!
Excellent post! I did not know about the Gnome Tweak Tool before 🙂
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!
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
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 🙂
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/
Cheers!
When I do that I get
Usage:
gsettings set SCHEMA[:PATH] KEY VALUE
Set the value of KEY to VALUE
What do I do? I am very frustrated.
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
http://www.linuxine.com/story/how-tweak-gnome-3-your-needs
Well, at least it wasn’t “Huge backdoor entry slamming 7” 😉
“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?
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.
Great, thx!
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
Try #gnome-shell on irc.gnome.org. The developers are much more knowledgeable than I am with these things.
thanks, didnt try that, b ut using currently another system monitor app
http://github.com/paradoxxxzero/gnome-shell-system-monitor-applet
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!
oh one more request can i make the icons smaller? didn’t see it in gnome-tweak-tool or the system settings…
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.
Has anyone figured out hwo to combine the menus and the titlebar onto the same horizontal space, like this?
http://www.webupd8.org/2011/02/unity-mockup-menu-integrated-in-window.html
It’s possible to do something *sorta* like that with an extension, but it uses the Application Menu on the top bar instead. The GNOME team is looking in a rather different direction and are currently doing research on how to best do this. Go here for examples: (Sorry it didn’t show up the first time)
Where can I see examples, please?
Fixed, sorry about that. Also here’s a link to a GNOME Shell global menu: http://www.webupd8.org/2011/09/get-global-menu-in-gnome-shell.html
Oh, that looks really nice. Thank you
“and allowing for more superficial concerns such as theming later”.
Theming is not superficial to me.
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).
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.
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
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;