[compiz] [ANNOUNCE] compiz-0.6.0

Danny Baumann dannybaumann at web.de
Mon Oct 1 11:02:31 PDT 2007

A new compiz release 0.6.0 is now available from:


    which can be verified with:

        c296f9ccf0e35c582760880a6f0ac4fd34ee1bbf  compiz-0.6.0.tar.gz

        (signed by Danny Baumann)

  Additionally, a git clone of the source tree:

        git clone git://git.freedesktop.org/git/xorg/app/compiz

    will include a signed compiz-0.6.0 tag which points to a commit

    which can be verified with:
        git verify-tag compiz-0.6.0

    and can be checked out with a command such as:
        git checkout -b build compiz-0.6.0


Better support for multiple X-screens.

XML-based meta-data system for handling of various kinds
for meta-data like plugin descriptions, default option
values, etc.

Major improvements to option initialization based on the
new meta-data system.

Extensible logging framework.

Plugin plugins that make it possible to adjust and extend
the behavior of existing plugins through new plugins.

More dynamic handling of output devices, which allows the
output device configuration used when rendering to be
changed between frames.

Cube plugin additions:
 * Transparency support.
 * Basic background support.
 * Support for non-power-of-two skydome textures.

Introspection support in dbus plugin.

Multiple modes of resize drawing in resize plugin.

Multiple placement modes in place plugin.

New Plugins:
 * Glib plugin that allows plugins that use the glib main loop to integrate properly with the compiz main loop without waking up periodically to check for pending events.

 * Ini plugin: Flat file configuration backend.

 * Fs plugin: FUSE plugin that maps compiz options to a file-system and allow efficient manipulation of options by reading and writing files.

 * Video plugin: Plugin that provides a composited video interface for efficient video playback.

 * Support for configurable button layout in metacity themes.
 * Support for configuration of middle and right mouse button actions.
 * Support for mouse wheel scroll actions (currently window shading is supported)

 * Added UTF-8 support for window titles.
 * Fixed display of maximized windows.



Changes since compiz-0.4.0:

Bellegarde Cedric (8):
      Add translucent flag properly.
      Add centered, smart, maximize and random placement modes.
      Remove focus prevention option.
      Add window role matching to regex plugin.
      Check allowed actions before initiating move or resize.
      Add window position/viewport matching to place plugin.
      Fix typo.
      Fix placement mode option.

Cedric (3):
      Respect allowed actions hint.
      Add Vertical/Horizontal maximization.
      Fix typo in matching code.

Daniel Nylander (1):
      Update swedish translation.

