Creating a Cheap "Unity Desktop Replica" Out of Gnome Classic (Yikes!)

I used to think that I'm a bit of a moderately experienced GNU/Linux user rather than an absolute beginner who's starting to learn it from scratch. But after seeing few things, I'm re-considering my identity (shi* ;-)). Okay, Okay, let's forget about the usual boring, bragging... and let me start this right-away.  

Now here's the thing... I kinda like the Unity desktop apart from all those criticism against it . But that's not to say it's perfect nor I love it (I was one of the dudes who heavily criticized it, still do)... But from all the good things about it, perhaps it will never be my primary desktop because of the fundamental, scary philosophical belief that it carries.

But for those of you who love Unity desktop ... the issue as many has pointed out is, it, like Gnome 3 needs a lot of your GPU resources because it uses the 3D, advanced composting manager, the Comipz. The issue at the moment is not so much because of the resource actually... it's due to the unstable Compiz customizations done to it, I think.

Anyhow, you can still use the Unity 2D module but that's written in Qt-toolkit and for some reason I'm always a bit skeptical about Qt (maybe I'm a freak after all, oh you think Gayan? :/).

So after like 4 months of the initial 11.04 Natty release... two days ago I thought, "hmm, I wonder if there's a way to make Gnome classic looks like Unity, by any chance..." I'm pretty sure many already knows how to achieve this and it took my dull bran like 1.5 Hours to figure it out and finally I came up with the below one :/.

Except for the Dash-Search bar, missing :/... but a much better one is achieved at the end of the post...

Below one is how it looks like when a Window is maximized.

The "launcher" is hidden which is revealed when you move your mouse to the left side as with Unity...

How the heck did you do it?

Now remember, I did this without using any third-party software what-so-ever (except for a small Gnome applet). This was build using the Gnome classic desktop that Ubuntu 11.04 gives you.

Things that has to be done

1. As you all know, Unity desktop module displays the application menu using the Unity dash (thanks Apple). So we gotta figure out a way to do that.

2. And also when you maximize an application window, the borders (title bar) is automatically removed and the Buttons are also moved into the Unity dash.

3. Then there's the Unity application launcher that does not change its location and Ubuntu will not let you do that since according to themselves, if they do then the OS would be going against the design goals, so they say.

But personally for the 16:9 wide screens... unlike with the bottom-dock like in Mac OSX, this left app-launcher is a bad move.

These are the most prominent things that make the difference between Gnome classic and Unity desktop concerning the GUI of course. So if you're ready, then let's dress-up the ex-Gnome and make her look like the new Unity girly ;-).

Now I assume that you're already logged into the Gnome classic desktop. 

1. Remove the menu-bar - Just right-click on the top Gnome panel and from the menu choose "Remove from panel".

If you've filled it with app-shortcuts, then you may need to remove them to make some space for the "application menu-bar".

2. Now let's replace that "vacuum" with a Unity desktop "icon" type thingie called the classic menu-bar-icon which is very useful since it lets you easily launch apps (it's basically a simplified version of the menu that we just removed but doesn't take much room since it display itself as an icon).

Again right-click on the top panel and from the menu choose: "Add to Panel". Now scroll down until you see an applet called "Main Menu". Select it and click on the add button. Now you should see a small Unity icon on the top panel, move it to the left-edge of the panel.

3. Adding the Title-bar Buttons to the panel - By default, once we maximize a window Unity displays the title-bar button (maximize, restore, close) on its top panel. Luckily with Gnome, there is a separate applet that does exactly that!.

It's called "Gnome Window Applets". You can install it easily in Ubuntu 11.04 Natty Narwhal using the below commands in your Terminal window.

sudo add-apt-repository ppa:tsbarnes/misc

sudo apt-get update

sudo apt-get install gnome-window-applets

After installing, log-out and log-in again to complete the integration.

After that, as usual, again right-click on the top panel and choose "Add to Panel..." and again scroll down until you see the applet called "Window Buttons" and click on the add button.

Depending on your current theme (It supports all the official Ubuntu themes), you can change between a lot of different button-themes. To access the preference, just maximize a window and you'll see another "three-buttons" on the top panel. Right click on it and choose "preference" and make you selections.

Now also move this buttons-applet next to the above mentioned "menu-bar icon" to the left. To make things a bit neat, you can also add a separator applet if you like. To do that, again open the applet adding window and chose "Separator" then move it between the "Menu-bar icon" and the "Buttons-applet".

Add another separator right next to the buttons applet and after you've done all that, the panel look something like in the below screenshot. Again this is not necessary.. but it looks good.  

