1. 28 Feb, 2019 1 commit
  2. 26 Feb, 2019 5 commits
    • David Edmundson's avatar
      [wayland] Finish initialising ShellClient only when commited to the surface · 2bad2b48
      David Edmundson authored
      Summary:
      Everything on the wl_surface is double buffered.
      
      When we create an XdgShell toplevel or popup we shouldn't treat it as
      attached until it's committed to the surface.
      
      A client should commit the surface after it's sent it's initial state of
      the Xdg topLevel; minimumSize, title, app_id, etc.
      
      By blocking sending configure events we will have flushed the correct
      initial state before sending a single atomic correct event to the
      client. It also adds a hook to re-evaluate rules now that all properties
      are set.
      
      Arguably this applies to WlShellSurface too, but I've left it unchanged
      as it's deprecated and hard to verify real client behaviour.
      
      Test Plan: Ran all unit tests
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18583
      2bad2b48
    • David Edmundson's avatar
      [autotests] Check the configure request sent to popups · dc7ea09e
      David Edmundson authored
      Summary:
      We currently check the final position kwin knows about.
      This patch also checks the position the popup is told that
      it's in as well as acking configure requests correctly.
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18955
      dc7ea09e
    • David Edmundson's avatar
      [wayland] Squash reconfigure methods · 56fb507a
      David Edmundson authored
      Summary:
      We can handle the case of a null size inside
      ShellClient::requestGeometry and that makes that method more robust.
      
      With that we don't need to handle separate code paths in
      the handler of RequestGeometryBlocker.
      
      It's not an exact identical code path, but everything still works out.
      
      If the geometry is unchanged, we'll save the positionAfterResize  but
      when we apply it doSetGeometry will no-op.
      
      There's also an assumption that toggling maximised will always send a
      valid size, but that's true for the current state.
      
      Test Plan: Ran unit tests
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D19331
      56fb507a
    • Vlad Zahorodnii's avatar
      [wayland] Send correct current time in the frame callback · a039f3ba
      Vlad Zahorodnii authored
      Summary:
      Currently, each frame callback sent by KWin has the current time in
      nanoseconds, but the protocol spec states that we have to send the time
      in milliseconds. This is the reason why animations that are driven by
      frame callbacks are too fast.
      
      In addition to that, m_timeSinceStart isn't actually "time since start,"
      it's rather accumulated duration of all painting cycles. If there is
      something to draw and it takes quite a while to compose the scene, maybe
      m_timeSinceStart will be close enough to the current time. So, it has
      been replaced with QElapsedTimer, this makes the current time correct
      and also simplifies code a little bit.
      
      Test Plan: The triangle in weston-subsurfaces no longer spins very fast.
      
      Reviewers: #kwin, romangg
      
      Reviewed By: #kwin, romangg
      
      Subscribers: romangg, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18656
      a039f3ba
    • Vlad Zahorodnii's avatar
      [libkwineffects] Make AnimationEffect::AniMap protected · dffd9777
      Vlad Zahorodnii authored
      Summary:
      We need AniMap only for test purposes so it would be better to make the
      typedef protected (and mark as internal as well).
      
      Test Plan: Compiles.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D17833
      dffd9777
  3. 25 Feb, 2019 1 commit
  4. 23 Feb, 2019 2 commits
    • David Edmundson's avatar
      [wayland] Keep application startup flow inside main_wayland · 5e902394
      David Edmundson authored
      Summary:
      In a recent patch the newly added xwayland class ended up being
      responsible for continuing the startup, calling back into the main app
      to spawn the workspace.
      
      It moves the flow of startup about so it's not very readable or
      following class structure.
      
      This patch moves the code back into main_wayland and removes the
      duplication between xwayland and non-xwayland modes.
      
      There was also a misnaming of methods.
      
      Previously:
      continueStartupWithScreens was called after platform screens are created
      continueStartupWithScene was called after the scene was created
      continueStartupWithXwayland was called before xwayland is created
      
      This was confusing, so the names have been shuffled around to follow a
      consistent pattern of what has been done so far.
      
      Test Plan:
      Started kwin_wayland in normal and xwayland mode
      Ran unit tests (though some failed due to a local unrelated and as yet unindentified bug)
      
      Reviewers: #kwin, romangg
      
      Reviewed By: #kwin, romangg
      
      Subscribers: romangg, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D19232
      5e902394
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 19793b94
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
      19793b94
  5. 22 Feb, 2019 8 commits
    • Sebastian Krzyszkowiak's avatar
      [wayland] Fix window sizing when restoring a window that was initially fullscreen · 7bf2c1d7
      Sebastian Krzyszkowiak authored
      Summary: When creating a surface and setting it as fullscreen before
      attaching its buffer KWin does not know the original dimensions of the
      surface and tries to use an invalid value when unsetting the fullscreen
      flag. This patch fixes this by sending a configure with the size of 0,0
      - which according to xdg-shell spec means that the client is requested
      to set its size by itself.
      
      Test Plan:
      1. Create a fullscreen Wayland window.
      2. Toggle fullscreen off.
      3. KWin should send a configure event with size 0,0 instead of 1,1.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: zzag, graesslin, davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D16710
      7bf2c1d7
    • Martin Flöser's avatar
      Restrict available supported compositors based on first initialized one · cbbe94d7
      Martin Flöser authored
      Summary:
      On Wayland we cannot switch from OpenGL to QPainter compositor as this
      would break any running OpenGL application. KWin registers it's
      EGLDisplay to Wayland and without OpenGL this doesn't make sense any
      more. We are not able to render OpenGL buffers in the QPainter
      compositor.
      
      While it's theoretically possible to switch from QPainter to OpenGL it
      doesn't make any sense for the same reason. Any running OpenGL
      application would be using llvmpipe and could not be switched to proper
      OpenGL.
      
      This change stores the selected compositing type in Platform and the
      implementations can use it to restrict the supported compositors. On X11
      we don't need this, all other Platforms implement the restriction. Thus
      it's no longer possible to switch the backends at runtime.
      
      Test Plan:
      Adjusted tests run, no runtime test as gui doesn't support
      switching to QPainter anyway.
      
      Reviewers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D19084
      cbbe94d7
    • Martin Flöser's avatar
      [qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL · e48d9df1
      Martin Flöser authored
      Summary:
      Using the Wayland protocol for OpenGL is no longer used or useful. KWin
      internal windows only use OpenGL through QtQuick. We either have the
      sharing context (KWin uses OpenGL for compositing) or we have the
      QPainter compositor which also turns QtQuick to use software renderer.
      
      Thus a situation where the Wayland platform context is useful doesn't
      exist any more. Removing it helps getting the QPA plugin Wayland free.
      
      Test Plan:
      Run nested KWin triggering Outline once with OpenGL and once
      with QPainter compositor.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D19012
      e48d9df1
    • David Edmundson's avatar
      [scripting] Make DBus invokable run method return result after execution · 47be4be0
      David Edmundson authored
      Summary:
      In 403038 the user expected the DBus call to run to finish before
      processing the next request. For a singleshot script that makes a lot of
      sense, otherwise you have no idea when it finishes.
      
      This also allows us to return errors.
      
      CCBUG: 403038
      
      Test Plan:
      NUM=$(qdbus org.kde.KWin /Scripting org.kde.kwin.Scripting.loadScript /noFile.js Minimize)
      qdbus org.kde.KWin /$NUM org.kde.kwin.Scripting.run
        Error: org.kde.kwin.Scripting.FileError
        Could not open /noFile.js
      
      Running a real script behaved effectively the same as before.
      
      Reviewers: #kwin, graesslin
      
      Reviewed By: #kwin, graesslin
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18127
      47be4be0
    • David Edmundson's avatar
      [wayland] Handle sizes in ShellClient::transientPlacement · 7014a339
      David Edmundson authored
      Summary:
      placeIn did not handle the case for a popup not having had the size
      already set and only being available via
      m_xdgShellPopup->initialSize(). This is needed if we want to call placeIn
      at the correct time, before the window is mapped.
      
      There was also a logic bug when sliding popups. We called the
      confusingly named setX thinking it would be move the popup keeping the
      width the same. In practice it moves the left edge keeping the right
      position the same. This wasn't an issue as the size was
      discarded.
      
      Handling the resize constraint is not yet done, but it should now be
      even more trivial.
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18956
      7014a339
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 40477aff
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
      40477aff
    • Vlad Zahorodnii's avatar
      Fix tests · e96da56f
      Vlad Zahorodnii authored
      `client = new ShellClient(surface)` is most likely a leftover after a
      merge conflict.
      e96da56f
    • David Edmundson's avatar
      [platforms/hwcomposer] Add scaling support · 3dc22d7d
      David Edmundson authored
      Summary:
      Despite plasma frameworks doing it's own scaling with fonts, it's been
      requested to use kwin/wayland scaling.
      
      Like DRM, when kscreen is not used, scale value is loaded from a config
      file.
      
      Config format is
      [HWComposerOutputs][0]
      Scale=N
      
      The 0 is to map similarly to DRM and support multi-screen, but with a
      screen index
      rather than a UUID based on EDID.
      
      Because we don't support multi screen this is always 0 for now.
      
      Test Plan: Ran with the config value unset and with the config value at
      Scale=3.
      
      Reviewers: #kwin, romangg
      
      Reviewed By: #kwin, romangg
      
      Subscribers: bshah, romangg, nicolasfella, zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18810
      3dc22d7d
  6. 21 Feb, 2019 6 commits
    • Roman Gilg's avatar
      Reload Shm texture when buffer size changes · d6f98d1e
      Roman Gilg authored
      Summary: Shm textures via Gl must be reloaded in case their size changes.
      
      Test Plan: testShmBufferSizeChangeOnSubSurface passes.
      
      Reviewers: #kwin, graesslin
      
      Reviewed By: #kwin, graesslin
      
      Subscribers: davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18453
      d6f98d1e
    • Roman Gilg's avatar
      d0422eb7
    • Roman Gilg's avatar
      [autotests] Sub-surface resize test · 06f64d5e
      Roman Gilg authored
      Summary:
      Adds an autotest to show that KWin fails an assertion when a client tries to
      resize a sub-surface.
      
      Since it is the first autotest dealing with sub-surfaces explicitly additional
      autotest helpers are introduced to allow that.
      
      We also add a new signal in Compositor to spy on to know when the buffer swap
      has been completed.
      
      Test Plan:
      Test fails as expected:
      ```
      QFATAL : KWin::BufferSizeChangeTest::testShmBufferSizeChangeOnSubSurface() ASSERT: "image.size() == m_size" in file /home/roman/dev/kde/src/kde/workspace/kwin/platformsupport/scenes/opengl/abstract_egl_backend.cpp, line 394
      FAIL!  : KWin::BufferSizeChangeTest::testShmBufferSizeChangeOnSubSurface() Received a fatal error.
         Loc: [Unknown file(0)]
      Totals: 4 passed, 1 failed, 0 skipped, 0 blacklisted, 367ms
      ********* Finished testing of KWin::BufferSizeChangeTest *********
      ```
      
      Reviewers: #kwin, zzag
      
      Subscribers: zzag, graesslin, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18452
      06f64d5e
    • Roman Gilg's avatar
      [platform/virtual] Swap buffers in EGL GBM backend · 1e6f6700
      Roman Gilg authored
      Summary:
      The virtual platform did not actually present content and spin the
      compositor. Let's do this from now on , first for the EGL GBM backend.
      
      Test Plan: All tests pass according to Vlad
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: graesslin, zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18436
      1e6f6700
    • Martin Flöser's avatar
      Split out a dedicated InternalClient class · 9b922f88
      Martin Flöser authored
      Summary:
      Most of the functionality which is special to internal clients is moved
      from ShellClient to InternalClient. As KWin's qpa is still bound to the
      Wayland protocol InternalClient inherits from ShellClient. Due to that
      some aspects in ShellClient are "weird". ShellClient still detects
      whether it's an internal client and uses the variable m_internal to
      capture the state. This is required as we cannot use the isInternal
      method. Most of m_internal usage is in init which is called from
      constructor of ShellClient. Thus it's not possible to call into virtual
      methods of InternalClient.
      
      Also some of the code is duplicated and some methods are temporarily
      marked as virtual.
      
      The next step will be to remove ShmBuffer for internal windows which
      should decouple the two implementations further with the long term goal
      of having InternalClient inherit AbstractClient directly.
      
      Test Plan:
      Run nested KWin, triggered outline (OpenGL case) and debug console (shm case).
      InternalWindow unit test still passes.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18569
      9b922f88
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 66faa480
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
      66faa480
  7. 20 Feb, 2019 4 commits
    • David Edmundson's avatar
      [platforms/hwcomposer] Port to AbstractOutput · 062dfefa
      David Edmundson authored
      Summary:
      This gives us XdgOutput support a requirement now that wayland server
      reports that we support it and Qt5.12 then expects it to be sent.
      
      It also provides an easy starting point for supporting wayland scaling
      and a slight step towards multi-output.
      
      Test Plan:
      Ran on phone. Got output. Turning screen on and off works.
      The double tap doesn't work great, but that was true before
      (via bshah's hack to build on the current state)
      
      Reviewers: #kwin, romangg
      
      Reviewed By: #kwin, romangg
      
      Subscribers: romangg, nicolasfella, zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18808
      062dfefa
    • David Edmundson's avatar
      [wayland] Fix typo in method name · 3cdea2f7
      David Edmundson authored
      Test Plan: Compile + grep
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D19177
      3cdea2f7
    • Vlad Zahorodnii's avatar
      Merge branch 'Plasma/5.15' · 50041fd5
      Vlad Zahorodnii authored
      50041fd5
    • Vlad Zahorodnii's avatar
      Don't destroy DecorationRenderer in setup/finish compositing · 9a68cbd9
      Vlad Zahorodnii authored
      Summary:
      Currently, KWin/Wayland crashes when the compositor is reinitialized.
      The reason for that is ShellClient's DecorationRenderer gets destroyed
      when the scene is already gone, thus there is no current OpenGL context.
      Client works around that issue by destroying scene-specific DecorationRender
      in finishCompositing. Such a workaround could be applied to ShellClient
      as well, but it would make code more confusing because DecoratedClientImpl
      also tries to destroy DecorationRenderer.
      
      A better approach would be to notify DecoratedClientImpl that
      compositing is about to be finished, so it can destroy the decoration
      renderer when the scene is still alive. This not only fixes the
      previously mentioned issue in ShellClient, but also makes code a little
      bit tidier.
      
      Test Plan:
      Start Plasma on Wayland session, change any compositor settings (e.g.
      animation speed).
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18921
      9a68cbd9
  8. 19 Feb, 2019 9 commits
    • Roman Gilg's avatar
      [xwl] Support stack optimizing X drag source clients · 4c18d156
      Roman Gilg authored
      Summary:
      Some X clients acting as drag sources might try to optimize finding the current
      target window by checking if a window manager, that sets the root window
      _NET_CLIENT_LIST_STACKING property, is present. An example for this is Chromium
      and since KWin sets the property the drag proxy windows must be added to this
      list. Otherwise the origin client will not detect the proxy window and not send
      an XdndEnter message.
      
      Test Plan: Manually with Chromium.
      
      Reviewers: #kwin
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15628
      4c18d156
    • Roman Gilg's avatar
      [xwl] text/x-uri converter for selected X url list format targets · 522d2935
      Roman Gilg authored
      Summary:
      On X several target atoms are established to provide data similar to the
      text/uri-list target format (the respective MIME on Wayland is called
      text/x-uri).
      
      Firefox can send link data in the NETSCAPE_URL format ones. Chromium on the
      other side sends link data in the text/x-moz-url format, which transports
      UTF-16 text.
      
      For both these peculiarities this patch provides converter functions, that
      translate these formats into the Wayland native text/x-uri format. In the
      other direction no translation is necessary. Both browsers supports the
      text/uri-list format when receiving link lists.
      
      Test Plan: Manually with Firefox and Chromium.
      
      Reviewers: #kwin
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15629
      522d2935
    • Roman Gilg's avatar
      [xwl] Drag and drop between Xwayland and Wayland native clients · 548978bf
      Roman Gilg authored
      Summary:
      Building upon the generic X Selection support this patch establishes another
      selection class representing the XDND selection and provides interfaces
      to communicate drags originating from Xwayland windows to the Wayland
      server KWin and drags originating from Wayland native drags to Xwayland.
      
      For Wayland native drags KWin will claim the XDND selection as owner and
      will simply translate all relevant events to the XDND protocol and receive
      alike messages by X clients.
      
      When an X client claims the XDND selection KWin is notified via the X protocol
      and it decides if it allows the X drag to transcend into the Wayland protocol.
      If this is the case the mouse position is tracked and on entering a Wayland
      native window a proxy X Window is mapped to the top of the window stack. This
      proxy window acts as a drag destination for the drag origin window and again
      X messages will be translated into respective Wayland protocol calls. If the
      cursor leaves the Wayland window geometry before a drop is registered, the
      proxy window is unmapped, what triggers a subsequent drag leave event.
      
      In both directions the necessary core integration is minimal. There is a single
      call to be done in the drag and drop event filter through the Xwayland
      interface class.
      
      From my tests this patch facilitates drags between any Qt/KDE apps. What needs
      extra care are the browsers, which use target formats, that are not directly
      compatible with the Wayland protocol's MIME representation. For Chromium an
      additional integration step must be done in order to provide it with a net
      window stack containing the proxy window.
      
      Test Plan: Manually. Auto tests planned.
      
      Reviewers: #kwin
      
      Subscribers: zzag, kwin, alexde
      
      Tags: #kwin
      
      Maniphest Tasks: T4611
      
      Differential Revision: https://phabricator.kde.org/D15627
      548978bf
    • Roman Gilg's avatar
      [xwl] Add Xwayland interface class · ad1bcbec
      Roman Gilg authored
      Summary: Adds an interface class to access Xwayland members from within KWin core.
      
      Reviewers: #kwin, davidedmundson, zzag
      
      Subscribers: zzag, davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15419
      ad1bcbec
    • Roman Gilg's avatar
      Remove X clipboard sync helper and rename its autotest · 2776f829
      Roman Gilg authored
      Summary:
      With the gneric X selections infrastructure and clipboard support the X
      clipboard sync helper utility can be removed. Also rename its autotest as it
      tests the inner workings of the new mechanism since this mechanism was
      introduced.
      
      Test Plan: Autotest still passes under new name.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: graesslin, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15063
      2776f829
    • Roman Gilg's avatar
      [xwl] Generic X selections translation mechanism with Clipboard support · 6e08fb2f
      Roman Gilg authored
      Summary:
      In this patch an infrastructure is created to represent generic X selections
      in a Wayland session and use them for data transfers between Xwayland windows
      and Wayland native clients.
      
      The central manager is the DataBridge class, in which Selection objects can be
      created. This is hard-coded and such a Selection object persists until the end
      of the session, so no arbitrary selections can be created on the fly. For now
      the X Clipboard selection is supported, whose corresponding mechanism in the
      Wayland protocol is just called Selection.
      
      A Selection object listens for selection owner changes on the X side and for
      similar events into the Wayland server interfaces. If a data provider is
      available a selection source object is created by the Selection object. In case
      data is requested on the other side, a data transfer is initialized by creating
      a Transfer object. A Selection keeps track of all transfers and makes sure that
      they are destroyed when they are finished or in case they idle because of
      misbehaving clients.
      
      The Clipboard class translates the X Clipboard via a proxy window. Selection
      changes on the Wayland side are listened to through a new signal on the active
      KWayland seat interface.
      
      The previously used X clipboard syncer helper is disabled. The clipboard sync
      autotest is changed to the new mechanism.
      
      BUG: 394765
      BUG: 395313
      
      Test Plan: Manually and clipboard sync autotest.
      
      Reviewers: #kwin
      
      Subscribers: zzag, graesslin, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15061
      6e08fb2f
    • Roman Gilg's avatar
      [autotests] Use Xwayland class in WaylandTestApplication · 608a89a8
      Roman Gilg authored
      Summary:
      By using the new Xwayland class we can reduce code duplication.
      
      An abstract parent class is introduced, that allows interfacing
      with the Xwayland class from the test binaries.
      
      Test Plan: Autotests still pass.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15022
      608a89a8
    • Roman Gilg's avatar
      [xwl] Move Xwayland parts into separate class · 050cf045
      Roman Gilg authored
      Summary:
      The Xwayland code path is moved from ApplicationWayland to a dedicated class
      Xwayland in a new top-level directory xwl.
      
      This is a direct preparation step for generic support of Xwayland Selections.
      
      On a longer timescale this should also allow us to further separate Wayland
      native functionality from Xwayland to allow us at one point to build KWin's
      Wayland binary optionally without X dependencies. Another long term goal, that
      becomes possible through this separation is to recover from Xwayland crashes.
      
      Test Plan: Manually and auto tests
      
      Reviewers: #kwin, davidedmundson
      
      Subscribers: davidedmundson, zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15020
      050cf045
    • Jonathan Riddell's avatar
      Update version number for 5.15.1 · 0f514e94
      Jonathan Riddell authored
      GIT_SILENT
      0f514e94
  9. 18 Feb, 2019 2 commits
  10. 17 Feb, 2019 2 commits