Danny Baumann (123):
      Add deltas to resize notify function.
      Keep track of last state.
      Add grabbed variable to CompWindow struct.
      Fixed matrix calculations for xy and yx coordinates
      Added quad stretching interface to libdecoration.
      Added possibility to load textures with fixed RGBA byte ordering from header files.
      Free allocated cursors on plugin unload.
      Remove screen actions un plugin unload.
      Update decorator version information. This change was missed when adding the quad stretching interface in commit 3c434da32d24b580d0bff968f302ead1781864e8.
      Check for active screen grabs before unsnapping a maximized window.
      Reflect minimum size hint when adding size changes.
      Add 'group-drag' as an allowed screen grab for edge flipping.
      Avoid explicit comparison with FALSE constant
      Fix rectangle-in-range calculation for outputDeviceForGeometry.
      Another attempt at correctly fixing the calculations in outputDeviceForGeometry.
      Make gwd build without Metacity support.
      Added possibility to call updateWindowAttributes without requesting any stack changes.
      Raise windows whenever their fullscreen, above/below or maximization state changed.
      Fix mem leaks
      Fix dangling comma in list writing.
      Some beautification.
      Fix stack corruption caused by an insufficient size of an allocated buffer.
      Fixed string length calculations.
      Bump ABIVERSION due to warpPointer() changes.
      Update decoration on map request before core handles the request.
      Added PlaceWindowProc function.
      Added an Y viewport parameter to the function moveWindowToViewportPosition.
      Remove unneeded code.
      Update zoom plugin to use new metadata system.
      Update wobbly plugin to use new metadata system.
      Update water plugin to use new metadata system.
      Update video plugin to use new metadata system.
      Fix typo.
      Make all option info structures const.
      Update switcher plguin to use new metadata system.
      Update svg plugin to use new metadata system.
      Update screenshot plugin to use new metadata system.
      Update scale plugin to use new metadata system.
      Fix some minor metadata errors.
      First attempt to focus the window under the pointer if 'click to focus' is not enabled.
      Fix typo.
      Make constrainNewWindowSize return TRUE whenever constraining was applied.
      Don't issue ungrab notify before server side processing is finished.
      Fix typo.
      Track the first grabbed window, not the last one.
      Don't make fill colors entirely transparent by default.
      Notify other clients of window resizing.
      The fullscreen output is not a real screen output, reflect that in its id.
      Convert usage of restricted string options to int descriptions in scale plugin.
      Convert usage of restricted string options to int descriptions in wobbly plugin.
      Fix option type for int description options.
      Rename scale's displayPrivateIndex to scaleDisplayPrivateIndex so that wrapping plugins can have their own displayPrivateIndex.
      Added an option to select scale's behaviour if multiple outputs are used.
      Change default keybinding for 'Initiate scale mode' to Shift+Alt+Up
      Added hoveredWindow variable to ScaleDisplay that always indicates the window which is hovered with the pointer.
      Whitespace improvements.
      Added compiz event indicating that switcher is active.
      Terminate scale mode when the last scaled window was closed.
      Include severity level into default log message printout.
      Properly initialize and uninitialize custom match.
      Hide windows on all outputs if all outputs are used for scaling.
      Re-order blur texture painting order to eliminate some Nvidia driver issues.
      Added rotation state.
      Remove trailing whitespace.
      Fix minor typo.
      Fix 'Transparency on mouse initiated rotation only' option.
      Disable cube transparency by default.
      Set 'cancel' flag if the resize geometry at termination matches the geometry at initiation.
      Improve description.
      Correctly add input extents to window width and height.
      Focus default window after ending show desktop mode.
      Update window attributes at move termination.
      Added wrap-able function that can be used for preventing scaled window drawing and adjusting paint attributes for scaled window drawing.
      Added action option that can be used for triggering a relayout of the slots.
      Fix missing damage at resize initiation.
      Trigger pointer based resize also if the resizing originally wasn't initiated by the mouse and determine the resize direction in that case by the pointer movement direction.
      Added support for UTF-8 encoded window title matching.
      Added case insensitive matching.
      Fix descriptions.
      Revert "Set 'cancel' flag if the resize geometry at termination matches the geometry at initiation."
      Remove trailing whitespace.
      Formatting fixes.
      Fix possible memleaks.
      Fix typos.
      Add comment marking the active plugin check as workaround.
      Never modify w->state outside changeWindowState function.
      Don't save last window state in CompWindow structure.
      Coding style adjustments.
      Only show resize rectangle on the screen the resized window is on.
      Only assign the default shadow to windows which use default decorations.
      Remove frame window property on removing the window frame.
      XineramaQueryScreens is not guaranteed to set the number parameter to zero if it returns NULL, so better initialize the parameter properly.
      Use normal mode for maximized windows.
      Check for changes to the override_redirect flag on window map.
      Recalculate window type and window actions if override_redirect state changed.
      Handle MapRequest event after core so that decorWindowUpdate sees window type and override_redirect state changes that might have happened during event processing.
      Re-query Xinerama information on root window reshape.
      Always update event windows when the allowed actions have changed.
      Revert "Handle MapRequest event after core so that decorWindowUpdate sees window type and override_redirect state changes that might have happened during event processing."
      Call matchPropertyChanged handler when the override_redirect flag changed.
      Allow plugins to not only clear allowed window actions, but also to add allowed actions.
      Bump ABIVERSION.
      Remove Metacity bell settings integration.
      Added mouse wheel handling to g-w-d.
      Integrate Metacity's configurable middle and right click actions.
      Correct default behaviour of middle mouse button: It should be lowering the window, not raising it.
      Added minimization as title bar button action.
      Fixed Gconf setting parsing for title bar button actions.
      Make sure the position is randomized only for windows that are smaller than the workarea.
      Update decoration with a timer after resize.
      Rename focusWindowOnMap to allowWindowFocus and make it use the current window viewport, not the initial one.
      Support restack requests in ConfigureRequest events.
      Don't restack windows on map if their focus should be prevented.
      Fix map and restack ordering.
      Fix full window frame being painted once after shading.
      Fix warning.
      Delete property first and delete frame window after that to avoid race conditions.
      Use focus stealing prevention for application initiated active window change requests.
      Move input (if desired) focus after mapping the window.
      We don't need to care about converting the returned name string.
      Focus default window after switching viewports.
      Add NEWS entry for 0.6 release.
      Bump version.

