1. 23 Apr, 2018 3 commits
  2. 22 Apr, 2018 6 commits
  3. 20 Apr, 2018 5 commits
    • Roman Gilg's avatar
      Add environment variable to force sw cursor · 7e831df4
      Roman Gilg authored
      Summary:
      For debugging purposes add an environment variable to
      force use of software cursor.
      
      Test Plan: Manual test with and without setting the variable.
      
      Reviewers: #kwin, garg, davidedmundson
      
      Reviewed By: davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12322
      7e831df4
    • Vlad Zahorodnii's avatar
      [effects/presentwindows] Fix -Wint-in-bool-context · 48d30fa4
      Vlad Zahorodnii authored
      Summary:
      Compiler: GCC 7.3.1
      Distro: Arch Linux
      
      Warning:
      
      ```
      /home/vlad/KDE/src/kde/workspace/kwin/effects/presentwindows/presentwindows.cpp: In member function ‘void KWin::PresentWindowsEffect::rearrangeWindows()’:
      /home/vlad/KDE/src/kde/workspace/kwin/effects/presentwindows/presentwindows.cpp:970:45: warning: ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
                       m_gridSizes[screen].columns * m_gridSizes[screen].rows &&
      ```
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: davidedmundson
      
      Subscribers: davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12209
      48d30fa4
    • Vlad Zahorodnii's avatar
      [effects/minimizeanimation] Don't reset timeline · 3fcce012
      Vlad Zahorodnii authored
      Summary:
      Resetting timeline while animating a window causes some visual "glitches",
      see videos below. Even though we can't use `QTimer::toggleDirection`,
      that's safe to delete code which resets timeline because `prePaintScreen`
      figures out correct direction of the timeline.
      
      Before
      
      {F5809862, layout=center, size=full}
      
      After
      
      {F5809898, layout=center, size=full}
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12254
      3fcce012
    • Vlad Zahorodnii's avatar
      [effects/magiclamp] Don't reset timeline · 913f92ae
      Vlad Zahorodnii authored
      Summary:
      Resetting timeline while animating a window causes some visual "glitches",
      see videos below. Even though we can't use `QTimer::toggleDirection`,
      that's safe to delete code which resets timeline because `prePaintScreen`
      figures out correct direction of the timeline.
      
      Before
      
      {F5809835, layout=center, size=full}
      
      After
      
      {F5809850, layout=center, size=full}
      
      Test Plan:
      * Set duration to 5000
      * Furiously click an icon in the task manager
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12253
      913f92ae
    • Vlad Zahorodnii's avatar
      Fix unused param warnings · 75fff176
      Vlad Zahorodnii authored
      Summary:
      Compiler: GCC 7.3.1
      Distro: Arch Linux
      
      Compiler warnings:
      
      ```
      /home/vlad/KDE/src/kde/workspace/kwin/effects/blur/blur.cpp: In member function ‘void KWin::BlurEffect::upscaleRenderToScreen(KWin::GLVertexBuffer*, int, int, QMatrix4x4, QRect, QPoint)’:
      /home/vlad/KDE/src/kde/workspace/kwin/effects/blur/blur.cpp:677:129: warning: unused parameter ‘windowShape’ [-Wunused-parameter]
       void BlurEffect::upscaleRenderToScreen(GLVertexBuffer *vbo, int vboStart, int blurRectCount, QMatrix4x4 screenProjection, QRect windowShape, QPoint windowPosition)
                                                                                                                                       ^~~~~~~~~~~
      ```
      
      ```
      /home/vlad/KDE/src/kde/workspace/kwin/main_wayland.cpp: In function ‘void KWin::{anonymous}::gainRealTime(KWin::RealTimeFlags)’:
      /home/vlad/KDE/src/kde/workspace/kwin/main_wayland.cpp:95:56: warning: unused parameter ‘flags’ [-Wunused-parameter]
       void gainRealTime(RealTimeFlags flags = RealTimeFlags::DontReset)
      ```
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: davidedmundson
      
      Subscribers: anemeth, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12208
      75fff176
  4. 18 Apr, 2018 1 commit
    • David Edmundson's avatar
      Clean up kwindecoration KCM qml code · 52e42df9
      David Edmundson authored
      Summary:
      Remove all instances of anchors in a layout.
      This is undefined behaviour (even if it happens to work) and results in
      a warning in 5.11.
      
      Resulted in some shuffling about, but generally cleaner code.
      
      Visually looks the same
      
      Test Plan:
      Added some buttons
      Dragged and dropped some buttons out of the top header
      Still got my "drop here to remove button" hint with the same opacities
      
      Reviewers: #plasma, broulik
      
      Reviewed By: #plasma, broulik
      
      Subscribers: kwin, #kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12284
      52e42df9
  5. 15 Apr, 2018 1 commit
    • Vlad Zahorodnii's avatar
      [platforms/virtual] Make VirtualOutput non-copyable · c4478888
      Vlad Zahorodnii authored
      Summary:
      Qt objects are treated as identities so remove the copy constructor and
      an assignment operator. See, http://doc.qt.io/qt-5/object.html#identity-vs-value
      
      IIRC some Qt objects(like QImage) have copy constructor for implicit data sharing,
      but VirtualOutput doesn't have anything to share.
      
      Also, it [this patch] fixes a compiler warning:
      
      ```
      /home/vlad/KDE/src/kde/workspace/kwin/plugins/platforms/virtual/virtual_output.cpp: In copy constructor ‘KWin::VirtualOutput::VirtualOutput(const KWin::VirtualOutput&)’:
      /home/vlad/KDE/src/kde/workspace/kwin/plugins/platforms/virtual/virtual_output.cpp:30:1: warning: base class ‘class QObject’ should be explicitly initialized in the copy constructor [-Wextra]
       VirtualOutput::VirtualOutput(const VirtualOutput &o)
       ^~~~~~~~~~~~~
      ```
      
      Reviewers: #kwin, romangg
      
      Reviewed By: #kwin, romangg
      
      Subscribers: michaelh, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12214
      c4478888
  6. 06 Apr, 2018 1 commit
  7. 05 Apr, 2018 2 commits
    • Nerdopolis Turfwalker's avatar
      udev: Only handle devices from the current seat · 99376d38
      Nerdopolis Turfwalker authored and Martin Flöser's avatar Martin Flöser committed
      Summary: This prevents the firstFound device, or any device detected by UdevEnumerate::find that is not from the same seat kwin is running under, from being handled
      
      Test Plan:
      made sure that kwin starts on a default udev (assuming a blank ID_SEAT attribute on a device means the device is on seat0)
      
      added /dev/dri/card1 to seat1 and /dev/dri/card0 to seat0.
      Start kwin with the drm-backend on seat0 and seat1, and make sure it starts on both instances
      
      Reviewers: #kwin, graesslin
      
      Reviewed By: #kwin, graesslin
      
      Subscribers: rkflx, graesslin, kwin, #kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D9553
      99376d38
    • Nerdopolis Turfwalker's avatar
      udev: Add the ability to query the current framebuffer. · 7801afdd
      Nerdopolis Turfwalker authored and Martin Flöser's avatar Martin Flöser committed
      Summary:
      This adds the ability for kwin's udev handler to detect a usable framebuffer device.
      This is very similar to the function that queries the primary GPU.
      
      Reviewers: #kwin, graesslin
      
      Reviewed By: #kwin, graesslin
      
      Subscribers: rkflx, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D9554
      7801afdd
  8. 04 Apr, 2018 1 commit
    • Alexey Min's avatar
      drm backend: choose correct EGL config with mesa-18 · d318cb3b
      Alexey Min authored
      Summary:
      Do not blindly select first EGL config from returned list, but choose the one that matches GBM surfaces, that will be created later.
      GBM surfaces are created with GBM_FORMAT_XRGB8888 format, so choose the config that matches it.
      With wrong format EglGbmBackend::resetOutput() will later fail with error EGL_BAD_MATCH.
      
      Test Plan: Compile, run startplasmacompositor. Verify that OpenGL compositing is used, either by kwin debug console, or by kwin support information.
      
      Reviewers: graesslin, davidedmundson, #kwin, #plasma_on_wayland, bshah
      
      Reviewed By: davidedmundson
      
      Subscribers: zzag, kwin, #kwin
      
      Tags: #kwin, #plasma_on_wayland
      
      Differential Revision: https://phabricator.kde.org/D11758
      d318cb3b
  9. 31 Mar, 2018 2 commits
  10. 30 Mar, 2018 1 commit
  11. 29 Mar, 2018 3 commits
    • Martin Flöser's avatar
      Merge branch 'Plasma/5.12' · e54b0ef7
      Martin Flöser authored
      e54b0ef7
    • Martin Flöser's avatar
      Ensure _NET_CURRENT_DESKTOP is set on startup · 42054960
      Martin Flöser authored
      Summary:
      Seems to have regressed in Plasma 5.12 due to code reordering. Now the
      property is explicitly updated once the NETRootInfo is created.
      
      BUG: 391034
      FIXED-IN: 5.12.5
      
      Test Plan:
      Test case exposing the problem added. Fails without the patch,
      succeeds with the patch.
      
      Reviewers: #kwin, #plasma
      
      Subscribers: plasma-devel, kwin
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D10836
      42054960
    • Eike Hein's avatar
      Request a high-priority EGL contexts · 2c26215d
      Eike Hein authored
      Summary:
      This patch implements using EGL_IMG_context_priority to request
      high-priority rendering contexts if the extension is available.
      
      EGL_IMG_context_priority is currently used in this fashion by
      e.g. Android's SurfaceFlinger (RenderEngine.cpp) and libweston
      (gl-renderer.c) and seems promising given this widespread
      acceptance.
      
      Reviewers: #kwin, graesslin, romangg, davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D11572
      2c26215d
  12. 28 Mar, 2018 1 commit
    • Nate Graham's avatar
      Make the Window Decoration themes' Configure buttons more obvious · 7cde4b10
      Nate Graham authored
      Summary:
      As documented via bug reports and online support requests, many users have difficulty learning that window decorations are customizable, because they don't notice or understand the little icon-only button in the bottom-left corner of each theme preview.
      
      This patch centers the buttons and adds text including the theme name , making it obvious what the buttons are for.
      
      Also, clicking on one of the buttons now automatically selects its corresponding theme, because configuring an un-selected theme doesn't make a lot of sense and could lead to user confusion once this UI is more obvious and widely-used.
      
      BUG: 390245
      
      Test Plan:
      {F5761897}
      
      - Clicked on the configure buttons; each one selects its parent theme and opens its configuration dialog
      
      Reviewers: #kwin, #plasma, #vdg, cfeck, graesslin
      
      Reviewed By: #kwin, #plasma, graesslin
      
      Subscribers: richardbowen, zzag, kigwana, rkflx, matheusm, fabianr, abetts, Fuchs, graesslin, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D11201
      7cde4b10
  13. 27 Mar, 2018 3 commits
  14. 26 Mar, 2018 7 commits
  15. 25 Mar, 2018 3 commits
    • Oleg Chernovskiy's avatar
      GBM remote access support for KWin · 4d46edd7
      Oleg Chernovskiy authored
      Summary:
      Implements a KWayland protocol to pass GBM fd from KWin to KRfb and
      addictions to relevant projects from both sides.
      
      Note that this patch does not affect default behaviour of mentioned projects. It can be used
      only with KWIN_REMOTE=1 in env from KWin side and with preferredFrameBufferPlugin=gbm in krfbrc from
      KRfb side. In all other aspects app behaviour remains unchanged.
      
      Test Plan: Launched KWin in Wayland mode, launched KRfb in it, launched KRDC on a laptop, connected in read-only mode, observed a correctly retrieved desktop with Krfb window
      
      Reviewers: graesslin, davidedmundson, romangg, #kwin
      
      Reviewed By: davidedmundson, romangg, #kwin
      
      Subscribers: kossebau, jgrulich, romangg, ngraham, alexeymin, aacid, kwin, #kwin, davidedmundson, plasma-devel
      
      Tags: #plasma_on_wayland, #kwin
      
      Maniphest Tasks: T5653, T7785
      
      Differential Revision: https://phabricator.kde.org/D1230
      4d46edd7
    • Igor Poboiko's avatar
      [effects/coverswitch] Fix broken reflection on multi-monitor setup · e3f0b537
      Igor Poboiko authored
      ModelViewMatrix used to paint windows (which is aware about
      multi-monitor configuration) was overriden by reflectionMatrix when
      painting reflections, leading to wrong placement of reflections.
      Now we just multiply old matrix and reflection matrix.
      
      BUG: 378688
      
      Differential Revision: https://phabricator.kde.org/D10465
      e3f0b537
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 4eb6e84d
      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"
      4eb6e84d