1. 02 Apr, 2020 1 commit
    • Aleix Pol Gonzalez's avatar
      Make it possible to have a separate cursor for the tablet · 6abd23ed
      Aleix Pol Gonzalez authored
      Summary:
      As is KWin only had 1 Cursor which was a singleton. This made it impossible for
      us to properly implement the tablet (as in drawing tablets) support and show where
      we're drawing.
      This patch makes it possible to have different Cursors in KWin, it makes all the
      current code still follow the mouse but the tablet can still render a cursor.
      
      Test Plan: Tests pass, been using it and works as well as before but with beautiful tablet cursors.
      
      Reviewers: #kwin, cblack, davidedmundson
      
      Reviewed By: #kwin, cblack, davidedmundson
      
      Subscribers: davidedmundson, cblack, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D28155
      6abd23ed
  2. 04 Mar, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Use AbstractClient instead of XdgShellClient wherever possible · be759b7d
      Vlad Zahorodnii authored
      Summary:
      Currently, we have only one shell client type - XdgShellClient. We use
      it when we are dealing with Wayland clients. But it isn't really a good
      idea because we may need to support shell surfaces other than xdg-shell
      ones, for example input panel surfaces.
      
      In order to make kwin more extensible, this change replaces all usages
      of the XdgShellClient class with the AbstractClient class.
      
      Test Plan: Existing tests pass.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D27778
      be759b7d
  3. 14 Jan, 2020 1 commit
  4. 11 Oct, 2019 1 commit
    • Marco Martin's avatar
      [wayland] Make sure fullscreen windows aren't repositioned · 10ace126
      Marco Martin authored
      Summary:
      on X11, setFullScreen is always called after Placement::place()
      so they always have the correct geometry.
      on wayland, the window if is shown directly as fullscren,
      is set fullscreen in init() then place() is evecuted, potentially
      moving it to a wrong position and potentially even size (which happens
      with maximiziong placement strategy)
      so instead of place() the client needs to be explicitly set at
      fullscreen geometry
      
      Test Plan:
      fullscreen windows always appear with the proper geometry
      autotests still pass
      
      Reviewers: #kwin, #plasma, davidedmundson
      
      Reviewed By: #kwin, #plasma, davidedmundson
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D24542
      10ace126
  5. 02 Oct, 2019 1 commit
    • Vlad Zahorodnii's avatar
      Rename geometry property to frameGeometry · 7d4471eb
      Vlad Zahorodnii authored
      Summary:
      In order to properly implement xdg_surface.set_window_geometry we need
      two kinds of geometry - frame and buffer. The frame geometry specifies
      visible bounds of the client on the screen, excluding client-side drop
      shadows. The buffer geometry specifies rectangle on the screen that the
      attached buffer or x11 pixmap occupies on the screen.
      
      This change renames the geometry property to frameGeometry in order to
      reflect the new meaning assigned to it as well to make it easier to
      differentiate between frame geometry and buffer geometry in the future.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D24334
      7d4471eb
  6. 23 Sep, 2019 2 commits
    • Vlad Zahorodnii's avatar
      Rename ShellClient to XdgShellClient · 168ea988
      Vlad Zahorodnii authored
      Summary:
      Rename ShellClient to XdgShellClient in order to reflect that it
      represents only xdg-shell clients.
      
      Test Plan: Compiles, tests still pass.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D23589
      168ea988
    • Vlad Zahorodnii's avatar
      [autotests] Don't test wl-shell clients · d92d6e77
      Vlad Zahorodnii authored
      Summary:
      This change removes all traces of wl-shell in the test suite. That's a
      prerequisite for dropping wl-shell support in KWin.
      
      Given that wl-shell and xdg-shell are not interchangeable, some tests
      were removed and initialization sequence in some tests was adjusted.
      
      The most notable change is ensuring that each plasmashell window sets
      its role and initial position before committing the surface. Setting
      those properties before the first surface commit is important because
      our window placement code needs to know window type in order to
      avoid maximizing panels, popups, etc.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D23561
      d92d6e77
  7. 12 Sep, 2019 2 commits
  8. 27 Aug, 2019 1 commit
    • Roman Gilg's avatar
      [platforms/virtual] Create output devices · cd6b69a4
      Roman Gilg authored
      Summary:
      Create output devices in virtual backend. For that the setVirtualOutputs call
      can only come after the Wayland server has been initiliazied such that the
      display exists to create the output and output device interfaces. Tests have
      been adjusted for that.
      
      Test Plan:
      ```
      98% tests passed, 3 tests failed out of 148
      
      Total Test time (real) = 362.97 sec
      
      The following tests FAILED:
               33 - kwin-testInternalWindow (Failed)
               39 - kwin-testPointerInput (Failed)
              101 - kwin-testMoveResize (Failed)
      ```
      Failing of these tests looks unrelated to the change.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Maniphest Tasks: T11459
      
      Differential Revision: https://phabricator.kde.org/D23477
      cd6b69a4
  9. 10 Jul, 2019 1 commit
    • David Edmundson's avatar
      [autotests] Test placement strategies · 9b04e031
      David Edmundson authored
      Summary:
      The maximise test is moved and a simple test is added for smart
      placement and placeCorner.
      
      The class tries to make a framework to make it faster to add future
      xdg_toplevel placement tests without having to copy too much
      boilerplate.
      
      Test Plan: Passes
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D21996
      9b04e031