David Reveman (519):
      Add missing calls to gdk_display_sync and replace all calls to XSync with
      Fix description for disable-kde option.
      Offset blur regions correctly.
      Offset blut regions correctly.
      Allow destination blur on windows without alpha channel.
      Initialize watch pointer in inotify display struct properly.
      Only enable blur if GL_ARB_fragment_program is present.
      Add infrastructure for software cursors but leave it disabled until
      Add extensible match interface. Match objects can be used for
      Update to use match object for window matching.
      Add plugin that provides regular expression matching for window
      Clean up and document window paint flags.
      Never blur windows when painting clipped opaque window regions.
      Avoid blurring opaque client windows.
      Make saturation an integer option and remove blur from its name.
      Add sat variable when saturation is used.
      Only create the gaussian kernel once and not everytime we draw.
      Avoid using glPushAttrib. It's usually bad to use glPushAttrib as we
      Regen compiz.schemas.in.
      Make string "any" match all window types.
      Add proper parsing of match expressions and track changes in fade plugin.
      Fix name of match op flags.
      Call matchPropertyChanged when wmType changed.
      Add window state matching to core and rename compWindowTypeFromString
      Use match object for window focus blur.
      Use match object for minimize effect.
      Add matchToString function.
      Shut up compiler.
      Add match option.
      Add support for new match option type.
      Switch to using a match option.
      Use match option for focus blur.
      Set correct option type.
      Use match option for window matching.
      Use match option in scale plugin.
      Use match option in switcher plugin.
      Use match options in wobbly plugin.
      Add window ID match handler.
      Add match option for per-window focus prevention control.
      Remove some whitespaces.
      Automatically update match options when they change.
      Add alpha blur match option. It provides alpha blur for windows that
      We should try to return an empty string if the match object is empty
      Add getMatchOptionNamed function.
      Use match option type if argument name is "match".
      Add match argument support to all initiate scale actions.
      Add "|" symbol properly and don't add "&" or "|" if this is the first
      Handle match options properly.
      Regen compiz.schemas.in.
      Make sure grab window is set.
      Reset rotation correctly when we receive a client message that
      Only focus default window if switcher isn't active.
      Fix active window tracking. We're always setting the active window
      Do not change input focus when EnterNotify event is generated from
      Check for pending maps when trying to hide a window.
      Add bindFailed variable to CompWindow struct so we can handle cases
      Do not modify window paint struct, use destroyCnt unmapCnt instead.
      Fix initialization of regex plugin. Handler should not be registered
      Add opacity match options and improve the behavior of opacity
      Enable the code in the placement plugin that maximize windows when they
      Fix typo in 4xBilinear filter code.
      Fix another typo in 4xBilinear filter. Offset parameter should be
      No need to clear the stencil buffer.
      Make sure we don't clear an output more than once per screen updated.
      Only draw top/bottom face after clearing screen.
      Perform zoom effect by translating screen instead of windows.
      Don't end zoom animation so quickly.
      Add unknown window type to default window match.
      Read current window position properly.
      Remove invalid window types.
      Remove invalid window types and add Unknown.
      Change default map effect to None.
      Regen compiz.schemas.in.
      Set a top anchor when resizing a wobbly window.
      Make sure mBorder gets initialized.
      Make sure we set state to Normal again when window is mapped.
      Add fadeOut variable to keep track of windows that fade out.
      Move defaultViewportForWindow and outputDeviceForWindow implementation
      Make addWindowSizeChanges use new window geometry for viewport and output
      Add direct composited video plugin.
      Video plugin must be stacked above blur and water plugins.
      Remove whitespaces.
      Add changeWindowState function.
      Use changeWindowState instead of setWindowState.
      Move windowStateChangeNotify call to changeWindowState function.
      Bump ABI version.
      Avoid overflow in opacity calculations by changing range of
      Avoid some duplicate code.
      Move occlusion detection and window painting to static function.
      Add unredirect fullscreen windows support to paintScreenRegion.
      No need to pass backgroundMask to paintScreenRegion.
      Have paintScreen always use paintScreenRegion.
      Have paintScreenRegion accept a screen paint mask instead.
      Have paintTransformedScreen use paintScreenRegion.
      Move cursor painting into paintScreenRegion.
      Remove windowMask and backgroundMask from paintTransformedScreen.
      Really remove windowMask and backgroundMask from paintTransformedScreen.
      Cleanup paintTransformedScreen a bit.
      Add comment about occlusion detection.
      Add getAllowedActionsForWindow function that plugins can wrap to
      Fix typo.
      Windows can't occlude anything when shaded.
      Use findTopLevelWindowAtDisplay when receiving FocusIn events
      Shut up compiler.
      Don't calculate available actions until plugins have initialized
      count should be incremented for each window.
      Add activeViewportX and activeViewportX members to the
      The active viewport coordinate solution is not good enough in a lot of
      Rewrite restackWindowBelow. The old implementation was broken as
      Add fuse plugin. It provides a user space file-system with compiz
      Some themes update the layout when the borders function is called
      Call repaint to make sure decorations are updated properly when
      Set up clip planes so we're clipping to the region extents. Makes
      Create a pango layout for when drawing default decorations. Makes
      Check for sync alarm notify after core handleEvent function
      Add option that makes it possible to turn off YV12 filter support.
      Add decoration match option.
      Update decoration selection so it makes a bit more sense. The decorator
      Track changes to decoration plugin. Switcher window is a decorated window
      Some minor coding style changes and remove some whitespaces.
      Basic signal handling.
      Clean up plugins before exiting.
      Remove signal handling from fuse plugin. It's not longer needed as
      Place windows with an invalid desktop number on current desktop
      We have a screen variable, use it.
      Fix so mipmap and 4xbilinear filters work again.
      Add basic write support. List options and edges in action options
      Add shadow match option.
      Wrap matchPropertyChanged function and update window decorations
      Don't index past the end of the array.
      Only allow move with window when we're currently not moving.
      Avoid using variable name 'private' in compiz.h.
      Add write support for list items in fuse plugin.
      Expose edges as files with boolean values and add write support
      Return from event loop instead of calling exit.
      Restart if restartSignal is true.
      Handle SIGINT and SIGTERM in main.c.
      Remove signal handling from display.c.
      Adjust metacity border region code so it matches latest version of
      Make sure that widget or children isn't 0.
      Update translations.
      Add more translations.
      Update POTFILES.in.
      make update-po.
      Add NEWS entry for 0.5 release.
      Bump version.
      Post release version increment.
      Fall-back to default refresh rate if driver is reporting 0 as
      Compare to and update server side position for each motion notify.
      Update constrain region creation so that windows are constrained from
      Avoid unnecessary work in gwd when window position changed.
      Avoid unnecessary work in kwd when window position changed.
      Add all button types that libmetacity support and make button layout
      Position action menu properly.
      Indent correctly.
      Ignore resize increment hint only for dimensions that are maximized.
      Add compSetOption function.
      Reduce code by using compSetOption.
      Reduce code by using compSetOption.
      Add break to last case section.
      Remove whitespaces.
      Remove whitespaces.
      Reduce code by using compSetOption.
      Never add shaded state.
      Require metacity 2.17.0 when building support for additional
      Require metacity 2.17.0 for META_FRAME_ABOVE flag.
      Report used buttons properly.
      Don't add -fno-strict-aliasing flag.
      Avoid strict-aliasing violations.
      Disable metacity and gnome when gtk is disabled.
      Add xml files for gnome keybinding capplet.
      Fix typo in header.
      Fix metadata code so it doesn't require external Display variable.
      Clean up compiz.h.
      Remove some whitespace and place libxml-2.0 dependency before
      Use datadir for metadata.
      compGetMetadataFromString should take a const char pointer.
      Store path instead of plugin name in metadata object.
      These kind of safety checks are bad and they don't belong in this code.
      Change so that heap allocated metadata objects are not required.
      Move core metadata initialization to main.c.
      Clean up.
      Make compAddMetadataFromFile add metadata file extension and search
      Allow one metadata object to contain multiple xml document references.
      Add initXPathFromMetadataPath, which searches all xml documents
      Node must contain at least one matching element.
      Clean up getOptionType function.
      Remove initOptionFromNode.
      Update option initialization so that appropriate values can be
      Add stringFromMetadataPathElement function.
      Fix so that int and float restrictions can be overloaded appropriately.
      Fix so that string restrictions can be overloaded appropriately.
      Initialize restrictions before default value.
      Use restrictions when initializing options.
      Initialize action state properly.
      Clean up action key/button initialization.
      Clean up action bell initialization.
      Clean up action edge initialization.
      Update core metadata.
      element -> value.
      general -> core.
      Update metadata.c header.
      Add hardcoded metadata for core.
      Failure to read additional metadata from file is not fatal.
      Fix function declaration.
      Initialize option descriptions.
      Add convenient option info structure and initialize all core options
      string -> value.
      Use .xml file extensions for metadata files.
      Use intltool for translations.
      Clean up.
      Add GetMetadata function to plugin VTable.
      Remove whitespace.
      Improve option initialization and loading of hard coded
      Convert annotate plugin to use new metadata system and store
      Clean up.
      Load both user and system metadata files.
      Don't use config dir for autoconf config files as it doesn't seem
      Make sure autogen.sh runs intltoolize.
      Update po files.
      Adjust frame window properly when shaded.
      Always update event windows when state changes to make sure
      Keep track of available texture targets and avoid calls to
      Add support for _NET_WM_ACTION_ABOVE and _NET_WM_ACTION_BELOW.
      Add basic background support to cube plugin.
      Remove some whitespaces.
      Move newX and newY variables to the scope where they are used.
      Remove redundant code.
      Declarations at top of scope.
      Only place window if it's not placed by someone else.
      Remove whitespace.
      Make sure background is painted properly when performing
      Fix typo in amount of memory to allocate.
      Remove whitespaces.
      Remove C-style comment from configure.ac.
      Add helper tag to match options. This tag can be used to indicate
      Add CompActionStateAutoGrab action state, which isused to indicate
      Add compSetDisplayOption and compSetScreenOption.
      Use compSetDisplayOption and compSetScreenOption.
      Use compSetDisplayOption.
      Removed unused variables.
      Remove unused variable.
      Remove opacityStep variable in CompScreen struct.
      Initialize hsize and vsize from initial option values.
      Remove unused definitions.
      Use single precision version of sine and cosine functions.
      Add adjust_image option to cube plugin. The rotation of the
      Remove code that will try to create both a direct rendering
      Update resize plugin to use new metadata system.
      Add resize mode option to resize plugin.
      Add missing call to compFiniDisplayOptions.
      Remove unnecessary call to addScreenAction.
      Update blur plugin to use new metadata system.
      Clean up.
      Check if libwnck version is new enough to support ABOVE action.
      Update clone plugin to use new metadata system.
      Check for passive_grab element when initializing action state.
      Update clube plugin to use new metadata system.
      Add proper installation of custom gnome key-bindings.
      Update dbus plugin to use new metadata system.
      Update decoration plugin to use new metadata system.
      Add metadata file for dbus plugin.
      Only allow position to wrap around if virtual desktop
      Startup sequence workspace is only valid if it's greater or
      Update fade plugin to use new metadata system.
      Update fuse plugin to use new metadata system.
      Update gconf plugin to use new metadata system.
      Update inotify plugin to use new metadata system.
      Update minimize plugin to use new metadata system.
      Add missing calls to compAddMetadataFromFile.
      Update move plugin to use new metadata system.
      Update place plugin to use new metadata system.
      Fix metadata description for minimize plugin.
      Update png plugin to use new metadata system.
      Remove trailing whitespace.
      Remove trailing whitespace.
      Update regex plugin to use new metadata system.
      Have plugins update list of match options manually
      Update rotate plugin to use new metadata system.
      Remove trailing whitespace.
      Remove trailing whitespaces.
      Remove trailing whitespaces.
      Remove unnecessary checks.
      More cleanup.
      Remove unnecessary variable.
      Remove unnecessary variables.
      Remove unnecessary variables.
      Remove unnecessary variables.
      Remove unnecessary variables.
      Remove unnecessary variables.
      Remove unnecessary variables.
      Create gconf schemas from metadata files using XSLT stylesheet
      Remove gconf-dump plugin and old schema generation system.
      Remove plugin descriptions from VTable.
      Remove option descriptions from CompOption structure.
      We're not using asprintf anymore.
      Update po files.
      Add passive_grab tag to snap action.
      Minor fix to have new schemas match old schemas.
      Set type hint on switcher window properly.
      Rename core metadata file to core.xml instead of compiz.xml.
      Use compiz- prefix for all schema files.
      Install stylesheet and compiz-gconf.pc.
      Don't use getOuterRectOfWindow from core because it returns
      Remove getOuterRectOfWindow function from core.
      Fix typo.
      Make freedesktop image default for top face.
      Update plane plugin to use new metadata system.
      Update POTFILES.in.
      Update po files.
      Add schemas.xslt to EXTRA_DIST.
      Distribute schema files.
      Fix typo.
      Parse --replace option properly.
      Fix typo.
      Add schema_files to EXTRA_DIST.
      Have the adjust image option behave as when it was previously
      schemas.xslt is located in the source directory.
      Fix installation of compiz.desktop and key-binding files.
      Add missing DISTCLEANFILES.
      Require libxslt.
      Make sure key and button are not NULL.
      Make minimum rain delay 1.
      Disable call to XFixesHideCursor until the software cursor code is
      Fix size hint calculations. If a base size is not provided,
      Don't call initDisplay in initPluginForDisplay and don't call
      Fix next/prev slide bindings in cube plugin.
      Remove whitespaces.
      Track changes to constrainNewWindowSize.
      Add pointerDx and pointerDy.
      Replace savedAttrib with savedGeometry rectangle.
      Resize plugin should always use the server side window geometry.
      Remove ucWidth, ucHeight and use pointerDx, pointerDy instead.
      Replace width, height with geometry and constrain window size in
      Adjust position in motion handler.
      Update size even when pointerDx and pointerDy are 0.
      No need to check if only position changes as we'll never change
      Make it possible to end resize when resize notify is received.
      Remove unnecessary code.
      Add outline resize mode.
      Add rectangle resize mode.
      Add stretch resize mode.
      Add border_color and fill_color options.
      Add macros that make it easier to use integer options as
      Turn the filter option into an integer option.
      Turn the mode option into an integer option.
      Turn the texture filter option into an integer option.
      Add compWatchFdEvents function.
      Add glib plugin.
      Remove timeout based iteration of GLib main loop and instead
      Make it possible to notify glib plugin about when new
      Send glib notify after initiating display.
      Make sure background images are always mapped to cube faces.
      Revert "Don't make fill colors entirely transparent by default."
      Fix initialization of color option values. Alpha component
      Handle hsize and vsize of 0 properly in moveWindowToViewportPosition.
      Add WindowAddNotifyProc, which is required to initialize
      Wrap windowAddNotify function where necessary,
      Remove whitespaces.
      Add actions for each resize mode.
      Add a match option for each resize mode. They can be used to
      Remove SVG support from cube plugin.
      Only include the headers we need.
      displayPrivateIndex -> cubeDisplayPrivateIndex.
      Add cube.h.
      Add compiz-cube pkg-config file.
      There's no longer an optional svg feature.
      Make cube ABI version and display private index available
      Allow rotate plugin to hook into cube plugin.
      Add GetRotationProc to cube plugin and have rotate
      Remove whitespaces.
      Remove whitespace.
      Move clear output code into function.
      Make it possible to hook into the clear target output
      Move top/bottom cube face painting into function.
      Make it possible to hook into the top/bottom cube face
      Replace the existing zoom functionality with some
      Remove zoom options that are no longer used.
      Add pan support.
      Initialize pw and ph correctly.
      Set cs->bg to NULL.
      Clean up.
      Allow modifier only bindings.
      Clean up.
      Fix byte order check in imageBufferToTexture.
      Remove whitespace.
      Track output changes.
      Add output id. The id is always set to the output's index in the
      Use output id.
      Use output id.
      Clean up last viewport check.
      Move lastViewport into CompScreen struct as it's GL context
      Bump ABIVERSION.
      Add CompWalker interface.
      Use new walk interface.
      Bump ABIVERSION.
      Minor cleanup.
      Clean up.
      Terminated scale mode when edge is triggered while
      Add scale.h.
      Add pkg-config file for scale plugin.
      Add ABI and INDEX options to scale plugin.
      Create layoutSlotsAndAssignWindows function.
      Allow plugins to hook into layoutSlotsAndAssignWindows.
      Clean up.
      Clean up.
      Move scale icon rendering into function.
      Allow plugins to hook into scalePaintDecoration.
      Use fleur cursor instead of plus cursor when moving
      Use pointerX and pointerY when initializing deltas.
      Make sure we free the window private index.
      Set hoveredWindow more properly.
      Do not fall-through if path isn't long enough to be an
      Add some basic events that can be used by other plugins
      Add experimental support for svg objects.
      libdecoration is now useed by svg plugin.
      Don't allow transients to be stacked above dock windows
      Fix memory leak.
      Fix memory leak.
      Fix memory leak.
      Use consistent preprocessor macros.
      WNCK_WINDOW_MODAL_DIALOG doesn't exist in libwnck 2.19.4
      Adjust libwnck backward compatibility so that the current code
      Remove unnecessary NULL check.
      Keep point under cursor fixed when zooming in.
      Select for Expose events on output window.
      Clean up.
      Clean up.
      Fix so that escape can be used again to terminate
      Update video interface by adding source dimensions.
      Fix typo.
      Make sure logMessage function is initialized before
      Have logLevelToString return a constant string and not
      Clean up.
      More clean up. Setting d to compDisplays when it's NULL
      Clean up and avoid some unnecessary heap allocation in
      Avoid unnecessary branching.
      Clean up and indent metadata correctly.
      Relation of type 'after' is unnecessary information when cube
      Remove plugin dependency checking from core.
      Remove features and dependencies from plugin VTable.
      Fix parsing of screen edge metadata.
      Make server-side RANDR support optional.
      Build png plugin properly.
      Clean up.
      Check for memory errors.
      Get red/blue color components right.
      Add lazy positioning option to move plugin and a bad
      Make sure restackWindowBelow is able to put a window at
      Skip windows that we should avoid stacking relative to.
      Make sure we damage screen correctly when done resizing.
      Fix type of name argument.
      Fix type of path argument.
      Avoid window that we're trying to restack, restackWindowBelow can
      Initialize iconifyied windows properly.
      Make sure initially mapped windows are considered mapped and
      We can't unset the damaged flag just because the bind failed
      Don't try to bind window again if it failed previously.
      Shift client window position when adding and changing
      Map hidden windows before exiting.
      Use configureXWindow to move the window as moveWindow function
      Initialize placed variable for initially mapped windows
      Use configureXWindow to move the window as moveWindow function
      Restore window geometry of fullscreen and maximized windows
      Clean up.
      Make sure some window is focused properly at start up.
      Revert "First attempt to focus the window under the pointer if 'click to focus' is not enabled."
      Have focusDefaultWindow try to focus the window under the pointer
      move argument to decorWindowUpdate should always be true.
      Replace move argument that was always true with an allowDecorations
      Add missing NULL check.
      Shut up compiler.
      Enable SVG plugin by default.
      Add intltool-extract, intltool-merge and intltool-update
      Add po/.intltool-merge-cache and po/stamp-it to DISTCLEANFILES
      Add use of more compiler warnings.
      Set decor object to NULL when closing a window and make sure
      Use gtk_style_attach properly in update_style.
      Avoid bad use of asprintf in a few cases.
      Shut up compiler.
      Fix initialization order of mClientId and mFrame.
      Fix default value of images option.
      Remove whitespaces.
      Remove .cvsignore files.
      Add release documentation and makefile rules that will ease
      make update-po
      Add NEWS entry and bump version for 0.5.2 release.
      Post release version increment.
      Fix typo.
      Remove whitespaces.
      Add CompNoMask to REAL_MOD_MASK.
      Usage of lastFoundWindow in findTopLevelWindowAtDisplay is
      Avoid using lastFoundWindow in findWindowAtDisplay.
      Reduce code by using findWindowAtScreen in
      This should be taken care of by unhookWindowFromScreen.
      Include proper compiler flags and link libdecoration to
      Avoid use of strcasestr and case insensitive matching of
      Rearrange some headers to avoid compile issues on solaris.
      Use equalRange when checking if new value is equal to
      Fix event handle matching. This caused inotify plugin to
      Default alpha value for color options is 1.0.
      Better default colors.
      Don't avoid sync to vblank when we have multiple outputs.
      Free window private index.
      Free cs->vertices.
      Destroy damage, remove passive button grabs and remove event masks.

