1. 15 Dec, 2016 1 commit
  2. 31 Oct, 2016 1 commit
    • Martin Flöser's avatar
      Add way to hide/show cursor in Platform · e90e5968
      Martin Flöser authored
      Summary:
      Some platforms support to hide and show the cursor. This will be needed
      by e.g. the zoom effect which currently only provides this functionality
      on X11.
      
      This change introduces a new method in the Platform to hide and show the
      cursor. The methods need to be called balanced and the implementation
      takes care of only showing again if all hide got matched by a show.
      
      The actual hiding and showing is performed in the platform plugins. So
      far the DRM and X11/Standalone platforms implement the required
      functionality, though other platforms probably could implement as well.
      
      Reviewers: #kwin, #plasma_on_wayland
      
      Subscribers: plasma-devel, kwin
      
      Tags: #plasma_on_wayland, #kwin
      
      Differential Revision: https://phabricator.kde.org/D3119
      e90e5968
  3. 13 Jul, 2016 1 commit
    • Martin Flöser's avatar
      Handle situation of no XDG_RUNTIME_DIR gracefully · 3c04d529
      Martin Flöser authored
      Summary:
      If KWin fails to start the Wayland server due to XDG_RUNTIME_DIR not
      being set, kwin_wayland should terminate with an error condition but
      not crash.
      
      This change makes sure that KWin detects that the Wayland server does
      not work and terminates the startup early and ensures that it doesn't
      crash while going down.
      
      An error message is shown that we could not create the Wayland server.
      
      Test Plan:
      Test case added which verifies that WaylandServer fails to
      init. Manual testing that kwin_wayland exits with error 1.
      
      Reviewers: #kwin, #plasma_on_wayland
      
      Subscribers: plasma-devel, kwin
      
      Tags: #plasma_on_wayland, #kwin
      
      Differential Revision: https://phabricator.kde.org/D2078
      3c04d529
  4. 01 Jul, 2016 1 commit
    • Martin Flöser's avatar
      [autotest/integration] Introduce a Test helper library to have less code duplication · 513878e2
      Martin Flöser authored
      Summary:
      A new namespace KWin::Test is added which provides a few helper
      functions. It makes it easy to setup a KWayland client connection with
      the base set to be able to create a Surface and flags to create
      additional interfaces. This replaces the KWayland connection dance in
      init() methods. For cleanup() there is also a dedicated helper function.
      
      In addition there are helper functions to:
      * render a surface
      * create a surface
      * create a shell surface
      * flush the wayland client connection
      * access to the created interfaces - for compatibility with existing code
      
      The idea is to extend this Test library also for other common use cases
      like creating an X11 connection and X11 windows, etc.
      
      Reviewers: #kwin, #plasma_on_wayland
      
      Subscribers: plasma-devel, kwin
      
      Tags: #plasma_on_wayland, #kwin
      
      Differential Revision: https://phabricator.kde.org/D2053
      513878e2
  5. 29 Jun, 2016 1 commit
  6. 07 Apr, 2016 2 commits
  7. 14 Mar, 2016 1 commit
  8. 11 Feb, 2016 1 commit
  9. 02 Oct, 2015 1 commit
    • Martin Flöser's avatar
      [autotest] Welcome to integration testing KWin · 7fed20f1
      Martin Flöser authored
      This is the beginning of a new testing era for KWin: finally we are
      able to test against a running KWin. This works by making use of the
      new virtual framebuffer backend for Wayland. It starts a specific
      Application subclass which is mostly a fork of ApplicationWayland.
      
      The individual tests are able to influence the socket name and the
      size of the virtual screen. This is supposed to be done in
      initTestCase. To know when KWin is fully started one can use the
      workspaceCreated signal of KWin::Application. KWin is not started in
      another process, but the kwin library is used, so the test has pretty
      much full introspection to everything going on inside KWin. It can
      access the Workspace, WaylandServer, fake input events through
      InputRedirection and so on.
      
      Once the test KWin is running it's possible to connect to it using
      KWayland::Client library. This allows to introspect the Workspace
      to see whether all worked as expected (e.g. correct stacking order,
      active window and so on).
      
      This first autotest is mostly meant to illustrate how to setup a
      test and how one can use KWayland::Client to interact with the mock
      KWin. For more tests it is suggested to move the connections to the
      Wayland server in the init() and cleanup() methods.
      
      The change also affects the qpa plugin: the specific check to only
      run in binaries called kwin_wayland doesn't hold any more. This can
      now be overwritten by an env variable.
      
      Please note that this first test will probably fail in the CI system
      as it might not have XWayland which is needed by KWin.
      7fed20f1