The Desktop Cube plugin is one of three choices for using multiple workspaces, along with Desktop Wall and Desktop Plane. Using the cube, four viewports (by default) form the side faces of the cube; the top and bottom are reserved for caps. It is part of Compiz, although several plugins in Compiz Fusion extend the functionality of the cube.

Rotating the Cube

The Rotate Cube plugin provides the ability to rotate the cube created by Desktop Cube. Without it, the Desktop Cube plugin is mostly useless. Most cube-related mouse and key bindings are provided by this plugin:

Rotate the cube horizontally

<Control><Alt>Left/Right

... with a window

<Shift><Control><Alt>Left/Right

Rotate the cube on all axes with the mouse ("freecube")

<Control><Alt>Button1

The cube can also be rotated by:

Middle-clicking or scrolling the mouse wheel over an empty part of the desktop when the Viewport Switcher plugin is enabled.

Dragging a window to the edge. This will flip to the face you a dragging to. You must enable Edge Flip Move before this will happen

Moving your mouse to the edge. This will flip to the face you are moving your mouse towards. You must enable Edge Flip Pointer before this will happen

Dragging and dropping an object to the edge. This will flip you to the face you are moving the object towards. You must enable Edge Flip DnD before this will happen.

In all of these cases, Flip Timeout defines the amount of time you will need to drag your window to the edge before the cube flips. If you don't want to accidentally flip the cube, set this to a high value.

Additionally, the Cube can be unfolded by pressing <Control><Alt>Down. The unfolding effect is part of the Desktop Cube plugin.

Configuration

The "cube" does not in fact need to be an actual cube; it can be any polygonal prism with up to 32 sides (excluding the top and bottom). The shape of the "cube" can be altered by changing the Horizontal Virtual Size in General Options -> Desktop Size.

The rotate cube uses a spring model to define its speed in rotation.

Speed refers to how fast the cube rotates in general

Acceleration refers to how much more speed the cube gains when rotating

Timestep refers to how often the cube's speed is recalculated. A high timestep will cause the cube to overshoot and bounce back and a low timestep will cause the cube to come slowly to a stop

Pointer invert Y changes the direction of the mouse up and down to cube rotation, so moving the mouse up will cause the cube to rotate up and moving it down will cause it to rotate down.

Skydome

The skydome is an optional background for the virtual space in which the cube is located (visible when the cube is zoomed out, such as when it is being rotated with the mouse).

If you choose to enable the skydome, you can select your own Skydome Image to be placed behind the cube. Or, if you prefer, you can set it to a simple gradient by selecting the Skydome Gradient Start and End colours for the gradient. Additionally, you can enable the Animate Skydome option, which makes the image or gradient stretch into a 360° panorama, the viewing angle shifting as you rotate the cube.

The cube with a skydome, transparency, and reflection

Transparency

The Transparent Cube section contains options for changing the cube's opacity. You can set its Opacity During Rotation, its Opacity When Not Rotating, and the Fade Time when transitioning between the two opacities. You can also enable Transparency Only on Mouse Rotate so that the cube does not change opacity when rotated using keyboard shortcuts, or when it is automatically rotated to show a newly focused window on a different viewport. Note that if you set your desktop cube to be transparent when not rotating, you may experience slight visual glitches with some animations and effects. The Lighting option under General Options -> Display Settings can also affect the appearance of windows on other sides of the cube.

Related Plugins

Started as a mod of the Cube Reflection plugin with new Deformation modes added; later grew to absorb the Cube Caps plugin.

Cube Reflection and Deformation (cubeaddon)

The Cube Reflection and Deformation plugin, also known as cubeaddon, offers cube reflections, two optional deformation modes (Cylinder and Sphere), and cube caps functionality, which draws the top and bottom faces of the (optionally deformed) cube.

Cube Caps

Although the Desktop Cube plugin can place an image on the top face of the cube, the Cube Caps implementation in this plugin provides more versatility, as well as allowing for correctly shaped cube caps when using the Cylinder or Sphere deformations. Unlike with the implementation in Desktop Cube, both the top and bottom caps can be set. Different background colours can also be set for each cap; the caps can even be disabled altogether.

Draw (top/bottom) face - this option can be used to disable the drawing of one or both of the cube caps entirely. Note that you must enable Cube Transparency for the backsides of the cube faces to be visable through the empty cap. Setting the opacity to 99% is sufficient.

Adjust (top/bottom) image - if enabled, the cap image will automatically rotate so that it is always right-side-up, with its bottom side pointing at the top edge of the current viewport.

Scale (top/bottom) image - if enabled, the cap image will be scaled up (if necessary) to fit onto the entire cap surface.

Clamp (top/bottom) face image to border

Deformation

The deformation mode can be either Cylinder or Sphere. The cylinder resembles a disc, with circular caps, while the sphere is completely round, including the caps, which are convex to complete the spherical form.

Unfold cube deformation causes the cube to also be deformed when it is unfolded (via the Unfold action in Desktop Cube)

Deform only on mouse rotate prevents the cube from being deformed when rotating the cube via the keyboard

There are also two options specific to the Sphere deformation:

Deform caps causes the cube caps to be deformed, thus making the cube a full sphere. If this is disabled, the sides of the cube will be curved outward, but the circular caps will remain flat.

Aspect ratio controls the shape of the sphere. The closer it is to 0, the flatter (more vertically compressed) the sphere will be, while the closer it is to 1, the thinner (more horizontally compressed) it will be.

Reflection

This adds a reflective surface below the cube, similar to the effect in Expo and Shift Switcher.

There are several reflection modes available, each with varying effects on the mechanics of rotation:

Jumpy - the reflective ground underneath the cube is solid, so the cube will tilt onto one or more corners/edges if the mouse is pushed up or down. It will never lose contact with the ground.

Jumpy Reflection - the reflection (instead of the cube) exhibits the same behaviour as in Jumpy.

Distance - Neither cube is jumpy. Instead, the reflection is distant from the cube, so that the two are rotated freely but do not intersect. You must have a rotation zoom of at least 0.5 in order to see this properly.

Above - instead of tilting up off the floor when the mouse is pushed down, the camera changes its viewing angle instead so that the reflection appears to be stuck to the cube. Moving the mouse up, however will still cause the cube to tilt away as it's bottom face is shown.

Cube Atlantis

The Cube Atlantis plugin adds fish from the Atlantis screensaver to the inside of the cube. It is a Compiz Fusion plugin, but isn't yet a part of any plugin package. They are only visible if you enable Cube Transparency.

Cube Gears

The Cube Gears plugin places the gears from glxgears (a standalone GLX animation, not part of Compiz) inside the cube. It is part of Compiz Fusion's plugins-extra package. As with Cube Atlantis, they are only visible when using a transparent cube.

3D Windows

The 3D Windows plugin causes the windows on the cube to lift off the cube at different levels as the cube shrinks away from them to show the space between them and their stacking order. The shrinking cube is an updated effect to compensate for clipping of the windows with the Cube Reflection plugin when rotating off axis.

Configuration

Window Space defines how much space there is between windows

Window Depth defines how thick the windows are on the Z-Axis

Window Match defines which windows to consider when stacking windows

Minimum Cube Size sets the smallest the cube can shrink when windows are stacked

Animation Speed defines how fast windows should lift off the cube

3D Only on mouse rotate causes windows to only lift off the cube when you are rotating with the mouse

Corner Beveling defines the curvature of the edges of windows, in order to match your window decoration

Window Color (Active) defines the color of the added thickness of the active window

Window Color (Inactive) defines the color of the added thickness of an inactive window