Dennis Kasprzyk (97):
      Fix nasty server resource leak.
      Raise window when titlebar is clicked.
      Switch to a pascal triangle based blur kernel generation function which
      A strength option that interpolates between a linear blur (0.0) and
      Add saturation option.
      Added occlusion detection window paint mask.
      Added occlusion detection handling to paintWindow.
      Added occlusion detection for PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK
      Use occlusion detection on PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK.
      Splits bw->region into 5 regions (top, bottom, left, right and center) and
      Don't blur opaque windows if decorations are also blured.
      Save lastPaint and lastMask during occlusion detection.
      Added blur occlusion detection. This will disable multiple levels of blur on overlapping blur regions.
      Replace shader based blending with hardware blending.
      new imageDataToTexture function to specify gl format/type parameters (replaces fixedRGBA option)
      added Metadata parsing system
      fixed some xml parsing errors
      initialize core options from metadata
      initialize float value correctly from metadata
      Update match during initialisation from metadata.
      Added -L${libdir} to libdecoration pkg-config file to fix linking of other decorators
      Moved private pointer variable to the CompAction struct
      Metadata of the fuse plugin has to be fs.xml not fuse.xml
      Added dependency rules to wobbly metadata
      Added dependency rules to water metadata
      Added dependency rules to rotate metadata
      Added dependency rules to plane metadata
      Added dependency rules to minimize metadata
      Added dependency rules to gconf metadata
      Added dependency rules to fade metadata
      Added dependency rules to decorations metadata
      Added dependency rules to cube metadata
      Added dependency rules to blur metadata
      Renamed paint(Transformed)Screen to paint(Transfomed)Output.
      Added a new wrapable paintScreen function to allow plugins to maniplulate output device dependent painting.
      Bump ABI version
      Applied lastest core changes to wobbly, minimize, rotate and scale.
      Applied lastest core changes to annotate, plane, resize, screenshot and switcher.
      Applied lastest core changes to blur.
      Use new paintScreen function in screenshot.
      Applied temporary changes to clone to make it work with lastest core changes.
      Applied temporary changes to cube to make it work with lastest core changes.
      Handle glViewport change correctly.
      Added a fullscreenOutput variable to CompScreen.
      Do not UNWRAP a not wrapped function.
      Added "after decoration" rule to blur metadata to make decoration blur work correctly
      Use output->id.
      Indention fix.
      Fixed float rounding errors during option setting
      Allow that cube caps get painted multiple times.
      Added basic zoom out support to rotate.
      Added metadata for rotate zoom option.
      Added zoom out for viewport change rotation.
      Added zoom out for mouse rotation.
      Don't zoom in inside cube mode.
      Use cs->invert directly.
      Initialize skydome texture matrix.
      Use texture matrix in skydome (Fixes GL_TEXTURE_RECTANGLE skydome images).
      Ignore read_only options in schema creation.
      Removed string description handling.
      Add int descriptions to long option description.
      Do not zoom when unfolded.
      Initialize variables correctly.
      Don't ignore the linear filter zoom option.
      Fixed client resize problems with libwnck >= 2.19.4.
      Fixed FTB calculation for inside cube mode.
      Made chackFTB wrapable.
      Separated paintTopBottom into individual paintTop and paintBottom functions.
      Added a wrapabble paintInside function to allow plugins to render something inside of the transparent cube.
      Combined checkFTB and capDirection into one checkOrientation function.
      Bump cube ABI version.
      Fixed orientation calculation for "inside cube" mode.
      Don't modify stencil buffer for not blured client regions.
      Fixed smart window placing mode for multimonitor configurations.
      Handle window input extents correclty in smart mode.
      Edge button actions depend on CompActionStateInitEdge state.
      Initialize edge button properly from metadata.
      Added option to change multi output behavior.
      Switch to one output mode if cube uses "One big cube".
      Don't disort the screen if another plugin changes the output.
      Switch to fullscreen mode only if multiple outputs are detected.
      Added string formating to fragment functions.
      Translate int descriptions.
      Handle translated option info as variable.
      Define template parameters correctly.
      Use fullscreen output in unfold cube mode.
      Use correct input extents in "smart" mode calculation.
      Add input extents when placing window in "smart" mode to get correct position.
      Revert of commit "Relation of type 'after' is unnecessary information when cube plugin is a requirement."
      Work correctly with fullscreeOutput CompOutput.
      Name function correctly: clonePaintScreen -> clonePaintOutput
      Disable backface culling only for front-to-back painted transparent cube faces.
      Draw cube caps only once per output, but allow plugin plugins to reset this handling. Fixes switcher with transparent cube.
      Use current viewport for skydome rotation calculation.
      Don't restack new "dock" type windows behind the active window.
      Use KDE functions to get the visible window name.
      Make sure that unredirected windows get redirected on unmap.

