- 30 Sep, 2017 1 commit
-
-
Martin Flöser authored
Summary: Splitting out the handling from events.cpp and moves it into a dedicated class created together with RootInfo. Test Plan: Test case for NET window move which goes through this code path still passes. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7808
-
- 29 Sep, 2017 5 commits
-
-
Martin Flöser authored
If the system has a virtual device and KWin is run on virtual platform we can assume the user intended that KWin should use the virtual device and not a render node of the system. This might fix the random test failures on build.kde.org (T6546).
-
Martin Flöser authored
Summary: The base idea behind this change is to keep the system responsive no matter what other processes do. All input and rendering needs to go through the windowing system, so keeping it responsive is important. Currently KWin competes with all other processes for resources and this can render the system unusable. Consider some processes running amok. In this case the user might not be able to easily close the applications as KWin does not get the cpu time to perform the input tasks requested by the user. Or in the case of playing a demanding game it is important that KWin gets scheduled to forward the pointer input events. The user doesn't want that the game (or another process) wins against the windowing sytem. The disadvantage is that KWin always wins against other processes with real time scheduling. This could result in KWin running amok stalling the system. On the other hand this is no change to the current situation as if KWin runs amok the sytem is unusable. The change uses libcap to set CAP_SYS_NICE on kwin_wayland executable. KWin_wayland on start sets the scheduling policy to SCHED_RR with the lowest possible priority. Thus any other SCHED_RR process will win against KWin. So real time processes are not affected by this change! After adjusting the scheduling (which requires CAP_SYS_NICE) KWin drops this capability again. Test Plan: Verified that KWin adjusts the scheduler, that it is not passed to child processes, that the capability gets dropped and not passed to child processes. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7757
-
David Edmundson authored
-
David Edmundson authored
Summary: Instead of calling reconfigure() on screen size changes, which deletes and recreates the effect, we can just update the one texture that's mapped to the screen size. --- From the wayland commit. >What surprises me is that BlurManager recreates for Output changes. >That sounds like a bug in KWin (or an area which could be improved). I had thought the same and wrote this (though wanted to have kwayland fixed first) Test Plan: Logged in and out (my screen resizes on startup due to scaling) Tested on my X machine by turning a screen off. Nothing broke, plasma panels looked the same. Note: Eike tried this patch last week and claimed kwin still crashed. We don't have a backtrace so it could have been something unrelated, applied wrong or that he was deliberately lying to wind me up. Reviewers: #plasma, graesslin Reviewed By: #plasma, graesslin Subscribers: graesslin, plasma-devel, kwin, #kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7877
-
David Edmundson authored
Summary: Similar to the Blur patch. Arguably rven less reason as this doesn't have a texture the size of the workspace. We don't need to delete and recreate the entire effect every time the screen changes; This deletes the wayland global which causes quite a bit of extra work for the clients. Test Plan: Changed resolution under X, and scale under wayland Panel looked the same and nothing exploded Reviewers: #plasma, graesslin Reviewed By: #plasma, graesslin Subscribers: graesslin, plasma-devel, kwin, #kwin Tags: #plasma Differential Revision: https://phabricator.kde.org/D7937
-
- 28 Sep, 2017 1 commit
-
-
Kai Uwe Broulik authored
Keeps it from loading the Svg and all the Plasma stuff (Theme etc) that comes with it on startup. Differential Revision: https://phabricator.kde.org/D8011
-
- 27 Sep, 2017 2 commits
-
-
Martin Flöser authored
Summary: The ObscurringWindows are a hack to make it more unlikely that the desktop wallpaper becomes visible while switching desktops. This was introduced in 2001 with SVN revision 90111 (git d194f743). In 2001 desktop switching was probably a costly action where it was not possible to just reorder the desktop in one frame. Nowadays we use mostly compositing and with compositing the ObscurringWindows are already disabled. But even in the case that no compositing is used I consider it as very unlikely that the desktop becomes visible during the switching. Given that I think it's time to remove this legacy solution. Test Plan: Compiles Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7965
-
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"
-
- 26 Sep, 2017 2 commits
-
-
Martin Flöser authored
-
Martin Flöser authored
Summary: Creating the X11Filter directly on startup caused a regression as the filter got too early in the chain and stole events from the XInputIntegrationFilter. We don't need the filter all the time, but only when we have established the TabBox grab. Likewise we can destroy the filter again when releasing the TabBox grab. So it's much more encapsulated now. BUG: 385032 Test Plan: Only compile tested, I'm on Wayland Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7997
-
- 25 Sep, 2017 4 commits
-
-
Martin Flöser authored
Regression introduced due to making popup a member variable and this is not ready in the init method. So connect to the rescue. Fixes failing PointerInputTest.
-
Martin Flöser authored
Summary: The implementation of grabXKeyboard checks whether the passed in arg is XCB_WINDOW_NONE and sets the arg to rootWindow. Thus we don't need to have rootWindow as the default argument, but can have none as the default arg. Test Plan: Compiles, test which uses the default arg still passes Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7857
-
Martin Flöser authored
Summary: So far both Workspace and Toplevel emitted signals for every property notify event on the root window and the respective Toplevel windows. The signals were only used in EffectsHandlerImpl to forward to the effect system in case the property which changed is registered by an effect. This change introduces a dedicated event filter for this which is only created in EffectsHandlerImpl in case an X11 connection is available. It supports a restart of the X11 system. The signals used so far are removed from Workspace and Toplevel. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7853
-
David Edmundson authored
Summary: Adds XDGV6 support for the kwin side. Popup placement support is limited to the stuff v5 had, a simple offset, rather than the awesome new positioner. But Qt doesn't make use of it yet either. Also ideally we should do all the positioning before sending the first configure, but again Qt doesn't actually do anything with that anyway. Also integrate pinging clients Test Plan: gtk3-demo works nicely. Reviewers: #plasma, graesslin, mart Reviewed By: #plasma, graesslin Subscribers: mart, graesslin, kwin, plasma-devel, #kwin Tags: #plasma Differential Revision: https://phabricator.kde.org/D6591
-
- 24 Sep, 2017 7 commits
-
-
David Edmundson authored
-
David Edmundson authored
Summary: 4238218b accidentally removed factoring in m_globalPos. BUG: 385003 Reviewers: #plasma, graesslin Reviewed By: #plasma, graesslin Subscribers: plasma-devel, kwin, #kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7970
-
Martin Flöser authored
Some distributions (e.g. Arch, FreeBSD) call the DMZ-White cursor theme Vanilla-DMZ. Due to that our tests are failing even if the correct theme is installed (see also T6623). This change tries to detect whether DMZ-White is installed by looking into the GenericDataLocation. If not found we set to Vanilla-DMZ. No guarantee that the check works for all setups, but it's only tests...
-
Martin Flöser authored
Seems to have been used in old compositing kcm, documented as DBus API. But Workspace doesn't expose a DBus interface anymore and our new DBus interface does not call this method -> it is dead.
-
Martin Flöser authored
Instead connect global shortcut directly to method in Compositor.
-
Martin Flöser authored
Instead directly connect global shortcut to the method in Platform.
-
Martin Flöser authored
Summary: The code ifdefed by ENABLE_TRANSIENCY_CHECK does no longer compile and has not compiled since the switch to Qt 5 and KF5 as it still uses kDebug and (worse) kDBacktrace. There are several other changes which broke the code and I failed trying to get it to compile again. It's a classic example of bitrot happening to code which is never getting compiled. As this has not been in a state which could compile for at least several years, I think it's best to completely remove it. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7958
-
- 23 Sep, 2017 5 commits
-
-
Martin Flöser authored
Summary: Not used anywhere in KWin -> can go. Test Plan: Still compiles Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7956
-
Martin Flöser authored
Use QTRY_COMPARE instead of QCOMPARE to wait longer.
-
Martin Flöser authored
-
Martin Flöser authored
Summary: It was possible that we performed an early exit when the caption changes and this results in the visible name being wrong. E.g if we have two windows called foo, the second one has the visible name "foo <2>". After changing that to "bar" the bug resulted in it still being the foo variant instead of getting cleared. BUG: 384760 FIXED-IN: 5.11.0 Test Plan: Created new test case exposing the problem Reviewers: #kwin, #plasma, hein Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7871
-
Martin Flöser authored
Summary: Otherwise it crashes for the first window being created in a KWin/Wayland without XWayland support. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7894
-
- 22 Sep, 2017 4 commits
-
-
Martin Flöser authored
Summary: It just returned false, but that's also the default handling. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7938
-
Martin Flöser authored
Summary: Should be when there is no more an effect which overrides the cursor, not unconditionally. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7845
-
Martin Flöser authored
Summary: Only needed for kwin_x11 variant (required for the non-composited Outline). As that's nowadays in the x11 platform, we can move the complete XRenderUtils support into the platform. Thus KWin core does no longer require to link it. Test Plan: Compiles Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7760
-
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"
-
- 21 Sep, 2017 3 commits
-
-
Martin Flöser authored
Summary: Otherwise KWin crashes when operating without XWayland support. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7892
-
Sebastian Kügler authored
Summary: After changing the output configuration, the client expects that it is informed whether or not a new configuration has been applied (or failed). This was ommitted so far, meaning that clients wouldn't know what happened in kwin. Since we don't track if a setting failed yet, send the applied() signal regardless. CCBUG:384733 Test Plan: Verified that the signal arrived in libkscreen after changing scale of an output Reviewers: graesslin, davidedmundson Reviewed By: davidedmundson Subscribers: kwin, #kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7910
-
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"
-
- 20 Sep, 2017 3 commits
-
-
David Edmundson authored
-
David Edmundson authored
Summary: Deleting the lanczos filter deletes it's GLShader, this calls glDeleteProgram glFooBar always needs to have an openGL context, we don't know we have this on a screen changed event as it is called from outside the normal render methods. BUG: 384884 Test Plan: Ran on my wayland session. Switched geometry a lot, couldn't reproduce the crash. Ran on my desktop session, seemed the same as before Reviewers: #plasma, graesslin Reviewed By: #plasma, graesslin Subscribers: graesslin, plasma-devel, kwin, #kwin Tags: #plasma Differential Revision: https://phabricator.kde.org/D7888
-
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"
-
- 19 Sep, 2017 3 commits
-
-
Martin Flöser authored
Summary: This is needed in virtual keyboard and also used KKeyServer so far. With this change it is moved to new API provided in Xkb. The new translation map is now also used for the direction from Qt::Key + Qt::KeyboardModifier to xkb_keysym_t. New implementation is supported by a new test case covering the same combinations as in the existing direction. Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7356
-
Jesse Pullinen authored
Summary: Libinput returns -1 when calling libinput_event_touch_get_slot on an event from a single-touch touchscreen. The returned value is used in DecorationEventFilter to determine the touch which is acting on it. The value -1 is used to signify that the decoration is not being acted on. Thus when releasing the touch, it checks whether it was being dragged, and as it thinks it isn't, it doesn't handle it and the decoration is still being dragged. Clicking on the decoration then crashes kwin. Test Plan: Move a window by dragging the decoration with a single-touch touchscreen. Reviewers: #kwin, graesslin Reviewed By: #kwin, graesslin Subscribers: graesslin, kwin, #kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7854
-
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"
-