It is the backport that refuses to die! Compiz Reloaded had recently been unleashed into the wild, and both the Compiz enthusiasts and MATE development communities didn't skip a beat with this one.
Remember anaglyph? Remember blur effects? Remember having endless animations to choose from? How about static windows that don't render in the desktop cube, but rather on a top layer you can still interact with? All that stuff we've been missing has finally been wrapped together in an easy, mostly-failproof package. Below is a retooling of my guide Installing Compiz Reloaded, as quickly as possible from the Ubuntu MATE forums.
Remember, this is rather destructive toward your Linux Mint installation. You may want to wait until the next version of Linux Mint before you do any of this, but by that time there may already be a Debian or Snap binary to install it with. In that case, if proven to work in most Ubuntu-based distros grab either of those which may become available and use them instead of following this guide.
It will help very much if you started off using Linux Mint with the MATE desktop environment, but I will try this guide with Cinnamon later to see if anything breaks there as it was clearly not designed for Cinnamon, but it will function there too! Just beware of losing your entire Cinnamon interface; you'll need something else to fill in for a dock. Before you do this, know that 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 (compiz)
CompizConfig Settings Manager for Compiz 0.8.x (ccsm)
Emerald window decorator (emerald)
Emerald Theme Manager (emerald-theme-manager)
Preparing for downgrade
You can skip this if you're installing in Cinnamon.
This is rather destructive; Proceed at your own risk! When finished, you'll have gutted your present install of Compiz 0.9 and replaced it with Compiz 0.8. Before you do this, you really should change your window manager back to Marco if you're using Compiz 0.9 presently.
Perform the following to remove Compiz completely:
Code: Select all
sudo apt-get --purge autoremove emerald #In case you have it
sudo apt-get --purge autoremove compiz* libdecoration0
Edited; Forgot to asterisk compiz: Doing that will remove all packages with compiz in its title.
Doing the downgrade
You'll need to fetch the scripts from git which allow you to install this:
Code: Select all
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
When 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;
Code: Select all
./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; ccsm
- Check if Compiz works; compiz --replace &
- Return to Marco; marco --replace &
- Enable at login in one of two ways;
- Change the window manager via the terminal;
Code: Select all
gsettings set mate.org.session.required-components windowmanager compiz
- Make a new launcher in mate-session-properties, executing compiz --replace so Marco remains active as fallback
- Change the window manager via the terminal;
Pick either method for running Compiz at login, and that's all there is to it. Though, if you choose to run mate-window-properties you won't be able to access that as Compiz 0.8 is unsupported, but that doesn't matter much anyway. If you still need to access that for some reason, then you can switch freely back and forth between Compiz and Marco as you had done before to test if Compiz is working.
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;
Code: Select all
#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.
I found that backporting Compiz might interfere with the dock applet installable from [https://launchpad.net/~webupd8team/+archive/ubuntu/mate]this PPA.[/url] If you rely on it for your workflow, do not attempt this quite yet. I am still investigating the issue as best I can.
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;
Requires emerald-theme-manager to modify the titlebar
Can be used with Marco, if one desires, though it may require adding emerald --replace in mate-session-properties
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.
Allows for 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.
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 should work with Expo, and previously did but it seems bugged at the moment.
This addon works with both Desktop Cube and (should but does not work with) 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 mate-panel, docky, dockbar etc) will not be rendered in the cube, instead being 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.