Erkin Bahceci (12):
      Fix for negative float option values
      Added switcher activate event to notify other plugins
      Add open/close option.
      Add override_redirect matching support.
      Slightly speed up Water by replacing a SUB-MUL pair with MAD.
      Disable textures and texture targets properly.
      Center title wave starting y (was 1/4 below).
      Scale z by 1 instead of 0.
      Add feature "windowanimations" to Minimize metadata.
      Fix timing of scale activate event ending.
      Avoid conflict with Animation by suppressing fading.
      Remove minimize_open_close option.

Gerd Kohlberger (2):
      Remove unneeded function and variable
      Remove deprecated gdk API.

Guillaume Seguin (1):
      Add raise_on_rotate option.

James Jones (2):
      Only use bindTexImage and releaseTexImage on textures
      Fix unredirect fullscreen windows.

Kristian Høgsberg (4):
      Add back --with-default-plugins option.
      Add run_command to keyboard shortcut list.
      Set SM restart style to SmRestartIfRunning on exit.
      Require 'compiz' not @COMPIZ_REQUIRES@ in plugin pkg-config files.

Kristian Lyngstol (4):
      Change warpPointer() to take a CompScreen as argument.
      Do not use shareList.
      Stop processing a keypress after a plugin has handled it.
      Autoraise for transients too

