If you have installed CompizConfig Setting Manager in you Ubuntu, you can easily activate the widget-layer plugin and hide/show your desktop widgets in a Mac dashboard style.
In addition, with some simple configuration, you can also turn any windows/applications into widgets so that they can run in the background (such as playing music) without messing up your desktop. This can also be very useful if you are frequently watching/reading porn confidential stuffs. When someone (such as your boss) walks in, you can quickly hide it without them seeing it.
Installing CompizConfig Setting Manager
Make sure that you have installed the CompizConfig Setting Manager.
sudo apt-get install compizconfig-setting-manager
Go to System->Preferences->CompizConfig Setting Manager (some may see it as ‘Advanced Desktop effect Settings‘). On the left search box, type in ‘widget‘. You will see the Widget Layer option on the right.
Place a check on the box to activate it.
Next, click on the Widget Layer to go into its configuration page.
Go to the Behavior tab, you will see a Widget Windows input field. Beside that is a ‘+‘ button.
Before you click on the ‘+‘ button, open the window/application that you want to set as widget.
Now click on the ‘+’ button on the Widget config page. You will see a window as shown below.
Under the ‘Type‘ dropdown option, select Window Class. In the next row, press the ‘Grab‘ button. The mouse cursor will now change to a ‘+’. Click the cursor on the window/application that you want to change to widget. It will return a value to the ‘Value‘ input field. Click Add to insert the entry. An entry such as “class=YourApplicationName” will be added to the Widget Windows Input field. You will also notice that the application that you have just clicked on has disappeared from your desktop. Press F9 and you will see it appear as a widget.
Isolating a single application
If you have several applications that are using the same Window Class (such as the prism-gmail, prism-google-analytics, prism-twitter are all under the Prism class), you might want to add an additional matching rule to isolate the application from the rest of its class. For example, if you want to add prism-gmail as a widget, but not the rest of the prism applications, all you need to do is to add another entry “title=Gmail” to the Widget Window field. In this way, only Prism application with the window title containing ‘Gmail‘ will become a widget.
Adding two or more applications
For more than two applications, you have to change the ‘Relation‘ field to ‘OR‘ (or simply add a ‘|’ in between the entry). For example, if I want the Rhythmbox and GIMP to load as widget, I will add the entry as shown below:
While the above tutorial is for Ubuntu, it should work for any Linux systems with Compiz installed.