Change logs for compiz source package in Trusty

  • compiz (1:0.9.11.3+14.04.20160425-0ubuntu1) trusty; urgency=medium
    
      [ Eleni Maria Stea ]
      * backported fix: #1442728 (Chrome and Chromium windows must be
        handled by Compiz in fullscreen) to trusty. (LP: #1442728)
    
     -- Marco Trevisan (Treviño) <mail@3v1n0.net>  Mon, 25 Apr 2016 16:30:40 +0000
  • compiz (1:0.9.11.3+14.04.20150313-0ubuntu1) trusty; urgency=medium
    
      [ Andrea Azzarone ]
      * removed texture caching from animations (LP: #729979, #1072206)
    
      [ Chris Townsend ]
      * Add a blacklist of Nvidia integrated GPU's affected by the Nvidia
        X11 Sync patch. (LP: #1424013)
     -- CI Train Bot <email address hidden>   Fri, 13 Mar 2015 17:25:30 +0000
  • compiz (1:0.9.11.3+14.04.20150122-0ubuntu1) trusty; urgency=medium
    
      [ James Jones ]
      * Added support for GL_EXT_x11_sync_object OpenGL extension for Nvidia
        based GPUs to avoid screen refresh issues. (LP: #269904)
    
      [ Kyle Brenneman ]
      * Added support for GL_EXT_x11_sync_object OpenGL extension for Nvidia
        based GPUs to avoid screen refresh issues. (LP: #269904)
    
      [ Viktor A. Danilov ]
      * Added support for GL_EXT_x11_sync_object OpenGL extension for Nvidia
        based GPUs to avoid screen refresh issues. (LP: #269904)
    
      [ Chris Townsend ]
      * Added support for GL_EXT_x11_sync_object OpenGL extension for Nvidia
        based GPUs to avoid screen refresh issues. (LP: #269904)
    
      [ Stephen M. Webb ]
      * Added support for GL_EXT_x11_sync_object OpenGL extension for Nvidia
        based GPUs to avoid screen refresh issues. (LP: #269904)
    
      [ Michael Thayer ]
      * use correct screen extents for multi-monitor positioning of
        fullscreen windows (lp: #1353675) (LP: #1353675)
     -- Ubuntu daily release <email address hidden>   Thu, 22 Jan 2015 14:51:56 +0000
  • compiz (1:0.9.11.3+14.04.20141104-0ubuntu1) trusty; urgency=medium
    
      [ Chris Townsend ]
      * Add NumLock and CapsLock button ungrab keymasks, so unfocused Gtk
        window scrolling will work when NumLock is off and CapsLock is on
        and any combination thereof. (LP: #1311788)
      * Fixes issue in the Expo plugin where a gap is shown in the place
        where the Launcher and Panel should be when windows are maximized.
        This was originally removed in rev. 3481. (LP: #1087090)
      * Bump version to 0.9.11.3.
     -- Ubuntu daily release <email address hidden>   Tue, 04 Nov 2014 19:42:46 +0000
  • compiz (1:0.9.11.2+14.04.20140714-0ubuntu1) trusty; urgency=medium
    
      [ Chris Townsend ]
      * Bump version to 0.9.11.2.
    
      [ Marco Trevisan (Treviño) ]
      * Scale: use XShape extension to exclude dnd input in the screen-parts
        outside workArea This will work property also in multi-monitor,
        without requiring multiple X windows for each output device. Also
        don't terminate the scale unless a drag-n-drop action is not really
        over. Add a spinner that shows up over a window, during the DnD
        timeout. Plus, make sure we terminate the scale without focusing the
        selected icon when cancelling it and some code cleanup (LP: #607796)
        (LP: #727904) (LP: #1308112)
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Mon, 14 Jul 2014 14:36:56 +0000
  • compiz (1:0.9.11.1+14.04.20140701-0ubuntu1) trusty; urgency=medium
    
      [ Chris Townsend ]
      * Bump version to 0.9.11.1.
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Tue, 01 Jul 2014 11:51:26 +0000
  • compiz (1:0.9.11.1+14.04.20140623-0ubuntu1) trusty; urgency=medium
    
      [ Chris Townsend ]
      * Fix issue where window decorations would be placed under the Panel
        when opening a new window from an already open window. This is due
        to the already open window being taller or just as tall without be
        maximized than the workspace. (LP: #1303462)
      * Only constrain the non-modifier scrolling to the vertical scrolling
        buttons - buttons 4 & 5. (LP: #1311303)
      * Fix issue where maximized windows would get moved to different
        workspaces when disconnecting/connecting an external monitor.
        Windows should stay in the same workspace they are in when the
        monitor event occurs. (LP: #1304531)
      * Fix issue where horizontal and vertical keyboard resizing could not
        happen at the same time. (LP: #347390)
    
      [ Marco Trevisan (Treviño) ]
      * Event: set the screen grabbed also when we get a NotifyWhileGrabbed
        Focus{In,Out} event (LP: #1305586)
    
      [ Lukas Vacek ]
      * Fix issue where custom keyboard shortcuts would get reset to
        defaults when rebooting or restarting Compiz. (LP: #1063617)
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Mon, 23 Jun 2014 14:08:17 +0000
  • compiz (1:0.9.11.1+14.04.20140617-0ubuntu1) trusty; urgency=medium
    
      [ Chris Townsend ]
      * Fix issue where window decorations would be placed under the Panel
        when opening a new window from an already open window. This is due
        to the already open window being taller or just as tall without be
        maximized than the workspace. (LP: #1303462)
      * Only constrain the non-modifier scrolling to the vertical scrolling
        buttons - buttons 4 & 5. (LP: #1311303)
      * Fix issue where maximized windows would get moved to different
        workspaces when disconnecting/connecting an external monitor.
        Windows should stay in the same workspace they are in when the
        monitor event occurs. (LP: #1304531)
      * Fixes issue in the Expo plugin where a gap is shown in the place
        where the Launcher and Panel should be when windows are maximized.
        This was originally removed in rev. 3481. (LP: #1087090)
      * Fix issue where horizontal and vertical keyboard resizing could not
        happen at the same time. (LP: #347390)
    
      [ Marco Trevisan (Treviño) ]
      * Event: set the screen grabbed also when we get a NotifyWhileGrabbed
        Focus{In,Out} event (LP: #1305586)
    
      [ Lukas Vacek ]
      * Fix issue where custom keyboard shortcuts would get reset to
        defaults when rebooting or restarting Compiz. (LP: #1063617)
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Tue, 17 Jun 2014 20:33:37 +0000
  • compiz (1:0.9.11+14.04.20140423-0ubuntu1) trusty; urgency=low
    
      [ Ryan Tandy ]
      * Fix gnome-flashback session starting Unity plugins. Change the
        profile back after processing settings upgrades. When changing
        profile, discard existing GSettings wrappers pointing to the old
        profile. (LP: #1232299)
    
      [ Chris Townsend ]
      * Remove the Number of Desktops option in CCSM as this option confuses
        Compiz and is really no longer needed since the Horizontal/Vertical
        Virtual Desktop Size is what is used for determining the size. (LP:
        #1289820)
      * Due to some change in Gtk SpinButton, setting the initial value in
        Adjustment does not work for integers, so now just explicitly set
        the value after the SpinButton is created. (LP: #1294341)
     -- Ubuntu daily release <email address hidden>   Wed, 23 Apr 2014 14:56:06 +0000
  • compiz (1:0.9.11+14.04.20140409-0ubuntu1) trusty; urgency=low
    
      [ Chris Townsend ]
      * Add support to build kde4-window-decorator for KDE 4.10 and older.
        (LP: #1288953)
      * (LP: #1027868)
      * Allow binding of other buttons greater than button 7 for windows
        other than the desktop. (LP: #1304877)
     -- Ubuntu daily release <email address hidden>   Wed, 09 Apr 2014 22:14:18 +0000
  • compiz (1:0.9.11+14.04.20140408-0ubuntu1) trusty; urgency=low
    
      [ Chris Townsend ]
      * Fix issue where Grid animation can sometimes show a preview of a
        different window than the one being gridded. (LP: #1176898)
      * Fix recent regression where the desktop window would not get focus
        when clicking the desktop. (LP: #1303068)
     -- Ubuntu daily release <email address hidden>   Tue, 08 Apr 2014 13:48:38 +0000
  • compiz (1:0.9.11+14.04.20140404-0ubuntu1) trusty; urgency=low
    
      [ Chris Townsend ]
      * Fix issue where Compiz passively grabs all mouse buttons which
        severely affects scrolling in Gtk apps. Now only unconditionally
        grab buttons 1-3 for all windows except the desktop window and only
        grab other buttons when there is a modifier attached to it. (LP:
        #1171342)
      * Only fade in and fade out a window when it's hidden if it's not in
        Show Desktop mode. This allows for a good fade out effect in Unity
        when exiting Spread while in Show Desktop mode. (LP: #1104236)
     -- Ubuntu daily release <email address hidden>   Fri, 04 Apr 2014 21:41:53 +0000
  • compiz (1:0.9.11+14.04.20140328-0ubuntu1) trusty; urgency=low
    
      [ Chris Townsend ]
      * Fix issue where having a maximized window on a second monitor, then
        that monitor gets removed which moves the maximized window to the
        main monitor, then restoring the maximized window would place it on
        a different viewport. It should stay on the same viewport. (LP:
        #1171878)
     -- Ubuntu daily release <email address hidden>   Fri, 28 Mar 2014 10:44:36 +0000
  • compiz (1:0.9.11+14.04.20140320.1-0ubuntu1) trusty; urgency=low
    
      [ William Hua ]
      * Disable the gnomecompat plugin under Unity by default. (LP:
        #1284532)
    
      [ Chris Townsend ]
      * Fix issues where vertically maximizing windows by dragging the grab
        area using Normal mode would result in: Incorrect restored window
        size. Wrong window size when vertically maximized, especially when
        resizing from the bottom of the window. (LP: #1280377)
      * Fix missing msg_dict when trying to enable the Unity plugin in CCSM.
        (LP: #1292220)
     -- Ubuntu daily release <email address hidden>   Thu, 20 Mar 2014 23:58:37 +0000
  • compiz (1:0.9.11+14.04.20140310-0ubuntu1) trusty; urgency=low
    
      [ Marco Trevisan (Treviño) ]
      * CompWindow: make sure we don't move a window outside its workarea
        when setting the extents (LP: #1204307)
     -- Ubuntu daily release <email address hidden>   Mon, 10 Mar 2014 20:30:48 +0000
  • compiz (1:0.9.11+14.04.20140305-0ubuntu1) trusty; urgency=low
    
      [ Marco Trevisan (Treviño) ]
      * Scale: don't try to re-focus an already focused window This might
        make moveInputFocusTo to get stuck on X calls (LP: #1019923)
      * debian/patches/ubuntu-config.patch: use Super+Shift+W for initiating
        scale for all workspaces
     -- Ubuntu daily release <email address hidden>   Wed, 05 Mar 2014 14:24:37 +0000
  • compiz (1:0.9.11+14.04.20140303-0ubuntu1) trusty; urgency=low
    
      [ Marco Trevisan (Treviño) ]
      * Window: define proper cases when we need to resize a window when
        decorating/undecorating Yeah, again here... So, now when setting the
        window extents, we resize a window only in these cases: 1) We have a
        normal window that has never been decorated (lp:1282304) 2) We're
        (re)decorating a maximized or fullscreen window (lp:1282305) This
        seems to work well in all the cases I tested, with no regressions
        with nedit (that highlighted an issue with old code path) (LP:
        #1282304, #1282305)
      * Opengl, Texture: don't try to create a texture of invalid (empty or
        negative) size This seem to cause also a crash when using software
        rendering. (LP: #1055166)
     -- Ubuntu daily release <email address hidden>   Mon, 03 Mar 2014 20:09:55 +0000
  • compiz (1:0.9.11+14.04.20140218-0ubuntu1) trusty; urgency=low
    
      [ Marco Trevisan (Treviño) ]
      * Scale: add {x,y_offset} options so we can move the scale despite the
        workarea (LP: #1280616)
      * Scale: never draw a window that is not matched, reset the state of
        hovered and selected windows Also, increase the scale speed and
        distances, to match spread designs more.
      * UbuntuConfig: go back to use Normal Resize mode by default (LP:
        #1281370)
     -- Ubuntu daily release <email address hidden>   Tue, 18 Feb 2014 12:59:56 +0000
  • compiz (1:0.9.11+14.04.20140217-0ubuntu1) trusty; urgency=low
    
      [ Robert Ancell ]
      * Depend on gnome-settings-daemon-schemas so can work with unity-
        settings-daemon (LP: #1277487)
     -- Ubuntu daily release <email address hidden>   Mon, 17 Feb 2014 21:46:32 +0000
  • compiz (1:0.9.11+14.04.20140214-0ubuntu1) trusty; urgency=low
    
      [ Timo Jyrinki ]
      * Bump version to 0.9.11
    
      [ Marco Trevisan (Treviño) ]
      * debian/00_remove_decor_in_unity_session.py: add migration script
        to avoid to load the decor plugin on compiz startup when using unity.
      * debian/compiz-gnome.gconf-defaults: disable decor plugin on unity session
    
      [ Sebastien Bacher ]
      * debian/compiz-gnome.links: lists keybinding in unity-control-center
      * typo fix in the previous commit. (LP: #1271710)
    
      [ Iven Hsu ]
      * Opacify: Only dim the windows above the active window.(LP:
        #1189374). (LP: #1189374)
      * KWD: Fix compile errors with KDE 4.11. The KWin developers made
        kdecorationbridge.h private. See:
        http://lists.freedesktop.org/archives/compiz/2013-March/003479.html
        (LP: #1193792). (LP: #1193792)
    
      [ Nikolay Martynov ]
      * When static switcher is enabled and has an option to show
        application icon turned on the icons are expected to be ~1/3 of a
        thumbnail (48px). Instead they are displayed in 512px size and
        completely cover everything. This change addresses this issue. See
        LP #1173914. (LP: #1173914, #1186426)
    
      [ BryanFRitt ]
      * Fixed the non-working Annotate 'Clear' Button. Moved this option's
        CCSM position upwards to keep the button shortcuts together. (LP:
        #1202907). (LP: #1202907)
    
      [ CI bot ]
      * Flush trunk to Ubuntu
    
      [ William Hua ]
      * Replace <Primary> with <Control> in CCSM. Fixes
        https://bugs.launchpad.net/compiz/+bug/1069121. (LP: #1069121)
      * Tweak support of key bindings of the form
        '<Modifier>Modifier_KeySym'. We tweak a bit the behaviour of key
        bindings such as '<Control>Shift_L' and '<Alt>Alt_R'. 1. We ignore
        the order of key pressing and releasing, so tapping
        '<Shift>Control_L' is the same as '<Control>Shift_L'. 2. We properly
        handle the double modifiers case, for example '<Control>Control_R'.
        3. We also parse key bindings with '<Primary>' being equivalent to
        '<Control>'.
      * Fix GSettings tests with extra slash.
      * Add an interface for plugins to provide non-option key actions that
        can be triggered.
    
      [ Eleni Maria Stea ]
      * It fixes the bug #1245886. In DecorScreen::handleEvent compiz
        shouldn't try to handle any events if there's no active window yet.
        (LP: #1245886)
      * Compiz static analysis shows that some compiz classes have virtual
        methods but not virtual destructors. Added the virtual destructors
        to get rid of warnings and potential memory leaks.
      * fixed cmake syntax errors.
      * CMake considered compiz a C++ project and couldn't find some
        dependencies like pthreads. Defined compiz as a C, CXX project to
        fix the issue.
    
      [ Povilas Kanapickas ]
      * Opacify: Properly initialize window drawing for new windows in
        Opacify plugin. (LP: #787814, part 2). (LP: #787814)
      * Opacify: Fix damage generation in the Opacify plugin. When setting
        opacity to some value, non-opacified windows need to be damaged
        regardless of opacity, whereas opacified windows need to be damaged
        only if opacity changes. Remove uses of OPACIFY_WINDOW and
        OPACIFY_SCREEN. These macros cause significant loss of readability
        while providing no observable benefits.
      * OpenGL, fragment shader: Run the opacity filter after all other
        filters have been run. (LP: #1257223). (LP: #1257223)
    
      [ Daniel van Vugt ]
      * This branch is 0.9.11
    
      [ Hu Kang ]
      * Remove redundant src/logmessage/include/core/logmessage.h (LP:
        #1067246). (LP: #1067246)
    
      [ Brandon Schaefer ]
      * Unrevert 3728, fix failing tests. Change the behaviour of
        undecorating windows. Previously when a window was undecorated, we
        would shift it back to an appropriate position according to its
        gravity member. That behaviour was problematic because in the
        StaticGravity case the window has to just stay in the same place.
        But then if you had a window with StaticGravity which then did get a
        decoration and later removed it, it would be placed as though it was
        decorated and appear to be in the wrong place. The correct behaviour
        is to place all windows as though they have decorations, and then
        when decorations are removed, to move the window back to the corner
        as indicated in its gravity and then expand its size to cover the
        obscured regions no longer hidden because the decorations went away.
        (LP: #1165343).   1. Completely remove decorOffsetMove and other
        related code from      decor.cpp. Put the logic to handle the
        window->input () - window->border ()      placement offset inside of
        setWindowFrameExtents instead. Now the window      will always be
        offset from its original non-decorated position to the new
             decorated position, rather than having to guess between
        decoration sizes.   2. Make saveGeometry and restoreGeometry work
        relative to window->border ()      as opposed to including it in the
        saved geometry. It is possible that the      border size might
        change during maximization, as such, we don't want to      save the
        position with the border before maximizing. Instead save the
        position      as if it were never decorated so that when the window
        is restored it can be      restored to its original position and
        then adjusted for its new border size.   3. Fix a few typoes in the
        tests.   4. Moved some commonly used matchers into compiz::testing
          5. Make COMPIZ_PLUGIN_DIR accept multiple directories and look in
        each one      of them for the plugin   6. Set COMPIZ_PLUGIN_DIR
        appropriately for each plugin that we wish to load      on startup
        so that we load locally built plugins as opposed to installed
             ones.   7. Uncomment compiz_discover_tests for the acceptance
        tests. Now they are      run by default. (LP: #1195522). (LP:
        #1195522, #1165343)
      * If we receive a stateNotifyChange, we check if we are in a max
        state. If so, overwrite the xwc with either X | W, or Y | H
        depending on the semi max state with the orig position before we
        went into a semi max state. This way when we leave any sort of max
        state the orig position is restored. If the window is being grabbed
        we do not overwrite the position, which it gets its own value at
        that point (instead of the orig pos). (LP: #892012)
    
      [ Marco Trevisan (Treviño) ]
      * debian/patches/ubuntu-config.patch: remove grid custom keybindings
        for window management We handle these directly in unity
        (lp:~3v1n0/unity/super-arrows-shortcuts). (LP: #992697)
      * ActionMenu: weak ref the action menu on creation, and unref it on
        destroy Also, now the widget destruction automatically unset the
        menu. This makes the object to be correctly finalized (not only
        disposed) making sure the internal idle into WnckActionMenu gets
        stopped. (LP: #1191853)
      * debian/patches/ubuntu-config.patch: Don't use Ctrl+Alt+KP_0 for grid
        maximize Otherwise this clashes with default minimize key. (LP:
        #1236899)
      * Window: disable the size adjustments when decorating/undecorating
        windows. (LP: #1238111)
      * Window: resize a maximized window if the decorations changed, so
        that it will fill all the available space.
      * compiz-gnome: remove decor plugin from unity profile.
    
      [ Michail Bitzes ]
      * Plugin wizard ported to OpenGL|ES. Use GLVertexBuffer. Enable
        building for GLES. Enable architectures armel and armhf. (LP:
        #1196003). (LP: #1196003)
      * Wizard plugin: No more segfaults/crashes when changing options in
        CCSM. (LP: #1195996) Gradual fade out of particles when terminating.
        (LP: #1196010) Typo fixed in wizard.xml.in. optionNotify added for
        some options that were missing it. Code cleanup: Declare variables
        outside of loops. Functions moved from class WizardScreen to class
        ParticleSystem. (similar to firepaint/showmouse) We just enable
        GL_BLEND if it is disabled and we just disable GL_BLEND if it was
        disabled before. Many other style and indentation fixes. (LP:
        #1196010, #1195996)
      * Plugin showrepaint ported to OpenGL|ES. Use GLVertexBuffer. Enable
        building for GLES. Enable architectures armel and armhf. .
    
      [ Chris Townsend ]
      * Removed logic in the calculateWallOffset() function in the Expo
        plugin that only accounted for offsetting the expo animation on the
        left-most and top-most monitor. Also removed the
        TestNoOffsetIfOutputIsNotOrigin test since this test is now invalid.
        (LP: #1031710)
      * Ctrl-Alt-Del should open the gnome-system-monitor at the processes
        tab. This fix uses the commands plugin to override the default
        action. This includes: - Install the commands plugin by default. -
        Breaks/Replaces the compiz-plugins package for versions earlier than
        0.9.10. - Patch commands.xml and integrated.xml to map gnome-system-
        monitor to Ctrl-Alt-Del by default. - Start the command plugin upon
        Compiz starting. (LP: #890747)
      * Alt-Tabbing or Launcher selecting a window that is over 50% in a
        different viewport should not switch the viewport nor change the
        placement of the window. The fix is to add an option to turn this
        behavior on or off. By default, the option is on, but Ubuntu is
        patched to turn it off to fix this bug. (LP: #1092323)
      * Fix regression when selecting apps on a different viewport than the
        current one will no longer automatically switch the viewport. (LP:
        #1228352)
      * Fix issue where non-resizable windows and semi-maximized window
        would have an area near the top of the title bar that could not be
        grabbed. (LP: #1228507)
      * Remove seemingly useless code in the SnapWindow::resizeNotify()
        method where a snapped window that is being resized on the opposite
        side of the snap would cause orders of magnitude more calls to
        window->resize() and kill performance. (LP: #1019139)
      * Need to revert rev. 3798 because it has a bad side effect of
        "hanging" all of the windows when restarting Compiz and rendering
        the desktop unusable.
      * Bump ABI version due to some recent changes.
      * When saving window geometry when going into maximized/semi-
        maximized, also save for grabbed windows as well. This fixes a
        desktop hang condition. (LP: #1244754)
      * Second part of the fix to keep the workspace from automatically
        switching when more than half of the window is contained in another
        workspace. (LP: #1092323)
      * Add new Grid shortcuts for Ctrl-Super-Left/Right to left/right semi-
        maximize windows (removed from Unity). Patch Grid to use Ctrl-Super-
        Up to maximize a gridded window instead of using core. This helps in
        restoring a window back to it's original place before being gridded.
        Account for left and right borders when restoring a gridded window
        since the window would shrink and shift by this amount. (LP:
        #1251777)
    
      [ James Jones ]
      * OpenGL contexts are reference counted and only destroyed once they
        are no longer current to any thread. To ensure the context really is
        destroyed, lose current from it before destroying it. (LP: #1213809)
    
      [ Sami Jaktholm ]
      * Expo plugin: 1) Always fetch the dndButton action in dndFini. The
        action given to dndFini might be a key or edge binding action if
        expo was terminated during window DnD. We shouldn't set their state
        to CompAction::StateInitButton or the bindings break. 2) Pass NULL
        action to termExpo if invoked from handleEvent Previously we passed
        the action of expoKey to termExpo which in turn passed it to
        dndFini. DndFini changed the action state to
        CompAction::StateInitButton that broke the keybinding. Now that
        dndFini fetches the dndButton action itself, there's no need to
        fetch it in handleEvent too as dndFini is the only one using the
        action. (LP: #1131106)
      * Expo: Cast denominators of integer divisions to floats before
        performing a matrix translation to viewports with the results.
        Otherwise rounding errors in cases the results are not an integers
        cause the viewports to be painted offscreen. (LP: #438580)
      * Port dbus introspection to compiz 0.9. move xml creation to a
        separate class (IntrospectionResponse) for easier. memory management
        (allocate buffer and writer in ctor, free in dtor). move duplicated
        response sending code to a separate method that takes.
        IntrospectionResponse and sends the resulting xml. Refactor
        handle*IntrospectMessage to work with compiz 0.9 interfaces. This
        also fixes the broken list method which was a result of logic error.
        The code to invoke list handler was never reached. This fixes most
        of the issues noted in bug 749084. (LP: #749084)
      * Bias the current viewport in addWindowSizeChanges. If window is
        visible in the current viewport, use that viewport when calculating
        geometries in addWindowSizeChanges. Otherwise the current method is
        used. This way visible windows are maximized in the current
        viewport. However, offscreen windows won't jump back to the active
        viewport if window maximizes by itself or addWindowSizeChanges is
        called for some other reason. (LP: #776435)
      * Expo: Recompute glow quads if a desktop window is resized. (LP:
        #1090713). (LP: #1090713)
      * Decor: Use maximized border extents only if window is fully
        maximized. The decorator draws a normal border around semi-maximized
        windows. When maximized border extents were used for semi-maximized
        windows, compiz didn't reserve any space for the border in its
        geometry calculations. At least following problems are a result of
        this behavior: Semi-maximized windows have 1px borders drawn on
        adjacent workspaces. (LP: #986051). Grid placed window overlaps the
        adjacent viewport (LP: #898870). (LP: #986051, #898870)
    
      [ MC Return ]
      * Fade plugin, minor code cleanup: Declaration and assignment of local
        variables in one line. Merged if condition checks. Use pre- instead
        of postfix de- and increments. Removed redundant brackets. Added and
        removed newlines. Fixed indentation.
      * Opacify code cleanup: Declaration of local variables outside of
        loops. Calculate activeOpacity and targetOpacity just once, not for
        each window. Use prefix instead of postfix increments. Merged if
        condition checks. Declaration and assignment of local variables in
        one line. Added and removed newlines. Removed redundant brackets.
        Fixed indentation. Opacify, functionality fix: Improved the toggling
        logic by setting isToggle in the constructor according to the
        startup setting, then calling setFunctions (isToggle);,which then
        calls screen->handleEventSetEnabled (os, os->isToggle); to fix
        Opacify ignoring the "Toggle Opacify on by default" setting. (LP:
        #787814). (LP: #787814)
      * Widget, minor code cleanup: Declaration and assignment of local
        variables in one line. Merged if condition checks. Added and removed
        newlines. Added default case to switch (just a style issue). Removed
        redundant brackets. Fixed indentation.
      * window.cpp code cleanup: Declare variables outside of loops. Reduced
        the scope of variables. Do not assign values to variables if those
        values are not used. Always bail out of functions ASAP, do not
        calculate stuff you might not need. Use pre- instead of postfix de-
        and increments. Declaration and assignment of variables in one line.
        Merged if condition checks. Added and removed brackets. Added and
        removed newlines. Fixed indentation. Added TODOs (removal of magic
        numbers).
      * Fix for cube.cpp, regression r3720 - Inner sides of cube invisible
        now. Wrong variable type was accidentially used, cullInv is of type
        int, not bool. (LP: #1183852). (LP: #1184852, #1183852)
      * src/output*.cpp cleanup: Return ASAP, do not calculate stuff you do
        not need. Declaration and assignment of variables in one line.
        Declare local variables outside of loops. Use prefix instead of
        postfix increment. Added and removed newlines. Fixed indentation.
      * Expo, code cleanup: Declaration of local variables outside of loops.
        Use prefix instead of postfix increments. Declaration and assignment
        of local variables in one line, if possible. Reduced the scope of
        some variables. Removed redundant brackets. Used static_cast <>
        (type) instead of (type) cast. Added and removed newlines if
        appropriate. Fixed indentation. Added TODOs. Expo, speed
        improvements: Do not calculate screen->vpSize ().width () and
        screen->vpSize ().height () multiple times, instead save them in the
        unsigned ints vpCountHorz and vpCountVert and use those variables
        instead. Speed up the curve calculations by using additional
        variables to save results to not have to re-calculate those all the
        time. The new variables introduced are degToRad, screenWidth,
        screenWidthSquared, curveDistSquaredPlusQuarter,
        pOne2MinusCurveDist, v0Squared and v2Squared. Also introduced const
        float halfGapX = gapX / 2.0 and used this variable in the
        calculations of curveDistance and curveRadius. Simplified
        calculations of this type: (M_PI / 180.0f) * curveAngle / 2.0, which
        is equal to: (M_PI / 360.0f) * curveAngle Do not call
        optionGetGroundSize (); twice, instead save the value in the float
        groundSize and use that variable in the following calculations.
        Removed the creation of the redundant bool hide, which is just used
        once in an if-condition check. It does not help to have this bool.
        Try to avoid redundant GL_BLEND state changes, they are expensive -
        only enable GL_BLEND if it is disabled and just disable it, if it
        was disabled before, otherwise do nothing. Try to avoid redundant GL
        filter changes - just query the filter state if the mipmap option in
        CCSM is enabled. Also just set back the filter to the previous state
        if we actually changed it, otherwise do nothing. -5.5f * 2 = -11.0f.
        No need to calculate M_PI / 180.0f 720 times: Calculate this value
        once instead and save it in the const float mpi, use mpi in the
        following looped calculations. Use const int scw in the same loop
        instead of calling screen->width () 360 times. glow.cpp: Massively
        increased calculation speed of the glow texture: No need for any
        macros here -> removed them and replaced them with local variables.
        Precalculate values, store them in local variables and use those in
        the following calculations (new variables are the ints winRealX,
        winRealY, winRealWidth, winRealHeight, halfWinRealWidth,
        halfWinRealHeight, xPlusHalfWidth, yPlusHalfHeight, xPlusGlowOff,
        yPlusGlowOff, xMinusGlowOff, yMinusGlowOff and the float glowPart).
        Used w->geometry ().widthIncBorders () and w->geometry
        ().heightIncBorders () to determine winRealWidth and winRealHeight.
        Expo, fixes: Do not force "One wall per output" on the user, if his
        displays use different resolutions. "One big wall" makes a lot of
        sense for many multi-screen configs, where not all of the screens
        have exactly the same resolution, so if the user explicitely chooses
        this mode, Compiz should respect the user's choice. (LP: #1009592).
        (LP: #1009592)
      * Compiz, redundant and outdated files cleanup: Removed outdated NEWS
        files. Removed outdated AUTHORS and ChangeLog files. Removed
        plugins/freewins/COPYING - we do not need another copy of the GPL v2
        here. Removed another copy of the GPL v2 from plugins/workarounds.
        This will reduce package sizes, download time and bring some order
        to chaos.
      * Expo, .xml.in fixes: Better description of the plugin. Improved and
        fixed tooltips. Moved the "Curve Strength" option closer to
        "Deformation". Refreshed the quilt patch for Ubuntu: There is no
        need to set the default distance to 0.005 as this setting has no
        effect without deformation. Set default multi-screen mode to "One
        wall per output" for Ubuntu, because "One big wall" works now for
        all display configurations and could potentially change the
        appearance for Ubuntu users. (LP: #1074487). (LP: #1074487)
      * Added contribute directory. Added QtCreatorConfig.xml, a
        configuration file for Qt Creator, which adjusts Qt Creator's C++
        indentation style to be the same that is used in the Compiz project
        (X11, mixed spaces and tabs).
      * Mousepoll: Fixed mousepoll version mismatch. (COMPIZ_MOUSEPOLL_ABI
        was missing) (LP: #1195659). (LP: #1195659)
      * Expo: Simplified the GL filter handling.
      * Fixed broken text in all plugins (missing COMPIZ_TEXT_ABI). (LP:
        #1196493). (LP: #1196493)
      * CCSM: Fixed vertical alignment of the text on the stylized keys.
        (Shift, Super, Ctrl, Alt) (LP: #1196345). (LP: #1196345)
      * Thumbnail, cleanup: Merged if condition checks. Declaration of
        variables when they are needed (C++ style). Removed redundant
        brackets. Removed useless "/* Could someone please explain how this
        works */" comment. Removed extern const unsigned short
        TEXT_DISTANCE, because this variable does not exist anymore (value
        is configurable already). Changed if (something > 0.0) to if
        (something), 10 times. Changed pointedWin = 0; to pointedWin =
        NULL;. Used centerX () and centerY () abstractions from
        compiz::window::Geometry to determine the icon center coordinates.
        Added and removed newlines, if appropriate. Fixed indentation.
        Thumbnail, code speedup: Return ASAP, do not calculate stuff you
        might not need. No need for WIN_W (w) and WIN_H (w) macros, removed
        those and replaced them with the local variables int winWidth, int
        winHeight, int dockWidth and int dockHeight. No need for WIN_X (w)
        and WIN_Y (w) macros, replaced those with int dockX and int dockY.
        Introduced int tHeight = thumb.height;, int tWidth = thumb.width;,
        int halfTWidth = tWidth / 2; and int halfTHeight = tHeight / 2; and
        used those variables in the following calculations. Use
        igMidPoint[0] and igMidPoint[1] as arguments in the screen-
        >outputDeviceForPoint (arg1, arg2) function, instead of re-
        calculating the arguments again. Thumbnail, GL speedup: Introduced
        GLfloat wxPlusWidth = wx + width;, GLfloat wyPlusHeight = wy +
        height;, GLfloat wxPlusWPlusOff = wxPlusWidth + off;, GLfloat
        wyPlusHPlusOff = wyPlusHeight + off;, GLfloat wxMinusOff = wx - off;
        and GLfloat wyMinusOff = wy - off; and used those coordinates in the
        vertexData arrays. No need to re- calculate those values multiple
        times. Just query optionGetShowDelay () once and use int showDelay
        later. We just enable blending if it is currently disabled and
        disable blending only, if it was disabled before.
      * src/session.cpp cleanup: Declaration and assignment of local
        variables in one line. (this *should* fix bug #1101405) Use pre-
        instead of postfix increments. Added and removed newlines. Added
        missing break (just a style issue). Fixed indentation. (LP:
        #1101405). (LP: #1101405)
      * Firepaint, code cleanup: Declare variables outside of loops.
        Declaration and assignment of local variables in one line. Use pre-
        instead of postfix increment. Removed redundant newlines. Removed
        redundant casts. (from (float) optionGetFireColor) Removed redundant
        brackets. Added missing break (style issue only). Added comment and
        TODO. Fixed indentation. Firepaint, speedup: We just enable GL_BLEND
        if it is disabled and we just disable GL_BLEND if it was disabled
        before. Introduced the GLfloats xMinusW, xPlusW, yMinusH and yPlusH
        to store calculated coordinates instead of recalculating them
        multiple times. Introduced float fireLife = optionGetFireLife ();,
        float fireWidth = optionGetFireSize ();, float fireHeight =
        fireWidth * 1.5f; and bool mystFire = optionGetFireMystical (); and
        used those variables inside the loop. Firepaint, .xml.in cleanup:
        Firepaint now has 2 tabs, 'General' and 'Particle Settings'. The
        name of this plugin is Firepaint, <short> should not contain the
        description. Better description of the plugin. Uppercase option
        titles. Punctuation for tooltips. Improved tooltips. Firepaint,
        fixes: Initialize all class member variables in the ParticleSystem::
        ParticleSystem () ctor (LP: #1101512, LP: #1101580). (LP: #1101512,
        #1101580)
      * img* plugins code cleanup: Always bail out of function ASAP, do not
        calculate stuff you might not need. Declare variables outside of
        loops so they won't be re-declared in each loop. Use prefix instead
        of postfix increments. Declaration and assignment of variables in
        one line. Merged if condition checks. Added and removed brackets.
        Added and removed newlines, if appropriate. Minor code structure
        improvements, declare variables when you need them, not much
        earlier. Fixed indentation.
      * Text, speed improvements: Introduced const float halfPi = PI / 2.0f;
        and const float triHalfPi = halfPi * 3; and used those to draw the
        rounded background. Introduced GLfloat xPlusWidth = x + width; and
        GLfloat yMinusHeight = y - height; and used those coordinates for
        the vertexData array. Text, cleanup: Declaration of local variables
        outside of loops. Fixed indentation.
      * cube.cpp, code cleanup: #include "privates.h", not <privates.h>.
        Merged if condition checks. Declaration of variables, where you need
        them to improve the code structure and readability. Use C++ standard
        bool for topDir, bottomDir, allCaps and mCapsPainted[output] (bool
        true/false instead Bool TRUE/FALSE). Initialize all of the class
        member variables in the constructor. Replaced if (priv->mSky.size ()
        > 0) with if (!priv->mSky.empty ()). Removed redundant brackets.
        Fixed indentation. Added TODO. cube.cpp, code speedup: Do not call
        optionGetInactiveOpacity () twice, instead save the value as float
        inactiveOpacity and use this variable in the following calculation.
        Introduced the variables float halfHsize = hsize / 2.0; and float
        tsSize = 360.0f / size; and used those in following calculations to
        not have to recalculate those values multiple times. Do not
        calculate M_PI / sides and 2 * M_PI / sides multiple times in loops,
        instead save those values in the GLfloats mps and tmps and use those
        values inside the loops. Use GLdouble mDist2 = 0.5 / mDistance; in
        the GLdouble clipPlane* arrays, instead of recalculating this value
        multiple times. Use GLfloat oneMinusFStepX = 1.0f - fStepX; and
        GLfloat oneMinusFStepY = 1.0f - fStepY; instead of calculating those
        values multiple times. Use float outputWidth = outputPtr->width ();
        and float outputHeight = outputPtr->height (); instead of calling
        the functions multiple times. Introduced the GLfloat normInvert =
        0.5f * invert; and used this variable instead of recalculating this
        value multiple times. Introduced the GLfloats mSkyWidth and
        mSkyHeight and used those in the following loops instead of calling
        mSkySize.width () and mSkySize.height () multiple times. Try to
        avoid redundant GL_BLEND state changes, because OpenGL will blindly
        change the global state, no matter what it currently is set to and
        that state change is expensive. So we query and save the actual
        blending state in the variable GLboolean glBlendEnabled =
        glIsEnabled (GL_BLEND); and just enable it if it isn't already and
        just disable it, if it was disabled before. (LP: #1101422, LP:
        #1195977) cube.cpp, other fixes: Return false in function
        PrivateCubeScreen::updateGeometry (int, int) if sides should ever be
        0, which should never happen, but should make Coverity happy. (LP:
        #1101541) Initialize all class member variables in the
        PrivateCubeScreen:: PrivateCubeScreen (CompScreen *) constructor.
        (mTc, mNOutput, mOutput, mOutputMask, mCleared, mCapsPainted) (LP:
        #1101575). (LP: #1195977, #1101541, #1101422, #1101575)
      * plugins/ezoom/src/ezoom.cpp: Also initialize xtrans and ytrans in
        the ctors. Just just enable blending if it is disabled and just
        disable it if it was disabled before. Introduced the variables
        oWidth, oHeight, halfOWidth and halfOHeight to speed up following
        calculations. Return ASAP, do not calculate possibly redundant
        stuff. Declaration and assignment of local variables in one line.
        Improved readability. Added and removed newlines. Minor indentation
        fixes. plugins/ezoom/ezoom.xml.in: Removed redundant whitespaces
        from a tooltip. (LP: #1101572). (LP: #1101572)
      * gears.cpp, gears.h: Do not render the gears if we are viewing the
        cube from the inside - the gears are otherwise obstructing the
        users' view on his workspaces. Print a warning to the console once
        in this case. (LP: #1185819). (LP: #1185819)
      * Animation code cleanup: Return ASAP, do not calculate stuff you
        might not need. Declare CompWindow *w, AnimWindow *animWin,
        PrivateAnimWindow *aw and Animation *curAnim outside the for loop.
        grid.cpp: Declare float x, y, topiyFloat outside the for loop.
        options.cpp: Declare unsigned int nOptions outside the foreach loop.
        Use pre- instead of postfix de- and increments. Declaration and
        assignment of variables in one line. Merged if condition checks.
        Added and removed brackets. Added and removed newlines. Fixed
        indentation. Also initialize the non-static class members
        "mGridWidth" and "mGridHeight" in the GridAnim::GridAnim ctor. (LP:
        #1101618). (LP: #1101618)
    
      [ Andrea Azzarone ]
      * Satisfy matchers on getProperty as soon as they are set. The order
        of evaluation for matchers in Google Mock appears to be undefined -
        this means that we can't rely on the first argument being matched
        first and the second argument being matched afterwards. In turn,
        this means that any GValue may be passed to a GValueMatch which, by
        a design flaw, is unable to handle any values of a type it does not
        expect (at least not without an API change). It will silently pass
        the incorrect type to g_type_get_* which causes internal assertion
        failures. At the moment we're just interleaving the calls to
        getProperty and get_property - that way the expectations are
        satisfied and go away as soon as they're set. This in turn means
        that Google Mock only has to traverse one matcher rather than
        multiple matchers. (LP: #1187468). (LP: #1187468)
      * Extends invisible borders to the title bar too. (LP: #717444). (LP:
        #717444)
      * Disable grid/put_maximize_key on ubuntu.
      * Port to new gmock. Disable some faling tests because of weird leaks.
        (LP: #1185265)
      * Update window geo only on new decoration size only if mapped. (LP:
        #1198000). (LP: #1198000)
      * Disable show_desktop_key by default on ubuntu. Will provide the same
        option under the unityshell panel. (LP: #1204664)
      * Use Glib::RefPtr<Glib::Source> in glib_integration_test. After the
        fix of bug https://bugzilla.gnome.org/show_bug.cgi?id=561885
        Glib::Source::~Source is called when both Source::unreference() and
        SourceCallbackData::destroy_notify_callback() are called. (LP:
        #1214459)
      * Terminate scale on mouse click on an empty area. (LP: #1234624)
    
      [ Sam Spilsbury ]
      * Change the behaviour of undecorating windows. Previously when a
        window was undecorated, we would shift it back to an appropriate
        position according to its gravity member. That behaviour was
        problematic because in the StaticGravity case the window has to just
        stay in the same place. But then if you had a window with
        StaticGravity which then did get a decoration and later removed it,
        it would be placed as though it was decorated and appear to be in
        the wrong place. The correct behaviour is to place all windows as
        though they have decorations, and then when decorations are removed,
        to move the window back to the corner as indicated in its gravity
        and then expand its size to cover the obscured regions no longer
        hidden because the decorations went away. (LP: #1165343). (LP:
        #1165343)
      * Added some new hooks to PluginClassHandler to allow a VTable to
        specify if loaded. PluginClassHandler::get () was designed to simply
        instantiate an instance of that class for the core structure, but it
        did this without checking if the plugin was loaded. Added some new
        methods to PluginClassHandler exposed by LoadedPluginClassBridge and
        only accessible by those who implement PluginKey to specify globally
        whether or not a plugin is actually loaded, so that
        PluginClassHandler can return accordingly. Integration and unit
        tests added as appropriate (LP: #1169620) (LP: #1101026). (LP:
        #1101026, #1169620)
      * Satisfy matchers on getProperty as soon as they are set. The order
        of evaluation for matchers in Google Mock appears to be undefined -
        this means that we can't rely on the first argument being matched
        first and the second argument being matched afterwards. In turn,
        this means that any GValue may be passed to a GValueMatch which, by
        a design flaw, is unable to handle any values of a type it does not
        expect (at least not without an API change). It will silently pass
        the incorrect type to g_type_get_* which causes internal assertion
        failures. At the moment we're just interleaving the calls to
        getProperty and get_property - that way the expectations are
        satisfied and go away as soon as they're set. This in turn means
        that Google Mock only has to traverse one matcher rather than
        multiple matchers. (LP: #1187468). (LP: #1187468)
      * Revert revision 3278.
      * Immediately update the window matrices and regions if the number of
        textures changed. (LP: #1189369). (LP: #1189369)
      * Provide a basic decor plugin acceptance test suite. This change
        provides a simple acceptance test suite for the decor plugin. It
        creates a fake window decorator (cdt::FakeDecorator) and allows
        users to create fake decorations (eg cdt::FakePixmapDecoration)
        which can be serialized as decoration properties and set on windows
        under xorg-gtest. It also launches compiz with the opengl, composite
        and decor plugins loaded and runs some basic tests. Among them:
        BaseDecorAcceptance. Startup: Basic canary "can we start compiz with
        these plugins" test
        FakeDecoratorSessionOwnerNameSetOnSelectionOwner: Create a fake
        decorator, ensure that libdecoration sets our session name "fake" on
        the selection owner FakeDecoratorReceiveClientMessage: Create fake
        decorator, ensure that libdecoration posts a client message to the
        root window announcing that the new decorator exists.
        DecorationSupportsWindowType: Create a fake decorator, announce
        support for the WINDOW type decorations and ensure that the correct
        atom is set on the session owner window.
        DecorationSupportsPixmapType: Create a fake decorator, announce
        support for the PIXMAP type decorations and ensure that the correct
        atom is set on the session owner window.
        DecorFakeDecoratorAcceptance. WindowDefaultFallbackNoExtents: By
        default, newly created windows should recieve a fallback decoration
        but they should not have any frame extents.
        DecorWithPixmapDefaultsAcceptance. These tests create a default
        pixmap decoration to use in the hypothetical situation that the
        window decorator hasn't yet generated a decoration for this window.
        FallbackRecieveInputFrameNotify: Verify that we get a
        _COMPIZ_WINDOW_DECOR_INPUT_FRAME property set on the client when it
        is created and mapped (eg, an input frame window was annonuced to be
        created) FallbackHasInputFrameInParent: Verify that a second window
        exists in the frame window after this message was recieved.
        FallbackNormalWindowExtentOnDecoration: Verify that
        _NET_FRAME_EXTENTS is set to the default window extents for the
        default decoration when the window was mapped.
        FallbackNormalWindowInputOnFrame: Verify that the input window
        matches the extents set. PixmapDecoratedWindowAcceptance. These
        tests create a new window and an associated unique decoration for
        that window. MaximizeBorderExtentsOnMaximize: Maximize the window
        and ensure that the correct border extents are used.
        MaximizeBorderExtentsOnVertMaximize: Vertically maximize the window
        and ensure that the correct border extents are used.
        MaximizeBorderExtentsOnHorzMaximize: Horizontally maximize the
        window and ensure that the correct border extents are used.
        MaximizeFrameWindowSizeEqOutputSize: Maximie the window and ensure
        that the frame window exactly equals the output size.
        VertMaximizeFrameWindowSizeEqOutputYHeight: Maximize the window and
        ensure that the frame window's Y and Height values are consistent
        with the output size. HorzMaximizeFrameWindowSizeEqOutputXWidth:
        Ditto horizontal maximization.
        DISABLED_VertMaximizeFrameWindowSizeSameXWidth: Maximize the window
        vertically and ensure that the frame window's border-relative X
        position and width does not change. This test is disabled, as the
        behavior in compiz is currently broken, (but it means that we can
        fix it later and enable the test).
        DISABLED_HorzMaximizeFrameWindowSizeSameYHeight Maximize the window
        horizontally and ensure that the frame window's border-relative Y
        position and height does not change. This test is disabled, as the
        behavior in compiz is currently broken, (but it means that we can
        fix it later and enable the test). (LP: #1188900). (LP: #1188900)
      * Only mark for no further instantiations once we've finished
        destructing the plugin (LP: #1193596). (LP: #1193596)
      * Add more acceptance tests for the decor plugin.
        PixmapDecoratedWindowAcceptance. UndecoratedWindowExpandToOrigSize
        Test that upon undecoration, the window has exactly the same
        geometry as it did before decoration.
        DISABLED_UndecorateStaticGravityWindow Tests that for windows with a
        static gravity, the window has exactly the same geometry as it did
        before decoration. Disabled, as core is currently not moving the
        window with the static gravity back to where it started.
        AdjustmentExtents/PixmapDecorationAdjustment.
        AdjustRestoredWindowBorderMovesClient/P Test that changing the
        border extents causes the client window's absolute geometry to
        change. DISABLED_AdjustRestoredWindowBorderShrinkClient/P Tests that
        changing the border extents causes the client window's absolute
        geometry to shrink by the amount of border. Disabled, as the current
        behavior is to expand the frame window as opposed to shrinking the
        client (but this will be changed).
        DISABLED_ClientExpandsAsBorderShrinks/P Tests that as the border
        shrinks away, the client expands back to its original size.
        Disabled, as the current behavior is to expand the frame window as
        opposed to shrinking the client (but this will be changed).
        DISABLED_ClientExpandsAsBorderShrinksWhilstMaximized/P Tests that
        even if the client is maximized, if the restored border shrinks away
        it demaximizes back to the same position while also accounting for
        any change in the restored window border size. Disabled, as the
        current behavior is to expand the frame window as opposed to
        shrinking the client (but this will be changed).
        DISABLED_ClientExpandsAsBorderShrinksWhilstUndecorated/P Tests that
        even when the client is not permitted to be decorated because the
        decoration hint was removed, when it is redecorated it will be moved
        to the correct position taking into account any changes in its
        border size. Disabled, as the current behavior is to expand the
        frame window as opposed to shrinking the client (but this will be
        changed). DISABLED_AdjustRestoredWindowInputNoMoveClient/P Tests
        that adjusting the input extents (as independent from the border
        extents) of the client does not cause the client to move. Disabled,
        as this behavior appears to be broken in core. Move the
        "GetImmediateParent" function into the compiz::testing namespace so
        that it can be used by other tests. (LP: #1188900)
      * Unrevert 3728, fix failing tests. Change the behaviour of
        undecorating windows. Previously when a window was undecorated, we
        would shift it back to an appropriate position according to its
        gravity member. That behaviour was problematic because in the
        StaticGravity case the window has to just stay in the same place.
        But then if you had a window with StaticGravity which then did get a
        decoration and later removed it, it would be placed as though it was
        decorated and appear to be in the wrong place. The correct behaviour
        is to place all windows as though they have decorations, and then
        when decorations are removed, to move the window back to the corner
        as indicated in its gravity and then expand its size to cover the
        obscured regions no longer hidden because the decorations went away.
        (LP: #1165343).   1. Completely remove decorOffsetMove and other
        related code from      decor.cpp. Put the logic to handle the
        window->input () - window->border ()      placement offset inside of
        setWindowFrameExtents instead. Now the window      will always be
        offset from its original non-decorated position to the new
             decorated position, rather than having to guess between
        decoration sizes.   2. Make saveGeometry and restoreGeometry work
        relative to window->border ()      as opposed to including it in the
        saved geometry. It is possible that the      border size might
        change during maximization, as such, we don't want to      save the
        position with the border before maximizing. Instead save the
        position      as if it were never decorated so that when the window
        is restored it can be      restored to its original position and
        then adjusted for its new border size.   3. Fix a few typoes in the
        tests.   4. Moved some commonly used matchers into compiz::testing
          5. Make COMPIZ_PLUGIN_DIR accept multiple directories and look in
        each one      of them for the plugin   6. Set COMPIZ_PLUGIN_DIR
        appropriately for each plugin that we wish to load      on startup
        so that we load locally built plugins as opposed to installed
             ones.   7. Uncomment compiz_discover_tests for the acceptance
        tests. Now they are      run by default. (LP: #1195522). (LP:
        #1195522, #1165343)
      * Add a simple script for making releases.
      * Port to new gmock. Disable some faling tests because of weird leaks.
        (LP: #1185265)
      * Don't add the frame to the toplevel stack if it hasn't been created
        yet. In the event that a window is unreparented or destroyed, we
        usually need to add its frame window to the toplevel window stack
        until the time at which we recieve a DestroyNotify for it, as there
        may be incoming ConfigureNotify events puporting to stack other
        windows relative to that frame. However, this does not apply in the
        case where we have not yet received a CreateNotify for the frame
        window. In that case, it is not possible for any stacking requests
        to be made relative to this window, so it does not need to be added
        immediately. Instead, we can add it at the time that we recieve a
        CreateNotify for it as a regular override redirect window until the
        time that it is later destroyed. (LP: #1171314). (LP: #1171314)
      * Remove redundant src/logmessage/include/core/logmessage.h (LP:
        #1067246). (LP: #1067246)
      * Adjust acceptance tests for the fix to LP: #1198000 1. Always set
        frame extents before updating the frame 2. Added
        COMPIZ_NO_CONFIGURE_BUFFER_LOCKS so that we don't have to deal with
        the delayed configure requests logic in the tests where it does not
        help 3. Split restoredDecorationSize in to
        restoredDecorationBorderSize and restoredDecorationInputSize so that
        we can measure the size of the decoration both in terms of its
        visible and invisible border 4. Wait for the default decoration
        properly 5. Capture the initial geometry of the window with and
        without decorations when the window gets its first decoration. Use
        these values to calculate the size changes in the window from then
        on instead of its creation values 6. Just flag when the window was
        first decorated in setWindowFrameExtents rather than checking if it
        is mapped. We only want to not resize the window once. (LP:
        #1198000)
      * Release version 0.9.10.0
      * Bump VERSION to 0.9.10.2
      * Ensure that the frame region is always set as soon as the window is
        decorated. Further ensure that the window decoration isn't
        needlessly reset if the window already had one. Refactored XShape
        usage into a common function. Added tests to verify the behaviour of
        shape set on initially creating a decorated window and also upon
        changing the input frame window shape (LP: #1158267). (LP: #1158267)
      * Add support for the GLX_EXT_buffer_age extension on hardware that
        supports it, which should result in a nice speed-boost due to the
        fact that we no longer have to abuse fillrate by retaining old frame
        contents, and instead asking the driver how defined the current
        frame is. (LP: #1024304)
     -- Ubuntu daily release <email address hidden>   Fri, 14 Feb 2014 22:54:33 +0000
  • compiz (1:0.9.10+13.10.20131011-0ubuntu5) trusty; urgency=medium
    
      * debian/control: Depend on gnome-settings-daemon-schemas so can work with
        unity-settings-daemon (LP: #1277487)
     -- Robert Ancell <email address hidden>   Mon, 17 Feb 2014 11:15:49 +1300
  • compiz (1:0.9.10+13.10.20131011-0ubuntu4) trusty; urgency=medium
    
      * Typo fix in the previous commit
     -- Sebastien Bacher <email address hidden>   Tue, 04 Feb 2014 16:44:29 +0000
  • compiz (1:0.9.10+13.10.20131011-0ubuntu3) trusty; urgency=medium
    
      * debian/compiz-gnome.links: lists keybinding in unity-control-center
     -- Sebastien Bacher <email address hidden>   Mon, 03 Feb 2014 17:25:02 +0000
  • compiz (1:0.9.10+13.10.20131011-0ubuntu2) trusty; urgency=medium
    
      * No-change rebuild against new protobuf.
     -- Steve Langasek <email address hidden>   Wed, 29 Jan 2014 11:13:31 +0000
  • compiz (1:0.9.10+13.10.20131011-0ubuntu1) saucy; urgency=low
    
      [ Chris Townsend ]
      * Remove seemingly useless code in the SnapWindow::resizeNotify()
        method where a snapped window that is being resized on the opposite
        side of the snap would cause orders of magnitude more calls to
        window->resize() and kill performance. (LP: #1019139)
    
      [ Marco Trevisan (Treviño) ]
      * debian/patches/ubuntu-config.patch: Don't use Ctrl+Alt+KP_0 for grid
        maximize Otherwise this clashes with default minimize key. (LP:
        #1236899)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 3797
     -- Ubuntu daily release <email address hidden>   Fri, 11 Oct 2013 06:16:27 +0000