Mike Dransfield (58):
      Add flat file configuration backend.
      Prevent excessive reads and writes
      Correct typo in comments
      Added Erkin to AUTHORS file
      Make action options atomic
      Changed plugin vTable option functions to include a reference
      Bump ABI version
      Fix action options with long names
      Regenerate schemas
      Regenerate schemas
      Made define name more consistent
      Code formatting changes
      Add Introspection support to dbus
      Fix crash if config file contains invalid action options
      Remove trailing whitespace
      Changed registration system to re-register on active_plugins change
      Use correct variable naming conventions
      Tiny typo
      Use COMPIZ_DBUS_ROOT_PATH define
      Fix build error
      Register screen options properly
      Unregister objects in correct order
      Always send list values as an array
      Removed registration checks and unneeded variables
      Remove extra unneeded function
      Properly format code
      Reinitialize variable
      Change compRemoveTimeout to return the closure
      Fix typo in function name
      Change CompAction private to be a CompPrivate
      Remove trailing whitespace
      Code formatting
      Code formatting and variable naming
      If event->len is 0 then send NULL instead of event->name
      Added comment about otherScreenGrabExist
      Update ini to use metadata
      Send a blank string if shortDesc or longDesc are NULL
      Use active window rather than the action window for scale_group
      Make minimize, maximize, unmaximize and close window actions
      Handle cases where there is no trailing newline in the option file
      Add event_window to list of options passed to an action initiate
      Revert "Use active window rather than the action window for scale_group"
      Revert "Make minimize, maximize, unmaximize and close window actions"
      Allow core actions on edges where it makes sense
      Use correct variable naming conventions
      Load plugins if not loaded to get plugin metadata
      Check for supported ABI earlier and do not try to read
      Add extensible logging framework
      Code formatting
      Use ints for place modes
      Remove the N_ macro and windowTypeString
      Remove string restrictions
      Re-write options if there are new ones in the plugin
      Tidy up
      Use consistent variable naming conventions
      Use fleur cursor for move.  Patch from Treviño
      This patch breaks --disable-gconf

