2013-06-07

How-To: Make Xfce Like Unity

This is more or less the sequel to this post. It came about because I wanted to see if it would be easy to make Xfce look like Apple's Mac OS X; I figured that Unity looks similar enough, so I might as well write about that. Follow the jump to see how to do it. I would have added more pictures if I had more time, but I'm heading back to campus tomorrow, so I can only make this a quick post in the meantime.

The process is actually a bit simpler than in KDE, assuming that the starting point, as was the case for me, is Linux Mint 13 LTS "Maya" Xfce; note that the most important step (the global menu) can't really be done in Ubuntu or its derivatives beyond version 12.04 LTS "Precise Pangolin". With that in mind, let us proceed.

Move the existing bottom panel to the top of the screen. Now add another panel, set it to be vertical, and position that at the bottom of the left side of the screen. Add to the second panel, from top to bottom, an Xfce menu, a "Places" applet, application launchers of your choice, a taskbar, a separator, a workspace switcher, a button to show the desktop, and a trash applet. The taskbar settings should be set to not show button labels, always group windows, and show windows from all workspaces. The separator should be set to expand. The workspace switcher should be set to display in two rows. The Xfce menu should be set to have an icon with no label, and the menu itself should be the same as what is already present in the horizontal panel (for example, in Linux Mint 13 LTS "Maya" Xfce, the menu file is in "/usr/share/xfcemint/"). (The reason why I'm doing this somewhat more crude method is because DockBarX doesn't seem to play well with Xfce in Linux Mint 13 LTS "Maya", and I can't seem to install the Microsoft Windows 7-esque improved taskbar applet from source. If you can get either of these other alternatives to work, use those instead.)

Now, remove everything from the top panel except for the separator, notification area (not the indicator applet), and the clock/calendar applets. Follow the instructions here to install and use the indicator menu applet; once both the volume and global menu applets are visible, move the combination to the far left of the panel, such that those sit on the left while the other applets sit on the right, with a lot of space in between. Add an "Action Buttons" applet to the right of the clock/calendar applet. This actually basically completes the major work going into making Xfce like Unity.

The two panels should play well together too. The horizontal panel (on top) should be locked, have a row size of 23 pixels, should have a length of 100%, and should have the length automatically increased. The vertical panel (on the left) should be pushed to touch the bottom of the screen as well, be locked, have a row size of 48 pixels, have a length of 97%, and should have its length automatically increased as well. This combination will replicate the two panels present in Unity.

For even better results, more can be done. Turn on Xfce compositing (or install and use Compiz, though you really have to know what you're doing for the latter to work). Install the Ubuntu GTK+ and icon themes from the repositories, and use the Ambiance GTK+ and dark Ubuntu icon themes. To get the Ambiance Xfwm theme, follow the full instructions here; following that, move the window buttons to the left side. Change the Xfce menu icon to one that looks more like the Ubuntu icon. Change the vertical panel background to be a solid color (preferably black) with an alpha value of 70 out of 100. Use an Ubuntu-esque wallpaper, and change the Xfce desktop icon font color to white; this latter step is done by going into the home folder, pressing 'CTRL'+'H', opening the file ".gtkrc-xfce", and changing all instances of the value "#000000" to "#FFFFFF".

Xfce as Unity
Tada! Xfce now looks like Unity! I don't know why anyone would do this rather than just use Unity; at least with KDE there is the excuse that it offers even more features not found at all in GTK+ DEs along with its own set of unique applications, but that can't really be said of Xfce aside from generally being as customizable as GNOME 2. But in any case, I figure someone might find this useful. There are only three issues with this. The first is that the volume applet is tied to the global menu, and nothing can be done about this. The second is that GTK+ 3 applications retain their own menus (and also allow the global menu to function normally), which is especially odd considering that when I tried this yesterday, GTK+ 3 applications cooperated just as well as GTK+ 2 applications. The third is that in Ubuntu 12.10 "Quantal Quetzal" and more recent versions (along with its derivatives), the global menu no longer supports GTK+ 2, which means none of these steps work there. Enjoy this while you can!