Skip to content
  1. Dec 10, 2015
  2. Oct 15, 2015
    • Marco Trevisan's avatar
      Apply ubuntu-config.patch by default · c7c92e37
      Marco Trevisan authored
      In theory we should have used profiles settings for this, providing a proper unity.ini
      But right now there's no reason for that effort.
      In case someone wants to change settings, profiles will fix this.
      c7c92e37
  3. Oct 09, 2015
    • Marco Trevisan's avatar
      Apply ubuntu-config.patch by default · 16460986
      Marco Trevisan authored
      In theory we should have used profiles settings for this, providing a proper unity.ini
      But right now there's no reason for that effort.
      In case someone wants to change settings, profiles will fix this.
      16460986
  4. Apr 23, 2015
  5. Oct 31, 2013
  6. Aug 20, 2013
  7. Jun 28, 2013
    • Sam Spilsbury's avatar
      Constify · 74eae1de
      Sam Spilsbury authored
      74eae1de
    • Sam Spilsbury's avatar
      Fix failing tests and run all the tests by default. · 0d0b503d
      Sam Spilsbury authored
      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.
      0d0b503d
  8. Jun 26, 2013
    • Sam Spilsbury's avatar
      Revert revision 3736. Fixes LP: #1165343 · 8addbd9a
      Sam Spilsbury authored
      8addbd9a
    • Sam Spilsbury's avatar
      Remove timeout · ab09af54
      Sam Spilsbury authored
      ab09af54
    • Sam Spilsbury's avatar
      Don't add the frame to the toplevel stack if it hasn't been created yet. · 37a0cdb2
      Sam Spilsbury authored
      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)
      37a0cdb2
    • Sam Spilsbury's avatar
      Added new test StackingSync.DestroyClientJustBeforeReparent · c1119006
      Sam Spilsbury authored
      Test that compiz' internal stack representation does not become
      confused when a a client window is marked as destroyed just before
      the ReparentNotify arrives. The parent window should not be added to
      the window stack twice, and instead by added only once when we
      recieve a CreateNotify for it.
      
      As such, restacking the parent window toward the bottom of the stack
      should result in any dependent stacking operations suceeding and not being
      mistakenly placed at the top of the stack.
      c1119006
  9. Jun 22, 2013
    • 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
  10. Jun 10, 2013
    • 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
  11. Jun 07, 2013
  12. May 11, 2013
  13. May 10, 2013
    • Sam Spilsbury's avatar
      Fix accidentally removed variable · 3464afa8
      Sam Spilsbury authored
      3464afa8
    • Sam Spilsbury's avatar
      Fix indentation · 05c164b5
      Sam Spilsbury authored
      05c164b5
    • Sam Spilsbury's avatar
      Try to launch tests on another server if there's tests running in parallel. · 5476fbb1
      Sam Spilsbury authored
      Provide our own compiz_xorg_gtest_main and subclass xorg::testing::Environment
      to try and launch tests on another display if there's tests running on
      one already.
      
      This isn't by any means perfect - there are still race conditions
      surrounding XOpenDisplay and parallel test runs but it makes any
      time gap for conditions such as:
       1. Client has a server grab on the display we're checking
          and won't let go.
       2. Two servers get launched on one port and one set of tests
          interfere with the other.
      
      It also means that we're now unable to configure the display port,
      log file and config file on the command line. But we weren't using that
      anyways.
      
      Finally, the logs now point to /tmp/Compiz.Xorg.GTest.displaynum.log
      
      (LP: #1178514)
      5476fbb1
  14. May 09, 2013
  15. May 08, 2013
  16. May 01, 2013
  17. Apr 27, 2013
    • Sam Spilsbury's avatar
      wall: Remove mouse polling edge flip detection code, instead turn edges on · 74a90c37
      Sam Spilsbury authored
            in the following situations:
            
          1. Edge flip pointer is on (always on)
          2. Edge flip move is on, and the screen is grabbed (someone is moving
             a window)
          3. Edge flip dnd is on, and a dnd type window is mapped (someone is
             doing a dnd)
      
      Fix a misconstructed boolean condition in removeAction that could cause 
      actions to be removed twice and as such cause the edge reference count to
      go negative.
      74a90c37
  18. Apr 26, 2013
  19. Apr 25, 2013
  20. Apr 22, 2013
  21. Apr 20, 2013
  22. Apr 19, 2013
  23. Apr 18, 2013
  24. Apr 17, 2013
  25. Apr 15, 2013
  26. Apr 02, 2013
  27. Mar 29, 2013
  28. Mar 26, 2013