Patrick Niklaus (7):
      Improve action reading code
      Fixed list parsing (plugged a memory leak)
      Cleaned up iniParseLine
      Some minor cleanup in iniLoadOptionsFromFile
      Fixed list parsing
      Fixed bug with action parsing
      Add features to image plugin metadata.

Per Wigren (1):
      Add --only-current-screen option which tell compiz to only manage

Quinn Storm (1):
      add option to turn off scale behaviour where a click on the desktop shows the desktop

Robert Carr (4):
      Use glXQueryServerString for indirect rendering case.
      Revert "Use glXQueryServerString for indirect rendering case."
      Add a priv entry to CompAction. For a use case see: compiz-scheme. It's neccesary to implement in a proper way actions that have to go through a wrapper C function. In general the idea of having Actions without an assosciated Option / Actions added at run time needs to be explored a bit more because the current code is not well suited for it.
      Move AM_GCONF_SOURCE_2 in to gconf conditional

Robert Noland (1):
      Replace strndup with malloc and strncpy. FreeBSD doesn't support strndup.

Roi Cohen (4):
      Fix screen transformation calculation.
      Improve cube paint order calculations.
      Add cube transparency.
      Added option to enable cube transparency only on button binding initiated rotatation.

Roland Baer (14):
      Removed unused variables
      Null checks to prevent crashs
      Unsigned less than zero
      Removed useless test
      Removed unused vars
      Removed unused code
      removes an unused var
      Various NULL checks
      Added compFindOption return checks
      Removed effectivly unused stuff in gtk-window-decorator
      Return value of XGetKeyboardMapping() has to be XFree()d, not to be ignored
      Storage of XGetVisualInfo() needs to be free()d
      realloc with correct size
      mods is useless or "modifiers" will not work

Roland Bar (6):
      Fix memory leaks and remove dead code
      desktop is unsigned, always >= 0.
      remove NULL check
      Fix memory leak
      use of already free'd pointers
      Remove unused code

Roland Bär (1):
      Added sanity check for screenInode value.

Stjepan Glavina (1):
      Add auto rotate option.

Travis Watkins (6):
      Add functions to generate dbus introspection XML.
      Add libxml2 build dependency.
      Add dbus introspection generation functions.
      Switch to object registration instead of message filtering.
      Register plugin, screen, and option objects.
      Check that xsltproc binary is present.

dragoran (1):
      Add --ignore-desktop-hints command line option, which can be used

gandalfn (1):
      Fix mouse move key name.

mike at blueroot.co.uk (1):
      Allow plugins to wrap enter/leaveShowDesktopMode

More information about the compiz mailing list