- 27 Jul, 2020 8 commits
-
-
Currently, the trend is to get the coordinates of the hotspot and map it to the device independent pixels at the call site. This change makes the KXcursorSprite return the coordinates of the hotspot in the device independent pixels to reduce the amount of duplicated code.
-
Hide all private behind a d pointer as one step closer to upstreaming of KXcursorTheme and KXcursorSprite.
-
-
We want to turn screencasting into a plugin eventually.
-
Use smart pointers to make sure we don't dereference valid pointers.
-
Otherwise we'll show a dangling cursor but otherwise the cursor will be updated by other code paths, so we end up with a weird cursor in the middle of the screen that doesn't move.
-
BUG: 418938 FIXED-IN: 5.20
-
-
- 24 Jul, 2020 3 commits
-
-
Aleix Pol Gonzalez authored
BUG: 424607
-
David Edmundson authored
-
Aleix Pol Gonzalez authored
-
- 23 Jul, 2020 15 commits
-
-
David Edmundson authored
Kwin's VirtualDesktop saved a different configuration per X screen. This messes up with a recent refactor of our startup as now we load virtualdesktops before the X11 screen number is set and we load from the group "Desktops-screen--1" then save to another place. For a wayland session it doesn't make sense to have such a strong X tie-in. We may as well just tidy this up. Multihead has been deprecated for a decade. There is absolutely no way Plasma supports it. Worst case if someone magically is using mutlihead they just get syncronised virtual desktops. BUG: 424571
-
Aleix Pol Gonzalez authored
Hopefully fixes the CI
-
Vlad Zahorodnii authored
We've switched to PipeWire for screen casting \o/.
-
Aleix Pol Gonzalez authored
In favour of zkde_screencast_unstable_v1
-
Aleix Pol Gonzalez authored
-
Aleix Pol Gonzalez authored
-
Aleix Pol Gonzalez authored
Includes a PipeWire implementation that will send the relevant streams to the processes that need them.
-
Aleix Pol Gonzalez authored
-
Aleix Pol Gonzalez authored
On linux we have it defined on some headers. If we do hardcode it ourselves build will fail when linux/types.h is included afterwards.
-
Aleix Pol Gonzalez authored
-
Aleix Pol Gonzalez authored
Some features will rely on it and complain that GLTexture decided to use glTexStorage
-
Aleix Pol Gonzalez authored
-
Aleix Pol Gonzalez authored
-
Aleix Pol Gonzalez authored
Not just x11 ones.
-
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"
-
- 22 Jul, 2020 4 commits
-
-
In rare cases, Workspace::restoreFocus() may fail, for example when the most recently activated client is about to be destroyed or unmapped. If it happens that we cannot restore the focus, then mark the window in FocusIn event as active. CCBUG: 424223
-
BUG: 424272 FIXED-IN: 5.19.4
-
Cyril Rossi authored
Fix regression that was introduced by a mismatch in the default value of ActiveMouseScreen option between kwin.kcfg and kwinoptions_settings.kcfg BUG: 424389 (cherry picked from commit c853f831)
-
If AbstractClient::setFrameGeometry() is called from a slot connected directly to the frameGeometryChanged() signal, then is there a good chance that kwin will fall into an infinite recursion. However, that's the case with only X11 and internal clients. The root cause of the infinite recursion is that both X11Client and InternalClient compare the new geometry against the geometry before update blocking. In order to fix the bug, we simply need to ensure that updateGeometryBeforeUpdateBlocking() has been called before we start emitting the frameGeometryChanged() signal. Furthermore, a couple of tests were added to ensure that we won't hit this subtle bug again.
-
- 21 Jul, 2020 3 commits
-
-
Don't issue a frameGeometry update until we have fully processed which geometry we want. BUG: 423596
-
-
Vlad Zahorodnii authored
Unfortunately, a0c4a8e7 has a major bug where clients that track focus events may get confused by focusToNull(). One such a notable example is Dota 2. It tracks the focus events to minimize itself after the keyboard focus has been lost as well stop playing music while it's in background. So, when we call focusToNull(), Dota 2 will receive a corresponding FocusOut event and ask the window manager to minimize it. It doesn't really matter that the FocusOut event is going to be followed by a FocusIn event because when a window is minimized, kwin will activate the next one in the focus chain. Since those issues can't be fixed from the window manager's side, this patch partially reverts a0c4a leaving only the autotest. BUG: 424223 FIXED-IN: 5.19.4
-
- 20 Jul, 2020 1 commit
-
-
Cyril Rossi authored
-
- 17 Jul, 2020 6 commits
-
-
Andrey Butirsky authored
having deferred m_dbusInterface deletion allows to send DBus signal in more cases. That addressed in unit tests.
-
Andrey Butirsky authored
Implemented for Global, Virtual Desktop and Application layout policies. Not implemented for Window policy due separate windows do not preserve their IDs between sessions (still could be implemented the same way as for Application policy). Layout saving/restoring happens on Session save/load. Covered by unit tests
-
Currently, we update the input transformation matrix for the focused pointer surface only when the frameGeometryChanged() signal is emitted. However, since the input transformation matrix is computed based on the current position of the upper left corner of the main surface, it is wrong to do so because the frame geometry is a logical geometry that doesn't have any direct relationship with the buffer geometry, i.e. the rect on the screen occupied by the main surface. If the input transformation matrix gets out of sync, user may notice that pointer events are "shifted." This change introduces a new signal that's emitted when the input transformation matrix has been changed. Input related components in kwin can connect to it to keep a copy of the input transformation matrix in SeatInterface in sync. Under the hood, the new signal is just an alias for the bufferGeometryChanged() signal.
-
-
The new signal can be useful if one wants to watch a toplevel for buffer geometry updates. This can be especially useful for input related code because the position of the upper left corner of the main surface is used to compute the input transformation matrix.
-
Currently, the test passes because the activities controller doesn't have enough time to fetch all activities. So, the test client won't be placed on the current activity. Since the Workspace is now created before starting the Xwayland, we now spin the event loop, which allows the activities controller to fetch the list of all activities and so the test client will be placed on the current activity, i.e. client->isOnAllActivities() will no longer return true. This change fixes wrong assumptions in the test and makes it robust.
-