Skip to content
  1. Jun 26, 2013
    • Sam Spilsbury's avatar
      Revert revision 3736. Fixes LP: #1165343 · 8addbd9a
      Sam Spilsbury authored
      8addbd9a
    • MC Return's avatar
      Compiz, redundant and outdated files cleanup: · 9f3011ad
      MC Return authored
      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.
      
      Approved by Didier Roche, PS Jenkins bot, Sam Spilsbury.
      9f3011ad
  2. Jun 25, 2013
  3. Jun 24, 2013
    • Sam Spilsbury's avatar
      Add more acceptance tests for the decor plugin. · 2ddb5de6
      Sam Spilsbury authored
      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. Fixes: https://bugs.launchpad.net/bugs/1188900.
      
      Approved by PS Jenkins bot, Andrea Azzarone.
      2ddb5de6
  4. Jun 23, 2013
  5. Jun 22, 2013
    • Sam Spilsbury's avatar
      Only mark for no further instantiations once we've finished destructing · 5bc4248b
      Sam Spilsbury authored
      the plugin
      
      (LP: #1193596)
      5bc4248b
    • Sam Spilsbury's avatar
      Refactoring: · ba5feef6
      Sam Spilsbury authored
       1. Stop repeating ConfigureNotifyXEventMatcher and co everywhere, just
          have a WaitForConfigureOn wrapper function to simplify that from
          14 lines per use to 5 lines per use.
       2. Added ReconfigureDecoration as a means to change a pixmap decoration's
          border and input at the same time whilst also waiting for the frame
          window to be adjusted.
       3. Saved the result of XInternAtom where it made sense.
      ba5feef6
    • Sam Spilsbury's avatar
      Add more acceptance tests for the decor plugin. · 81b636c5
      Sam Spilsbury authored
      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.
      81b636c5
  6. Jun 21, 2013
    • Sam Spilsbury's avatar
      Provide a basic decor plugin acceptance test suite. · 481449f6
      Sam Spilsbury authored
      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). Fixes: https://bugs.launchpad.net/bugs/1188900.
      
      Approved by PS Jenkins bot, Andrea Azzarone, MC Return.
      481449f6
  7. Jun 20, 2013
  8. Jun 19, 2013
  9. Jun 18, 2013
    • MC Return's avatar
      Expo, code cleanup: · 8aa5acae
      MC Return authored
      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). Fixes: https://bugs.launchpad.net/bugs/1009592.
      
      Approved by PS Jenkins bot, Sam Spilsbury, Sami Jaktholm.
      8aa5acae
  10. Jun 16, 2013
    • MC Return's avatar
    • MC Return's avatar
      Removed additional alignment whitespaces between if and bracket · b0d6cf98
      MC Return authored
      Used static_cast <> (type) instead of (type) cast
      Added whitespace between CompPoint and bracket
      Removed alignment in void ExpoScreen::updateWraps (bool enable)
      Try harder not to break the 80 characters limit
      No need to check if (oldFilter != GL_LINEAR_MIPMAP_LINEAR) as the 
      setTextureFilter function is smart enough
      Use w->geometry ().widthIncBorders () and w->geometry ().heightIncBorders ()
      to determine winRealWidth and winRealHeight
      More verbose variable names:
      mpi->degToRad
      scw, sw ->screenWidth
      sws->screenWidthSquared
      rs->curveDistSquaredPlusQuarter
      pcd->pOne2MinusCurveDist
      vzs->v0Squared
      vts->v2Squared
      b0d6cf98
  11. Jun 15, 2013
    • MC Return's avatar
      src/output*.cpp cleanup: · d2e6a61b
      MC Return authored
      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.
      
      Approved by PS Jenkins bot, Sam Spilsbury.
      d2e6a61b
    • Sam Spilsbury's avatar
      Cleanup · da8c1242
      Sam Spilsbury authored
      da8c1242
    • Sam Spilsbury's avatar
      Merge lp:compiz · 3336113a
      Sam Spilsbury authored
      3336113a
  12. Jun 13, 2013
  13. Jun 12, 2013
  14. Jun 11, 2013
  15. Jun 10, 2013
    • Iven Hsu's avatar
      Opacify: Only dim the windows above the active window.(LP: #1189374). Fixes:... · 467bfcd8
      Iven Hsu authored
      Opacify: Only dim the windows above the active window.(LP: #1189374). Fixes: https://bugs.launchpad.net/bugs/1189374.
      
      Approved by PS Jenkins bot, Sam Spilsbury, MC Return.
      467bfcd8
    • Sam Spilsbury's avatar
      Fixes LP #1189369 · 3290256a
      Sam Spilsbury authored
      3290256a
    • Sam Spilsbury's avatar
      01a11130
    • Sam Spilsbury's avatar
      Fixes LP: #1188900 · 8d67446b
      Sam Spilsbury authored
      8d67446b
    • Sam Spilsbury's avatar
      Immediately update the window matrices and regions if the number of · 7def74f3
      Sam Spilsbury authored
      textures changed.
      7def74f3
    • Sam Spilsbury's avatar
      Don't run the tests by default yet as we're not capable of loading · f1dca1eb
      Sam Spilsbury authored
      plugins that haven't yet been installed.
      f1dca1eb
    • Sam Spilsbury's avatar
      Provide a basic decor plugin acceptance test suite. · b33713d1
      Sam Spilsbury authored
      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).
      b33713d1
    • Iven Hsu's avatar
  16. Jun 08, 2013
  17. Jun 07, 2013
  18. Jun 05, 2013