|Here are some few tricks to use Cairo-Dock efficiently within Unity.
Note: You need ccsm to configure Compiz and Unity:
sudo apt-get install compizconfig-settings-manager
Turn off Unity
This method turns off Unity completely, which means the left bar, the top panel, and the Dash and Hud.
Note that the Recent-Events applet contains most of the Dash features. About the Hud, it will maybe be part of the next version of Cairo-Dock
Also note the Global-menu applet can handle the global-menu and the window buttons in the dock. (only if you're using the development version)
Another good alternative to the Dash is Synapse (available in the repositories).
Finally, most of the indicators are also available in the dock (Sound-menu, Messaging-menu, etc).
Cairo-Dock SessionThe best way to do that is to use our Cairo-Dock Session.
Note that this also disable of lot (and by lot I really mean it) of daemons that you probably never use, so you get a very light session.
Fallback methodYou can also disable Unity in 1 click like this but we do NOT recommend that, it's much better to use the Cairo-Dock session but if there is a problem:
- Open ccsm (see the introduction)
- Find the Unity plug-in, and disable it (if the check button is missing, enter the unity plug-in and then you will have it in the left pane).
Enabling alt+TabIf you notice that alt+tab is not working any more (or anything else), open ccsm (you'll maybe need to install this package: compizconfig-settings-manager), and enable the extensions you need.
For instance, alt-tab is handled by the Shift-switcher extension or the Application switcher extension.
If you don't have them, just install this package: compiz-plugins.
No window decorationsIf you don't see any window decorations (at the top of all windows), it's maybe because this "Windows Decoration" Compiz's plugin is disabled. Simply open the CCSM (more info here above) and enable this plugin.
Trigger the Exposé of windows and desktops
The Switcher and Show-desktop applets can trigger this event (on middle-click).
Also, when grouping the windows of a given application in a sub-dock (an option of the dock's taskbar), clicking on the main icon will trigger the Exposé of all the windows of the given application.
To allow that, the dock needs to talk to Compiz through DBus.
Open ccsm (see the introduction).
Look for the Dbus plug-in. If it's not present, you have to install it (it's in the package compiz-plugins).
Now enable it. That's all
Remove the left Unity dock/barIf you want to only use the top panel of Unity and remove the dock on the left, you can not remove it... but you can hide it!
Open ccsm (see the introduction) or Unity Tweak Tool.
Enter the Unity plug-in, set the "Hide launcher" to "Autohide" and the "Reveal trigger" to "Top left corner".
Now go to the 3rd tab ("Experimental") and set the "Launcher reveal edge responsiveness" to the minimum (0.2).
You should probably not be annoyed by the left bar again
Make a launcher to show the DashIf you have removed the left bar as explained above, you might want to have a launcher to show the Dash.
It's easy: add a custom launcher (right-click on the dock -> cairo-dock -> add), and set the command to <Super>.
Set an image and a name at your convenience, and you're done.
Remove the top panelUnfortunately, that's not possible except if you turn off Unity completely (see here above).
However, you can make it empty and transparent, and place a dock above.
The top panel holds the global menu and indicators. So we'll disable them.
(About the global menu, cairo-dock has an applet to handle this. Unfortunately the global menu on Ubuntu is not very convenient because a windows that is not maximized still has its menu at the top of the screen).
So let's disable it: create a file /etc/X11/Xsession.d/90no_global_menu as root. In this file, write:
Save and close, and restart the session.
To disable the indicators, we'll set the service as non-executable:
sudo chmod -x /usr/lib/unity/unity-panel-service
Note that you'll have to do that each time it is updated from the update-manager.
Ok, so the top panel is now empty, we can make it transparent:
Open ccsm (see the introduction).
Enter the Unity plug-in, go to the 3rd tab ("Experimental") and set the "Panel Opacity" to 0.
It is now transparent. If a shadow remains, open ccsm, go to Window decorations, set the window shadow filter from "any" to "!dock".
You can now place a dock at the top; the to ppanel is still here though, so on startup it might be above the dock; clicking on the dock will make it goes above.
Note: if you're adventurous, here is a hack to disable it completely while keeping Dash and Hud
First install all the dependencies:
sudo apt-get install libstartup-notification0-dev libbamf3-dev libnux-3.0-dev compiz-dev libdee-dev libunity-misc-dev libsigc++-2.0-dev libjson-glib-dev libnotify-dev libunity-protocol-private0 libgeis-dev xsltproc
Grab the sources of Unity (from https://launchpad.net/unity).
Unpack and go to the folder.
Edit the file panel/PanelController.cpp, look for the function OnScreenChanged, and on the first line, add a return:
void Controller::Impl::OnScreenChanged(unsigned int primary_monitor,
Now open a terminal, go to the sources folder, and do the usual building process:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
sudo make install
Finally, restart Unity: