Things to know before installing
Works for 18.04
If you're uncomfortable making wide-sweeping changes to your operating system's pre-installed content, then don't do this. It's as simple as that.
For most people, desktop effects like what Compiz Reloaded provide are not worth the long-term hassle of needing to reinstall every Ubuntu update, and it sort of condemns you to needing to do this all over again per major update just so your desktop does not break. More information about how to prevent issues between system upgrades are presented in the section When upgrading Ubuntu
If you're trying to reinstall this and for some reason you get errors, try to install dependent packages and autocompleting with
<Tab> in terminal until you find the package that is unavailable. This may happen on occasion, especially if the build routines for the copy of Compiz 0.8 being compiled uses packages older than what is available as of present, which can be had from package archives for either your main distribution or root distribution.
If you're really interested, expand this.
Compiz Reloaded is certainly a passion project. Combining together the previous development of Compiz 0.8 with the present combined efforts of the MATE team and Compiz community, with esoteric compiz scripts you previously had to scour the web for, entirely maintained by enthusiasts who believe their community-maintained backport still functions better, the "Compositor that refuses to die" presents itself as the one downgrade you must perform to get the most out of it because Compiz 0.9 was published by Canonical expressly for Unity, and whatever else you could do with it was gravy but the old plugins that hardcore users come to expect way back pre-Unity hadn't been updated to use the new Compiz for various technical reasons.
Before, you had to figure out how to compile it all together yourself. But lots of people aren't that smart to compile it all themselves, which left the fancy stuff to the geeks who really knew what they were doing with time to burn. Sounds like a lot of people, doesn't it?[/s] Jokes aside, while previously backporting was out of reach for most people, it's now been super-simplified and very much enhanced, since you don't need to go about searching for plugins to make the experience worthwhile.
It also helps that with Ubuntu MATE, there's no Unity to be had, so you don't need to worry about uninstalling that before you do this, as replacing Compiz 0.9 with this backport will most certainly break Unity. When you are finished, you'll have the following suite of software;
Compiz 0.8.x (
CompizConfig Settings Manager for Compiz 0.8.x (
Emerald window decorator (
Emerald Theme Manager (
Preparing for downgrade
This is rather destructive. When finished, you'll have gutted your present install of Compiz 0.9, which will also remove
ubuntu-mate-desktop is only a metapackage, and it is not required for your system to function, but you must not install that package, or any packages associated with Compiz 0.9 and its dependencies thereafter.
Before you do this, you really should open
mate-tweak and under the Windows section, change your window manager to Marco if you're using Compiz 0.9 presently.
Perform the following to remove Compiz completely:
sudo apt-get --purge autoremove emerald #In case you have it
sudo apt-get --purge autoremove compiz* libdecoration0
If you do not use
bash as shell, the regex above may not work
Doing the downgrade
You'll need to fetch the scripts from git which allow you to install this:
sudo apt-get install git #You really should have this already
mkdir -p ~/git/compiz && cd ~/git/compiz #Modify to preference for organization
git clone git://northfield.ws/compiz/scripts && cd scripts
git checkout master #Just in case, though probably entirely unnecessary
scripts/go is executed, you'll see an absolute freightload of text. If you want to see all of it, you'll have to write it somewhere on your system; Instead of
./go on its own, you might want to do this;
./go > ~/compiz-install.log #Modify filepath and intended filename to preference.
When it is done compiling and you have control of your terminal back, here's all you need to do for testing, in list order;
- If you feel you must, check version;
compiz --version (Should be 0.8.*)
- Check if compizconfig-settings-manager from the Compiz Reloaded git works;
- Check if Compiz works;
compiz --replace &
- Return to Marco;
marco --replace &
- Enable at login in one of two ways;
mate-tweak and specify to use Compiz;
compiz is version 0.8 at this point
- Make a new launcher in
compiz --replace so Marco remains active as fallback
Pick either method for running Compiz at login, and that's all there is to it. If you choose to use
mate-tweak and look again afterward, you may notice this message;
"You are currently using an unknown and unsupported window manager.
Thus we cannot guarantee that changes mare here will be effective."
...Alright, fine and dandy, Compiz still executes when you type in
compiz so that's no problem.
If it so happens everything failed to install correctly the first time and
ccsm happens to either segfault or show no icons for most plugins (like what happened to me one time), then you can do the following as a "Nuke it from orbit" redo;
#This assumes you're in /scripts already, where you executed ./go
./uninstall #Remove it...
sudo rm -rf /usr/lib/compiz /usr/include/compiz /usr/share/compiz /usr/share/man/man1/compiz.1.gz /usr/lib/emerald/ /usr/include/emerald /usr/share/emerald /usr/share/ccsm #And its associated files since uninstall doesn't clean up after itself that well.
sudo apt-get install compiz
sudo apt-get --purge autoremove compiz* libdecoration0
Then you can give it another
./go to see if the above helps install Compiz Reloaded correctly.
Forgot to asterisk
compiz here too for regex matching to take effect.
I found that backporting Compiz might interfere with the dock applet pre-supplied in 16.04. If you rely on it for your workflow, do not attempt this quite yet. I am still investigating the issue as best I can.
There is a lot of stuff here. Expand this, and your mind.
ccsm, or the compizconfig-settings-manager for short allows for modifying how Compiz functions through a GUI. Since there may still be some people new to compiz, here are some plugins that may be of interest;
Extra WM Actions
Because Emerald now supports a "Super maximize" toggle which removes window decoration, you need to enable this plugin and set the shortcut for toggling fullscreen to disable "Super maximize" mode.
Window Decoration + Place WIndows + Window Rules
Specify either of the following in Window Decoration as commands;
emerald-theme-manager to modify the titlebar
Can be used with Marco, if one desires, though it may require adding
emerald --replace in
Previously exclusive to the Beryl window manager until Beryl merged with Compiz to make Compiz Fusion; Themes from Beryl-oriented websites during its one year of independence should still function with it.
mate-appearance-properties to modify the titlebar
Most often associated with the Metacity window manager, back when vanilla Ubuntu still used GTK2, but will also work for Marco.
For some windows where decoration makes no sense, yet there is no option to remove said decoration, you can also add exceptions for which windows are decorated.
Place Windows allows users to define how a window is positioned when opened on the present workspace and can also define which windows have specific positioning, and which workspace (in numerical order; Requires experimentation) some windows appear at.
Window Rules are additional options for windows. If you wanted to use a screensaver as a desktop background, for instance, you could set rules to fullscreen a window that cannot be moved or resized, and remove decoration of that window via Window Decoration.
You can specify a shortcut for Snap Windows so you can have attraction to other windows and screen edges without the Snapping Windows plugin enabled, which will demand to supersede Wobbly Windows. You can even invert this behaviour so the shortcut disables snapping, rather than enabling it.
Unfortunately, it appears the snapping behaviour disappears if you don't allow for moved windows to wobble, but that may be a failure to configure it properly. This will be updated if I can figure it out.
Expo + Desktop Wall
These two plugins compliment each other, as Desktop Wall provides a visual indication for when you move to a new workspace, and acts as a short-term mini-map larger than your workspace switcher in taskbar, without the need to always zoom out to see all of your workspaces at once.
Desktop Cube + Rotate Cube + Cube Reflection and Deformation + 3D Windows
These four plugins compliment each other, as while Desktop Cube is enabled to render all of your desktops in 3D space, Rotate Cube allows you to rotate the cube freely. Cube Reflection and Deformation allows you to manipulate the contours of the cube, so much as to make your 3D workspace a sphere if you really wanted, and 3D Windows gives stacked windows depth, by elevating stacked windows to a specified height away from one another.
This now works with Expo!
This addon works with both Desktop Cube and Expo. Static windows are rendered as a texture that is above other active elements, and whatever windows defined will not be affected by manipulating the cube or (should not but does affect windows within) Expo.
By default, all docks (such as
dockbar etc) will not be rendered in the cube, instead appearing as if rendered on a top layer. If you find everything in your desktop rotating being a distraction, or if there is an important sticky window you don't want affected by manipulation of your 3D / Extended 2D workspace, then this is the plugin you want.
Magnifier + Zoom Desktop + Enhanced Zoom Desktop
All of these functions are enhancers that will enlarge either a portion of the desktop, or the entire desktop depending on how you want to magnify it. All three of these functions are similar to Windows 8's default magnifier program.
Any of the five window switchers in Window Management
There vary in effect and functionality. Try them out, as they range from basic and plain to ornate and fancy. In order from what I believe is most basic to most advanced;
- Application switcher
Basic, ordinary, does the job.
- Static application switcher
A more personalized and capable version of the basic Application Switcher.
- Ring switcher
A switcher that arranges your open windows into a ring menu.
- Stack Window Switcher
A switcher that acts as a flat version of the 3D Windows plugin expressly for switching between applications.
- Shift Window Switcher
A switcher that acts like OS X's Cover Flow, Windows Vista's Aero Switcher, or anything in between.
You have plenty of options, so take your time with this. You could (in theory) use multiple switchers, but since they all do the same thing, you might be better off sticking to one.
All the other things
There is too much stuff to cover here, but a lot of it might be useful to you. Some plugins will also influence how windows appear when certain actions are taking place, some plugins affect the appearance of the desktop or of individual windows, some are dependent of other plugins, and must be enabled to show extra options in the plugins they depend on. Due to all of this complexity, something is bound to break, and when it does, hopefully you can find yourself back to the Marco compositor so you can resolve issues via
ccsm, or you may have to trash directory
~/.config/compiz to get your desktop back.
When upgrading Ubuntu
Don't forget, to prevent any and all issues with upgrading Ubuntu, before you commit, change your window manager back to Marco. This will ensure you still have a desktop when all is said and done, and then you'll need to re-execute all of the above before switching back to Compiz, at least until an underlying library breaks this, which in all likelihood probably won't happen, but you never know with Canonical.
All the time I spent with soreau in #compiz-reloaded when I was trying to figure this crap out.