Compiz

From Void Linux Wiki
Jump to: navigation, search

Medic template.svgThis article or section needs expansion.

Reason: This page clearly needs more content. (Discuss)

Compiz is a highly re-configurable compositing window manager for GNU/Linux. It can be run as a standalone window manager or combined with desktop environments that allow swapping out the default window manager (xfce, lxde, lxqt, mate, KDE etc).

The version of Compiz in the Void Linux repos is known as Compiz-Reloaded, a fork and continuation of the Compiz-Fusion project from before it was taken over by Canonical (the Ubuntu folks). As of the writing of this entry (March 2017) this version (Compiz 0.8.X) is faster, more stable, and has more functionality than the canonical one (Compiz 0.9.X).

Uses

Depending on the user configuration, Compiz can be anywhere from the most over the top, bling filled, CPU/GPU waster, to a sleek modern desktop, or something so basic it uses less CPU and RAM than the top or htop commands. Functionality is added or removed by configuring, activating, or deactivating plugins in Compiz-Config-Settings-Manager (ccsm).

Compiz is usually a stacking window manager, but it has some very basic tiling window manager functionality.

The unconfigured version of Compiz is little more than a compositor. Basic functionality such as window borders, window movement, and window resizing must be enabled with ccsm.

Installing Compiz via XBPS

To get started you need to install the Compiz packages:

# xbps-install -S compiz-core compiz-bcop libcompizconfig compizconfig-python ccsm compiz-plugins-main compiz-plugins-extra compiz-plugins-experimental emerald emerald-themes

There is no harm in installing all the plugins since they will not do anything until activated in ccsm.

Before starting compiz, it is best to run ccsm and enable a few basic things first, such as window movement, resizing, window borders, etc.

Suggested Minimum Configuration

To configure Compiz to be a functional, yet bare-bones stacking window manager, go into ccsm and make sure the following plugins are checked:

  • Move Window
  • Resize Window
  • Place Window
  • Window Decoration
  • PNG
  • SVG
  • JPEG
  • Text

Also make sure to change the command field in Window Decoration to:

emerald --replace

to enable the compiz window decorator called emerald.

Starting Compiz

After installing, you can start Compiz by running

$ compiz --replace ccp

Compiz Plugins

Under Construction... (some verbage and phrasing taken from: http://wiki.compiz.org)

Move Window

This plugin allows for the user to move windows manually by:

  • Clicking on the window border.
  • Pressing a specified key and clicking the window (default is: alt+leftClick).

Other notable options:

  • Change window Opacity while moving.

Resize Window

This plugin allows for the user to move windows manually by:

  • Clicking on the window border.
  • Pressing a specified key combination

Other notable options:

  • Change window Opacity while moving.

Place Window

This plugin provides basic window placement algorithms, to determine where to place windows when they are created. It also allows for fixed window placement for specified window types.

Place Window includes four different placement algorithms and a random mode in the Placement Mode option

  • Cascade: places windows in a cascade, starting from the top left hand corner of the screen
  • Centered: places all windows in the center of the screen
  • Smart: places windows to avoid overlapping other windows on screen as much as it can
  • Maximize: places windows in the center, and maximized by default when placed
  • Random: places windows anywhere in the work area

Window Decoration

This plugin provides a window border for your windows. The decoration plugin requires window decorator to function (like Emerald). It also can create window shadows if desired. The most important thing for this plugin is to configure the command field to tell compiz which decorator to use. We recommend:

emerald --replace

For drop shadows the options are:

  • Shadow Radius: defines size of the shadow
  • Shadow Opacity: defines transpareny of the shadow is
  • Shadow Color: defines color of the shadow is
  • Shadow Offset X: defines distance in the X direction the shadow is projected
  • Shadow Offset Y: defines distance in the Y direction the shadow is projected

PNG

This plugins allows compiz to display PNGs when drawing.

SVG

This plugins allows compiz to display SVGs when drawing.

JPEG

This plugins allows compiz to display JPEGs when drawing.

Text

This plugins allows compiz to display Text when drawing.

Opacify

This plugin is used to make windows in front of the window your mouse is hovering over automatically become more transparent so you can see the entire window you are hovering over, without raising it or focusing it.

Controls

  • Delay to Opacification: defines how long the mouse must be on the partially covered window to trigger opacify
  • Window Match: defines which windows to apply Opacify rules to. If a window is not in the match, it will not be effected by opacify
  • Active Opacity: defines the opacity of windows that are hovered over, or not overlapping a window that is being hovered over
  • Passive Opacity: defines the opacity of windows that are overlapping the window that is being hovered over

ADD Dialog

This plugin will make all windows slightly transparent and grayscale when a dialog box pops up.

  • Dialog Match: defines the type of windows that trigger the plugin
  • Opacity: defines how opaque the windows under the dialog box become
  • Saturation: defines how saturated (colorful) the windows under the dialog box become
  • Brightness: defines how bright the windows under the dialog box become

Wobbly Windows

This plugin provides windows that move like gelatin. This configuration is done with a spring-and-friction model.

Expo

This plugin displays a zoomed out view of all workspaces simultaneously. While zoomed out:

  • Windows are live (video will play like nothing happened),
  • Windows can be dragged from desktop to desktop,
  • Double clicking changes desktops.

Desktop Shapes

This is not a plugin, but a category of plugins that are mutually incompatible and create a desktop "Shape." You can also forgo all of them and have no desktop shape.

Desktop Wall

This is one of two major "desktop shape" plugins, the other is the Desktop Cube family. These plugins are NOT compatible with each other.

Arranges all desktops into a 2d wall and allows switching between desktops in an direction (up, down, left, right).

  • There can be any number of rows and column of desktops.
  • Displays a graphic representation you are on the wall when moving desktops.
    • Can display live windows on the graphic representation.
  • Multi-monitor setups can switch between each monitors desktop independently or in a synchronized manner.

Desktop Cube

This is one of two major "desktop shape" plugins, the other is the Desktop Wall plugin. These plugins are NOT compatible with each other.

This shape wraps you desktops into a 1-row polyhedron with no top or bottom surface. (a popper cube would be 4 desktops).

  • The polyhedron can be unfolded to show all desktops in order.
  • The cube can be made transparent allowing you to see the shape, or to go transparent while rotating to change desktops.
  • The desktops can be viewed from inside or outside of the cube (you can shift between those viewpoints).
  • Skydomes can be added for the background while the cube is rotating.
  • The cube rotation speed and accel can be adjusted.
Rotate Cube

An add on plugin for Desktop Cube.

Enables Desktop Cube rotation when changing desktops.

Cube reflection and Deformation

An add on plugin for Desktop Cube.

This allows the Desktop Cube to have a reflecting surface and deform into a cylinder or sphere while it rotates.

3D Windows

An add on plugin for Desktop Cube.

This allows the Desktop Cube move the windows away from the cube surface in a stack while it rotates.

Grid

This plugin moves and resize your windows to fit an imaginary grid.

  • This can be automated with edge bindings while dragging windows to create "Mouse Window Snapping" functionality (sometimes called "Aero Snap").
  • Displays a preview of the resized windows with "Mouse Window Snapping".
  • Can move and Resize windows to snap into certain grid locations based on keyboard shortcuts.

Emerald

Under Construction...