1. 06 Oct, 2018 2 commits
  2. 05 Oct, 2018 6 commits
    • David Edmundson's avatar
      [wayland] Asyncronously update maximise flags · e327cce4
      David Edmundson authored
      A window maximising is an async operation. We work out what size we want
      the client to be, then request the client to update. The window isn't
      really maximised until we get that new buffer with the new size.
      This patch splits the requested, pending and current state, updating as
      Things are a bit complex with things like borders. Technically we
      shouldn't update them till we get a response, but we also need to have
      the correct geometry of the full size window in our request. For now
      they behave as before, updating when we request the change.
      X code is untouched.
      This hopefully fixes maximise animations on wayland as now we update the
      geometry before emitting maximisedChanged.
      Test Plan:
      Maximised a window with the button and double clicking title bar.
      I get only the following events on maximise/restore:
      19:51:39.156 KWin::EffectsHandlerImpl::slotGeometryShapeChanged geometry
      shape changed QRect(47,24 640x509) QRect(0,0 716x573)
      19:51:39.157 KWin::EffectsHandlerImpl::slotClientMaximized slot client
      maximised true true
      19:51:40.522 KWin::EffectsHandlerImpl::slotGeometryShapeChanged geometry
      shape changed QRect(0,0 716x573) QRect(47,24 640x509)
      19:51:40.522 KWin::EffectsHandlerImpl::slotClientMaximized slot client
      maximised false false
      BUG: 382698
      Reviewers: #kwin, romangg
      Reviewed By: #kwin, romangg
      Subscribers: romangg, zzag, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15150
    • David Edmundson's avatar
      [wayland] Syncronise pending geometry with acked configure requests · 65b8ba17
      David Edmundson authored
      When we want to change a client's size and position together we have to
      request the client becomes a new size and only then move the window to
      the new location.
      Currently we process the new position the next time the buffer updates,
      but with no guarantee that it has actually tried to resize/whatever yet.
      The client could be providing a new buffer just because the contents
      have changed.
      XDGShell has an acked serial designed to keep everything precisely in
      sync. A surface represents the last configure that was acked.
      This patch tracks the pending position for each configure and applies it
      WL_shell does not have this mechanism, so behaviour is kept the same as
      This is a pre-requisite to syncing maximisedState/isFullScreen with the
      configure request.
      Potentially we could remove the isWaitingForResizeSync checks when
      resizing and it will still resize smoothly.
      Test Plan:
      Relevant unit test still passes with the client responding
      Resized a window from the left edge with WLShell and XDGShellV6
      Reviewers: #kwin, romangg
      Reviewed By: #kwin, romangg
      Subscribers: romangg, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15135
    • David Edmundson's avatar
      Merge branch 'Plasma/5.14' · 413bd53a
      David Edmundson authored
    • David Edmundson's avatar
      [plugins/qpa] Add explanatory comment · 0b7778f9
      David Edmundson authored
    • David Edmundson's avatar
      [plugins/qpa] Don't crash on Qt5.12 OpengGL::makeCurrent · 6ebfa593
      David Edmundson authored
      QOpenGLContext was changed to call platform->makeCurrent before it
      called setCurrentContext.
      Because we bind window FBO and ultimately that calls
      QOpenGlContext::format we need Qt to know which context is current so it
      can tell us the format.
      This matches the QtWayland EGL code.
      BUG: 399392
      Test Plan:
      Switched virtual desktop with the OSD (previously reliably crashed)
      Now it doesn't
      Reviewers: #kwin, zzag
      Reviewed By: #kwin, zzag
      Subscribers: zzag, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15957
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 85bc931d
      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"
  3. 04 Oct, 2018 9 commits
  4. 03 Oct, 2018 3 commits
  5. 02 Oct, 2018 5 commits
  6. 30 Sep, 2018 1 commit
  7. 29 Sep, 2018 2 commits
  8. 28 Sep, 2018 5 commits
    • Vlad Zahorodnii's avatar
      [effects/cube] Update cubecap texture · e822d27c
      Vlad Zahorodnii authored
      Summary: Current cubecap texture is an old KDE logo. Let's use something newer.
      Test Plan:
      Reviewers: #kwin, #plasma, #vdg, davidedmundson
      Reviewed By: #kwin, #plasma, davidedmundson
      Subscribers: davidedmundson, ngraham, broulik, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15726
    • Vlad Zahorodnii's avatar
      [effects/slide] Delete redundant checks · 72ad5dc8
      Vlad Zahorodnii authored
      If isActive() returns false, neither paintScreen nor paintWindow nor
      postPaintScreen will be called.
      So, `if (m_active)` checks are redundant.
      Reviewers: #kwin, davidedmundson
      Reviewed By: #kwin, davidedmundson
      Subscribers: kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15708
    • Vlad Zahorodnii's avatar
      [effects] Make scripted effects GHNS-able · 78ce54f8
      Vlad Zahorodnii authored
      Currently, if one wants to install a scripted effect from the KDE Store,
      the effect won't show up in the Desktop Effects KCM. The reason for that
      is kpackagetool5 doesn't know where to install effects (they have to be
      installed under ${DATA_DIR}/kwin/effects).
      Another problem is that even if the scripted effect is installed in the
      right directory (e.g. ~/.local/share/kwin/effects), it won't be listed in
      the Desktop Effects KCM because it doesn't have a desktop file in
      kservices5 dir. Please notice that the effect will be "visible" for KWin, i.e.
      you can enable it by editing kwinrc.
      This diff addresses those 2 problems by:
      * Adding a PackageStructure plugin for effects (so they are installed
        under kwin/effects/);
      * Using KPackage::PackageLoader to get list of scripted effect in the
        Desktop Effects KCM.
      Test Plan:
      * Installed an effect from the KDE Store, it appeared in the Desktop Effects
      * Removed it.
      Reviewers: #kwin, mart, davidedmundson
      Reviewed By: #kwin, davidedmundson
      Subscribers: ngraham, davidedmundson, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15372
    • Vlad Zahorodnii's avatar
      [effects/showpaint] Use a shortcut to toggle the effect · 1de9648a
      Vlad Zahorodnii authored
      The Show Paint effect is useful when debugging repaint regions issued by
      effects. The only headache with it is necessity to enable/disable it.
      Consider the following workflow:
      * Do some change to an effect;
      * Compile KWin (or the effect);
      * Go to System Settings and enable the Show Paint effect;
      * Test effect, check repaint regions, etc;
      * Disable the Show Paint effect;
      * Go to the step 1.
      This workflow is really exhausting. Also, when testing repaints in a
      nested compositor, things become quite messy.
      Because purpose of this effect is to debug repaints (and because this
      effect is not meant for daily usage), I think that's fine to change
      how it's activated.
      This patch improves the workflow by changing the way how this effect
      gets activated. Instead of enabling/disabling it, one can just use a shortcut
      to activate or deactivate the effect.
      Reviewers: #kwin, davidedmundson
      Reviewed By: #kwin, davidedmundson
      Subscribers: broulik, davidedmundson, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15703
    • Vlad Zahorodnii's avatar
      [effects] Move the Desktop Cube Animation effect to its own directory · fa6fa279
      Vlad Zahorodnii authored
      Summary: Just little tidying.
      Reviewers: #kwin, davidedmundson
      Reviewed By: #kwin, davidedmundson
      Subscribers: kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D15725
  9. 24 Sep, 2018 3 commits
  10. 23 Sep, 2018 2 commits
  11. 22 Sep, 2018 1 commit
  12. 18 Sep, 2018 1 commit