[compiz] [ANNOUNCE] compiz-0.7.6

Dennis Kasprzyk onestone at opencompositing.org
Thu May 29 05:26:18 PDT 2008

A new compiz release 0.7.6 is now available from:


    which can be verified with:

        be55dada77dc0716a040c2b9e2d16a0fbc736180  compiz-0.7.6.tar.gz

        (signed by Dennis Kasprzyk)

  Additionally, a git clone of the source tree:

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

    will include a signed compiz-0.7.6 tag which points to a commit named:

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

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


Rewrite of place plugin, which significantly improves multi-output

Configurable multi-output behaviour in place.

Removed plane plugin. Former plane plugin users are encouraged to use
the wall plugin of Compiz Fusion.

Removed cube wallpaper painting. Users are encouraged to use the Compiz
Fusion wallpaper plugin instead.

Place plugin viewport placement viewport numbers are now 1-based.

Panel and desktop selection mode in switcher plugin.

Improved painting behaviour when using overlapping outputs.

Gtk-window-decorator now emits accessibility events when switching.

Gtk-window-decorator behaviour when using Metacity themes has been
improved to match Metacity better.

KDE4-window-decorator has been adapted to current KDE4 API.

Various bugfixes.



Changes since compiz-0.7.4:

C-F Language team (2):
      translation updates
      translation updates

Daniel Lea (1):
      Fix skydome animation tilt behaviour.

Danny Baumann (71):
      Always also add the opposite button when adding a stick/above/shade 
      Also set shaded flag.
      If we got an empty rect, assume the button is not present.
      Keep Valgrind silent.
      Above, shade, stick buttons are not available in Metacity <= 2.16.
      Factor out adjustment of configure requests for gravity in a separate 
function and use this function to also adjust ConfigureRequest events of 
unmanaged windows for gravity.
      Remove unused code.
      Better function grouping / ordering.
      Improve define order.
      Replace get_window_[width|height] functions by helper macros.
      Improve macro usage.
      window -> w
      Improve looping over all visible windows.
      Consistently use Compiz coding style.
      Skip override_redirect windows during smart placement.
      Factor out cascade placement into separate function.
      Drop glib dependency of place plugin.
      Replace placeWin function by a better structured placeDoWindowPlacement 
function. Placement strategy ("What should placement do to this window?") and 
output determination as well as work area constraining have been factored out 
to separete functions.
      Minor optimization.
      Pass work area into cascade placement functions.
      Add helper macro for looping over all placement relevant windows.
      Initialize count variable correctly.
      Fix typo.
      Improve readability of placement relevance helper macro.
      Added option for multi output behaviour of place and added a "Place on 
output which has the pointer" mode.
      Place dialogs centered on current output device rather than centered on 
      Fix warning.
      Make the placeGetPlacementOutput function return a CompOutput pointer.
      Clamp new position if a viewport match was given. If the new position 
was outside the visible screen area before, the window would be placed on a 
viewport different to the one specified otherwise.
      Fix whitespace.
      Move style window offscreen to make sure it never is visible on screen.
      Minor cleanup.
      Added panel selection mode to switcher plugin.
      Update default window match to account for panel selection mode.
      Reduce code duplication.
      Properly destroy popup windows on unload.
      Keep switcher window property at an invalid value as long as the 
switcher is not active.
      Only update accessibility helper label if switched window has actually 
      Only accept USPosition on non-normal windows during validation if 
workarounds are disabled.
      Also use the multi output mode selection option when placing centered.
      Disable resize handles for the directions the window is maximized to 
(leave only left and right enabled for vertically maximized windows, top and 
bottom for horizontally maximized windows).
      Remove plane plugin.
      Don't allow to minimize/showdesktop unmanaged windows.
      Don't prevent focus for windows on other viewports if they are excluded 
from focus stealing prevention.
      Only set CWX / CWY if the position was actually changed.
      Don't adjust configure requests of unmapped windows for gravity.
      Added sane minimum / maximum values for viewport placement.
      Make viewport placement options 1-based.
      Make adjustConfigureRequestForGravity return only the bits that were 
actually changed.
      Always accept PPosition hint.
      Added option for overriding USPosition and/or PPosition on certain 
      Allow minimizeWindow to minimize windows that don't have the minimize 