4. Removing Title-bars for Maximized Window (This is a bit tricky, not really :P) -

When you maximize a window in Unity desktop, it removes the title-bar from the windows and only displays the buttons. How can we do that?. Simple, for that we'll be using the Gconf-editor (advanced Gnome desktop settings manager).

Press "Alt" + "F2" keys and enter the below command.


Now from the new window that you get, from your left, navigate to : "Applications" -> "Metacity" -> "General".

To your right side, look for an option called "show_maximized_titlebars" (as in below screenshot) and remove the check mark.

That's it. From now on, whenever you maximize a window, the title-bars will be automatically hidden and should look exactly like below (which is a bit closer to what the Unity does).

Getting a bit closer...

6. Adding the "Unity application menu-bar" -

As said, Unity displays all the selected apps menu in its top panel. How can we to this in Gnome?. Thankfully, Ubuntu does have it implemented universally thus a Gnome classic applet is installed into 11.04 by default. It's called "Indicator Applet App Menu".

To add this to your top panel, again right click on the panel and choose "Add to Panel..." and from the list scroll down until you see "Indicator Applet App Menu" and click on the "add" button.

After that, you should see the default menu for whatever the application that you use (well the ones that supports Ubuntu's new menu-protocol), their menus now should be displaying in the top panel just like in Unity.

This is not 100% perfect, since when not maximized, the button are hidden in Unity (so as here but)... but with this applet, it leaves a "space" as you can see (between menu-icon and the app-menu-bar) if you know a way around this, I'm more than willing to hear it :D. Other than that, everything looks a lot like Unity.

7. The Application launcher - 

Ah yes, the launcher. Well in the first screenshot at the beginning the of the post, i have something a bit similar to that. All I did was took the already existing bottom panel in Gnome and changed the width/height (made it transparent, etc) and added few shorts of my own. But that has few limitations.

For instance, with the application launcher in Unity, we can switch between multiple windows of the same app, it has notifications, etc but with the Gnome classic, you can't do that.

But luckily, you can get almost all those features by simply installing an application dock such as Avant Window Navigator which I also did and then after adding apps, etc it looked like the below one. If you do this, then delete the bottom Gnome panel as well.

Final Desktop with third-party application dock: Note the "Grey three buttons" - As a fix to that ugly space for the window-buttons applet, I used its settings so it'll always display the button which makes it looks good actually :)

Current issues ?

*. Well, when you haven't chosen any apps, the Unity panel does not show any menu in its dash, but this one does display a menu that is drawn from the Nautilus. The reason is simple. By default Nautilus is the one that handles the desktop (both Unity and Gnome classic).

So Ubuntu developers have disabled it somehow (I don't know how to do that). But I do like that menu since it allow me to do things without right-clicking on the desktop (changing the background, create a folder, access computer, etc) on the bright side :D.

It's kinda cute ;-)...

*. The only other thing is that as said the applet-window does take the "space" for its button even when the windows aren't maximized so the "application-menu-bar" and the "Menu-Icon" have a gap but for that, as said, you can make the applet always show the buttons...

Benefits ?

*. Well, when you use the Gnome classic (without no effects), then we don't have Compiz running. So we have a cheap Unity desktop (somewhat) running with less system resources.

*. Both the Gnome left panel and the Avant Window Navigator (or whatever your choice is) do let you changes a lot of settings by default and most importantly you can change their locations!.

So if you have a netbook with 16:9 screen aspect ratio, then you might do really well by moving that app-dock to your bottom. But with Unity this is not possible. But with this "thing" you can do whatever the heck you want it it! + you can even add shorcuts to the top panel which is also prohibited in Unity as well.

Some of the settings (transparency, etc) in AWN type docks are only available if you have enabled compositing in Metacity although it won't be as bad as Compiz, but after enabling compositing effects, remember it require a little more of your GPU nonetheless.

I like the Gnome panel to replace it with other third-party docks although it do lack few options as said before, at least it needs even lower system resources. But the issue with it is,  window switcher applet does not work well after changing the size and transparency, etc. Otherwise, it's just perfect for me. Does anyone know a batter window switching applet for Gnome panels??..

Final desktop with Gnome panel: I removed the window-switcher applet since it doesn't integrate well with the transparency and changed size...

As said, if you have any suggestions and perhaps a way to fix those "current issues", you're more than welcomed here... What do you think ? ...


Anonymous said...

Thanks for the tips, I always wanted to save vertical space in mi Gnome Classic (Trisquel) desktop, as Unity (and now Gnome3) does

Gayan said...


You're welcome :).

Post a Comment