Cairo-Dock – Linux Dock ala OS X – Review

Cairo Dock – The Best Linux Dock

Linux dock programs have been around for ages now, but to me they always seemed a bit clunky to install, configure and customize. It always seemed a waste of time and energy to get one running efficiently enough to offset the time and energy invested in setting it up. So dock utilities just sort of fell off my radar for a little while… okay, okay, a long while. Those days are in the past for me. Today I installed Cairo-Dock for the first time since I believe it was just called Glx-Dock and it’s a game changer.

Installation:

The first thing I found excellent was that it was in my current Distro (LinuxMint 17.1)’s repositories already, so it was mind-numbingly easy to get installed. Once installed I reconfigured it to reflect my preferences which was a time investment totaling about 2 minutes.

Userland:

The effortless nature of dragging a program from the panel to the dock is the biggest win for me; if you’ve ever used OS X it’s pretty much exactly the same process. In the past I’ve had to manually enter program paths and commands and such, but the Cairo-Dock devs have paid attention to what makes the dock on Apple work so intuitively and compellingly.

The only real issue I ran into (which is no fault of Cairo-Dock) was getting rid of the Panel from Cinnamon. I finally turned up a thread on LinuxMint’s forum that said the best approach is to just move the Panel to the top of the screen and set it to auto-hide with a “Show Delay” of 2000ms. This actually works perfectly for me and will be completely serviceable going forward. There was another recommendation to edit the base CSS of the panel to make it 0 px high, but I actually like some of the features of the panel, such as battery indicator and so forth, so that wasn’t the right fix for me.

One of the nice things about Cairo-Dock is that it’s built to use OpenGL, so animations are silky smooth and the effects are lovely. There are also several very handy context menu features. When you have a program (LibreOffice Writer for example) and you wish to launch an additional instance of the application you can simply Shift-Click the icon on the dock and it will start a new instance. When you have multiple instances of a program running you can float your cursor over the dock icon and a balloon will form over the icon listing the instances by name with screen previews.

cairo-dock-multi-instance2-1024x345

Additionally if you click the base icon when there are multiple instances open it will tile the instances across your screen allowing you to make a selection via visual cues. This is very handy for someone working on multiple documents, spreadsheets, or images at once.

cairo-dock-multi-intance-300x146

Visuals:

Simply put, there are options galore. There are a slew of Icon Themes, though I stuck with the default as it suited me just fine. You can also select dock views such as 3D plane, Curve, Default, Panel, Parabolic, Rainbow, and Slide. Then it’s on to sub-menu views for when there are items nested within a dock icon. There are also a bunch of included dock themes like “OS X” and various other user-created skins. I honestly found most of them to be inferior to the default one, though it is nice that there is a built in 5-star rating system in the interface.

cairo-dock-themes

Conclusion:

We have a winner!

I’m going to be using Cairo-Dock for a long time to come – it brings several of the UI niceties of OS X to my Linux box and I’m thrilled about that. There are so many customization and extensibility options available, most of which I didn’t touch yet, that it’s astonishing. Want to write your own applets with DBUS? Sure can. Use it as a session manager? Yup.

Fire up your package manager and check to see if it’s available via official repositories for your distribution of choice or go grab it from source and build it – I really think you’ll be glad you did.

Of course more information and the source code is available at the Cairo-Dock Website.

Leave a comment

Your email address will not be published. Required fields are marked *