action set as this is desired e.g. for minimizing transients.
      Added missing action check.
      Only initiate window menu if we don't have an active grab.
      Don't set demands attention state on the active window.
      Initialize starting position correctly.
      Allow keyboard and window menu initiated resize being ended by a mouse 
      Make corner resize behaviour consistent to Metacity.
      Make edge button bindings behave more meaningfully:
      Treat edge button bindings like edge bindings.
      Minor coding style cleanup.
      Don't touch ConfigureRequest events of dock and desktop windows.
      Don't place windows that have dock or desktop type hint set.
      Added optional placement to fullscreen output, which makes sense 
especially for smart window placement.
      Added option to place on output the focussed window is on.
      Try to follow multi output option as close as possible when placing 
centered on screen.
      Coding style fixes.
      Remove useless checks.

Dennis Kasprzyk (37):
      Post release version increment.
      Leave one free texture coordinate unit for fragment.position and use it 
also again in the blur shader. This should fix plugins that require 
fragment.position, if "independet texture fetch" is enabled in the blur 
      C style comment.
      Calulate cube opacity correctly on zoom out of manual rotation.
      Calculate rotation progress up to a finer level and damage screen if 
process is not zero.
      Added glGetProgramiv to screen sturct to be able to get fragment program 
      Fetch blur texture in multiple indirection steps, if there aren't enough 
fragment shader temporaries.
      Increased first pass shader buffer, to fix buffer overflows with 
gaussian shader radius bigger than 12.
      Flip cull face instead of disabling it.
      Moved viewport paint check into a wrapable function.
      Disable backface culling during blur first pass rendering.
      Combine projection results into one big rectangle, if vertex z values 
differ and only the vertex region extents get projected.
      Added screen mask to disable occlusion detection.
      Create vertices in different order to save some computations in other 
plugins (expo, cubeaddon).
      Paint a viewport in cubePaintViewport instead of calling 
paintTransformedOutput and postPaintViewport. This allows plugins to do 
things before and after viewport painting.
      Use fragment shader if a slightly saturated window texture is painted 
and lighting is enabled, because both can't be done with texture environments 
at the same time.
      Do not try to generate mipmaps for TEXTURE_RECTANGLE targets, because 
the ext_frambuffer_object extension only allows this for TEXTURE_2D targets.
      Follow the "texture from pixmap" specification more strictly to avoid 
unnecessary calls to glxQueryDrawable during pixmap binding.
      Removed background painting. The compiz fusion wallpaper plugin provides 
a better and more flexible for viewport independent background image 
      Removed wrapable background painting. The core part of the background 
painting code stays as a fallback, if no desktop window is present and no 
other plugin provides a different background solution. Plugins can use the 
PAINT_SCREEN_NO_BACKGROUND_MASK screen mask to disable this fallback.
      Use PAINT_SCREEN_NO_BACKGROUND_MASK instead of wraping paintBackground.
      Use full screen output if overlapping output devices have been detected. 
This prevents that parts of the screen get painted twice (xrandr clone 
      Bump core ABI.
      Fallback to old texture target selection, to fix current broken tfp 
implementations. This workaround will be removed after the 0.8.0 release.
      Reset zoomout instead of progress for inside cube.
      Paint cube caps if a plugin wishes it by setting cs->paintAllViewports.
      Applied plasma API changes.
      Fixed cube skydome rotation.
      Disable Qt 4.4 "window less child widgets" feature to make button 
drawing work correctly again.
      Removed debug output code.
      The decorator won't get a button release event after resize and move, so 
we have to fake one to make qt act correctly.
      Use CompTransform for rectangle/outline painting.
      Merged decor_blend_(top|bottom|left|right)_border_picture function into 
one common function.
      Applied libdecoration changes to kde3 window decorator.
      Applied libdecoration changes to kde4 window decorator.
      Applied libdecoration changes to gtk window decorator.
      Add NEWS entry and bump version for 0.7.6 release.

Guillaume Seguin (1):
      Make gtk-window-decorator switcher window accessibility friendly

Jigish Gohil (1):
      remove plane from POTFILES.in

Lubos Lunak (1):
      Save program name to session manager.

Owen W. Taylor (1):
      Fix initial map handling of opacity/brightness/saturation Make the 
handling of properties for opacity, brightness, and saturation consistent 
between initial map and subsequent updates: honor the properties even when 
the window has the DOCK type or is override redirrect.

Roland Bär (1):
      Simplified, realloc on NULL is same as malloc

More information about the compiz mailing list