09 November 2012

When I first migrated from Gnome 2.6 to the 3.x branch I hated it. I even started running Unity in fallback mode just so I could get work done. I was not alone in this opinion. Indeed, the controversy over Gnome3 even has its own Wikipedia page! Eventually I read up on some of the new features added to Gnome 3 and gave the new UI a fair chance.

The new interface is, shall we say, minimal. Gone is the traditional gnome menu. Instead it is replaced with a fancy animated things. Because I didn’t like what I was seeing I quickly started customizing. Through the use of gnome-tweak-tool and extensions, I have a desktop that makes me more productive and (slightly) more happy.

Many of the changes I suggest below require the use of the gnome-tweak-tool which you can install via:

sudo apt-get install gnome-tweak-tool

Static number of workspaces

I organize my desktops in a very specific way. Desktop 1 is for my primary task. Desktop 2 is for reference material. Desktop 3 is for instant messaging and overflow content from the first two desktops and finally my fourth desktop is for email and music. Gnome 3 broke this workflow horribly. Instead of having a static number of workspaces, I had a dynamically changing number. If I closed all of the windows on desktop 2, desktop 2 would disappear. No longer were things arranged the way I wanted.

Fortunately, there were extensions for Gnome 3.4 (Frippery bottom panel or Workspace Grid) that fixed this. In Gnome 3.6, you can specify a static number of desktops through the gnome-tweak-tool. Simply open up the program and navigate to the Shell group. From there, shut off dynamic workspaces and set the number of desktops you want to have. Note, the arrangement is vertical by default. If you want some other arrangement, you need to install Workspace Grid.

Show the date on the clock

My schedule is routine enough that I know the day of the week, but I seldom know the date. The clock in Gnome 3 normally shows the time (in 24-hour format). You can click on the clock and change the time format to 12-hour through the Date and Time Settings, but there is no way to change the clock format.

In the Shell section of gnome-tweak-tool there is a simple toggle to add the date to the clock. Simply activate the “Show the date in clock” toggle.

Battery icon missing

Although not strictly a Gnome 3x problem, this one annoyed me endlessly. If you install Gnome 3x on top of a system running Unity, the battery icon might appear on the login screen, but disappear once you login. The batter icon is not missing, in fact is is there:

The battery icon in Gnome 3 is dark if you have previously used Unity

To fix this open up gnome-tweak-tool and navigate to the “Theme” on the left pane. Choose a different icon theme. Some will show the battery icon, others will not. If you like the default Ubuntu theme, the LoginIcons theme matches the default Ubuntu-mono-dark.

The battery icon in Gnome 3 is dark if you have previously used Unity

Extensions, extensions, extensions

Perhaps my favorite feature of Gnome 3 is the ability to modify the UI using extensions. You can change simple things (like removing the accessibility icon) or even change the way window switching works. I would write a few extensions to solve my remaining complaints about Gnome 3 (see below), but I haven’t been able to find documentation on how to write extensions!

Anyway, here are a few of my favorite extensions:

Battery Power Statistics Shortcut

Adds a shortcut to the battery menu which gives you quick access to power statics.

Frippery Panel Favorites

Adds programs in your favorites to a dock in the panel. This effectively creates constantly visible launch icons.

Frippery Panel Favorites

Media Player Indicator

Integrates media player information into the Gnome volume applet:

Media player indicator applet

Remove Accessibility

Removes the accessibility icon from the panel.

Status Area Horizontal Spacing

Reduces the space between applet icons in the panel.

A few requests:

After adding these extensions I’m quite happy with how Gnome3 functions. There are still a few requests for things I would like to see:

  1. An easy way to configure animation transition times. In Gnome 3.4 I could use the Impatience extension; however, it has yet to be updated for Gnome 3.6. Until this happens I’m just stuck waiting for the filly animations to get out of the way.

  2. A better way of switching between applications. Yes, I know I can ALT-TAB between applications, but I find it faster to just click on buttons in a system tray.

  3. Documentation on shell extensions. Right now if I Google “write a gnome shell extension” the number one result is “Re: Is there a tutorial for writing gnome-shell-extensions?” (Edit: within a week or so the third hit is step by step to write a gnome-shell extension, although even this nice presentation ends with a “No document sad…” statement).