[compiz] [ANNOUNCE] compiz-0.8.0

A new compiz release 0.8.0 is now available from: http://releases.compiz.org/core/compiz-0.8.0.tar.gz which can be verified with: http://releases.compiz.org/core/compiz-0.8.0.tar.gz.sha1 52c30ac2ca0dfe2ba2d027d80ee6be038a844958 compiz-0.8.0.tar.gz http://releases.compiz.org/core/compiz-0.8.0.tar.gz.sha1.asc (signed by ) Additionally, a git clone of the source tree: git clone git://git.compiz.org/compiz/core will include a signed compiz-0.8.0 tag which points to a commit named: 3a8714dc82303db554291f1598803dba75fb5294 which can be verified with: git verify-tag compiz-0.8.0 and can be checked out with a command such as: git checkout -b build compiz-0.8.0 WHAT'S NEW SINCE 0.7.8 ====================== New plugin "commands" that handles the bindings for arbitrary commands that previously were handled in core. In addition to the previously present key bindings button and edge bindings were added as well. New plugin "gnomecompat" which handles bindings that are exclusively used in the Gnome desktop environment and removed the corresponding bindings from core. This change fixes main menu and run dialog bindings for KDE users as those previously were conflicting between compiz and KDE. Gnome users upgrading should make sure to enable this plugin. Added support for _NET_WM_FULLSCREEN_MONITORS EWMH hint. Added support for reading the icon hint from the WM_HINTS property if _NET_WM_ICON is not available. Update Gnome support for Gnome 2.24. Added options to scale plugin that allow "toggle type" behaviour for key and button bindings. Several memory leak fixes. Adjusted gtk-window-decorator for newer libmetacity-private versions. Fixed gtk-window-decorator display for RTL languages. Adjusted kde4-window-decorator for KDE 4.2 API. Large number of minor bug fixes, especially in resize handling and stacking code. Translation updates Regards, Danny Changes since compiz-0.7.8: C-F Language team (6): l10n updates l10n updates l10n updates l10n updates l10n updates l10n updates Christopher Williams (1): Fix compatibility with newer libmetacity-private versions. GtkStyle is colormap specific, so we can't use a new colormap each time we create a pixmap. Danny Baumann (114): Post release version increment. Fix a number of potential memleaks in XGetWindowProperty return value handling. Update switcher window internal state on map. Fix potential memleak. Make sure geometry rectangle is kept inside the screen area. Make viewportForGeometry not take the current viewport into account. Make sure window decorations aren't hidden under panels during placement. Ensure windows fit in the work area when placing them by calling the window sizing validation function. Ignore _NET_WM_STATE_HIDDEN property changes as suggested by EWMH. Change state property only on managed windows. Use changeWindowState function. Make sure window state property is correct when mapping windows. Also treat utility, menu and toolbar windows as group transients. Handle desktops a bit better. We want to prevent focus for windows that are not on the current viewport. active_window_changed only updates d->active if decorations are present, so setting d->active before creating decorations may lead to incorrect results. Validate size before placing and make sure the size validation function only respects USPosition if the window fits on the work area. After adding windows on startup, re-sync the internal stack order with X. Consume X key press event for arrow key presses in scale mode. That makes sure that bindings of other plugins are not trigger accidentially. The scenario for that is e.g. Scale being bound to Ctrl +Shift+Up and some other binding being bound to Ctrl+Shift+Left/Right. Added options for making scale's key and button bindings adding as toggle switches. Check focusWindow function before focussing a window due to click or enter event. Drop type check in resize validation function. Don't set demands_attention state if the window explicitly requested not to get focus. Also check focusWindow function when processing focus request client messages. Revert "Also check focusWindow function when processing focus request client messages." Sync validated size on initial map to X before placement to make sure the window placement function picks up the new size. We have 5 options, not 4. Load scale after fade. Always set the LIBGL_ALWAYS_INDIRECT environment variable to 1 if indirect rendering was requested. Fix typo. Added support for reading icons from old-school icon pixmaps if _NET_WM_ICON is not present. Raise window on move/resize initiation in raise-on-click mode. Fix typo. Optimizations. Fix fix formatting for RTL languages. Invert button layout for RTL languages. Align window menu to the right for RTL languages. Fix whitespace. Handle "cleared WM hints" case properly. Also save process ID to session manager. Bring desktop files in line with gnome-session 2.24 changes. Enforce 'toggle' mode for key bindings without modifiers. Rationale is that 'non toggle' mode can only be sensibly use with modifiers held down. It can't be used with holding a key only due to autorepeat. Don't try to place windows over unmanaged parents. SM spec says that SmUserID is a required property. Always register as "compiz" to the SM, even if that does not match the binary name. Plug minor memory leak. Plug small memory leak. Allow "toggle maximize horizontally" and "toggle maximize vertically" as Update Gnome WM applet for gtk-window-decorator changes. Make strings translatable. Optimization. Use glib i18n header file and compiz text domain. Cleanup: Use glib i18n headers. Ignore desktop hints set by previous WM by default. Respect DESTDIR for desktop file installation. Screens are not necessarily initialized at InitDisplay time. Screens are not necessarily initialized at InitDisplay time. Try to keep windows on their viewports on screen size changes. Make sure active fullscreen windows are always on top. Move hide_skip_taskbar_windows option out of keybindings group. Use "any" as default match for alpha blur. Always show error messages generated by dlopen(). Support _NET_WM_FULLSCREEN_MONITORS EWMH hint. Set PAINT_WINDOW_TRANSLUCENT_MASK when modifying opacity. Load obs after blur so blur sees PAINT_WINDOW_TRANSLUCENT_MASK set by Cleanup. Apply fixed placement rules even for unmovable windows. Bring fullscreen rectangle calculation in line with EWMH. Make sure active fullscreen windows are always on top. Move hide_skip_taskbar_windows option out of keybindings group. Use "any" as default match for alpha blur. Set PAINT_WINDOW_TRANSLUCENT_MASK when modifying opacity. Load obs after blur so blur sees PAINT_WINDOW_TRANSLUCENT_MASK set by Apply fixed placement rules even for unmovable windows. Check return value of XGetWindowAttributes(). Clear CWWidth/CWHeight for maximized windows before constraining window Make sure we never decorate desktop and dock windows. Only clip struts to output devices they're visible on. Stick strictly to the spec when calculation strut sizes. Sanity check work area after applying struts. Reduce indention depth. Fix off-by-one errors in in-output check. Plasma::PanelSvg was renamed to Plasma::FrameSvg in KDE 4.2. Adapt for new krunner DBus interface in KDE 4.2. Implement KDecorationBridge unstable API, needed for KDE 4.2. Keep window above other fullscreen windows if its fullscreen state changes. Skip frame windows when adding window stack changes. Prettify usage output. Add obs metadata file to POTFILES.in. Map windows that requested not to get focus on top. Rationale is that when not mapping them on top, chances are high the user won't notice the appearance of a new window. Added commands plugin which provides bindings for arbitrary commands. Remove command binding support from core. Add commands.xml.in to POTFILES.in. Add Gnome compatibility plugin that receives key bindings only relevant for Gnome. Remove Gnome specific key binding support from core. Remove run dialog and main menu action support from decorators. Update key binding description to gnomecompat plugin addition. Bump ABIVERSION. Also remove Gnome specific bindings from metadata. Fix panel actions not being executed properly. Only auto-maximize windows that have a title bar and are allowed to be maximized. Move window position validation to validateWindowResizeRequest function. Fix window resize validation. - Don't do any validation if window geometry wasn't actually changed. - Fix calculations for windows that had the left and/or top edges offscreen before the validation. Reference: http://bugs.freedesktop.org/show_bug.cgi?id=19516 Fix whitespace. Revert "Do not change input focus when EnterNotify event is generated from" Also set foreground color for switcher. Only use desktop from startup properties if it's actually set. Try to load core plugin before attempting to dlopen() files in order to Add --debug command line switch. Add debug output for "plugin not readable" errors. Rename short descriptions of command bindings from 1...12 to 0...11. While 1...12 makes more sense, it breaks the translation strings of the last binding, which is not acceptable at this point. Update translation files to get "Run command 0" translated again. Set libwnck client type to "pager" so "move to desktop x" works properly Add NEWS entry and bump version for 0.8.0 release. David Reveman (1): Fix placement of windows that can't fit in workspace. Dennis Kasprzyk (1): Use only visible windows for "unredirect fullscreen windows" test. Erkin Bahceci (5): Fix reading of floats in metadata for some locales. Don't damage window region on minimize/shade ending. Add category, group, subgroup info to metadata. Optionally get default plugins from configure param. Avoid conflict with Animation by suppressing fading. Guillaume Seguin (1): Update Makefile.am for new releases location Jigish Gohil (1): remove zoom from POTFILES.in too Kristian Lyngstol (6): Remove zoom plugin, this is replaced by Enhanced Zoom in Compiz Fusion Remove bogus XCB dependency Add ABI-saftey net and bump ABI Revert "remove zoom from POTFILES.in too" Revert "Remove zoom plugin, this is replaced by Enhanced Zoom in Compiz Fusion" Fix warnings in plugins Michael Vogt (1): Build fix for srcdir != builddir.