Commit Graph

17867 Commits (be31101f127bdd2be61ed1e96838374a56103d7d)

Author SHA1 Message Date
Kai Uwe Broulik be31101f12 Remove QSessionManager usage
Summary: Instead, have KSMServer talk to us directly on DBus.

Test Plan: Depends on D28616

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28617
2020-04-06 11:51:47 +02:00
David Faure 6dc938907f kwin: fix compilation error with strict iterators
Summary: After insert(), image seems to be set already, no need to copy it again?

Test Plan: Builds

Reviewers: apol

Reviewed By: apol

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28578
2020-04-05 08:53:56 +02:00
Aleix Pol 77782efc1f x11: register the cursor as well
BUG: 419595
CCMAIL: kwin@kde.org

Committing as is because it crashes on load
2020-04-03 20:01:09 +02:00
Aleix Pol 9f183642ca Fix build
Could reproduce the problem in the CI on Neon, this fixes the build there.
We'll probably want to untangle xcb and wayland dependencies some day...
2020-04-03 02:34:25 +02:00
Aleix Pol 6abd23ed02 Make it possible to have a separate cursor for the tablet
Summary:
As is KWin only had 1 Cursor which was a singleton. This made it impossible for
us to properly implement the tablet (as in drawing tablets) support and show where
we're drawing.
This patch makes it possible to have different Cursors in KWin, it makes all the
current code still follow the mouse but the tablet can still render a cursor.

Test Plan: Tests pass, been using it and works as well as before but with beautiful tablet cursors.

Reviewers: #kwin, cblack, davidedmundson

Reviewed By: #kwin, cblack, davidedmundson

Subscribers: davidedmundson, cblack, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28155
2020-04-03 01:16:45 +02:00
Jonathan Riddell 08a21ae7b6 bump to require Qt 5.14 2020-04-02 15:22:36 +01:00
Aleix Pol da2d896257 Fix for older cmake versions
Summary: Recent changes prevented it to build on KDE Neon.

Test Plan: Built it on Neon

Reviewers: #kwin, bshah, davidedmundson

Reviewed By: #kwin, bshah, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28511
2020-04-02 13:20:03 +02:00
Aleix Pol f4e41430e5 Improve PowerOff/PowerDown behaviour
Summary:
Trigger PowerDown after pressing for 1s instead of having to wait for release
to decide, feels more natural.
Also don't operate the modifiers, it's done later by KGlobalAccel.

Reviewers: #kwin, #plasma:_mobile, bshah

Reviewed By: #plasma:_mobile, bshah

Subscribers: ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28490
2020-04-02 12:09:51 +02:00
Aleix Pol dbac4bce7e Reduce the amount of objects that are compiled several times
Summary:
We build some objects several times which makes it uncomfortable to develop KWin
since every time we modify something a lot of things get rebuilt. This should
help a bit although it doesn't solve all the problems.

Test Plan: Builds, tests pass

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: davidedmundson, zzag, anthonyfieroni, iasensio, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28445
2020-04-02 00:41:55 +02:00
Cyril Rossi 51a1e06dfc KCM KWinTabBox manage KCModule states
Summary:
Following D27323, manage KCModule states for reinitialize/defaults/apply

Also, this should solve :

BUG: 414567
BUG: 387160
FIXED-IN: 5.19

Reviewers: #kwin, ervin, bport, meven, zzag

Reviewed By: #kwin, ervin, meven, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27784
2020-04-01 11:01:49 +02:00
l10n daemon script d876dde05b SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-31 06:35:42 +02:00
Vlad Zahorodnii ebf6e691d8 [kcmkwin] Remove redundant lambda
Summary:
We don't need a lambda because QDialog::accepted can be connected
directly to KCModule::save.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28443
2020-03-30 19:39:09 +03:00
David Edmundson 0a65681596 [kcmkwin] Make dialog non blocking
Summary:
It's invoked from QML.

Nested event loops invoked directly from QML is asking for crashes.

BUG: 419118

Test Plan:
Opened KCM
Opened dialog for some settings
Window was still modal as before
Settings were saved
(though they didn't seem to be applied..maybe another bug?)

Reviewers: #kwin, apol

Reviewed By: apol

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28293
2020-03-30 17:27:11 +01:00
Vlad Zahorodnii 9755ef20e5 [kwineffects] Port GLPlatform to QRegularExpression
Test Plan: kwinglplatformtest still passes.

Reviewers: #kwin, apol

Reviewed By: apol

Subscribers: apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28320
2020-03-30 16:00:46 +03:00
Aleix Pol c9c6fa818d Don't position plasma surfaces if a position wasn't requested
Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28429
2020-03-30 14:49:56 +02:00
Aleix Pol 27634d00c0 Prefer holding a reference to an object we're going to call
Summary: It's more correct and fixes a warning

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28430
2020-03-30 14:49:27 +02:00
Aleix Pol 7db9129521 Figure out nested wayland dismantle
Summary:
Fixes a crash we would get, we're changing 2 main things:
- release the event queue first, otherwise we'd serve events to
disappearing objects.
- destroy the connection thread object after the thread has quit.

Test Plan: KWin doesn't explode when closing.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28340
2020-03-30 13:41:32 +02:00
Méven Car 5498ed9565 KCM/Kwinoptions: Port focus tab to KConfigXT
Summary:
* remove singleton of KWinOptionsSettings

Depends on D27477

Test Plan:
* No functional change
* default / reset button work as expected.

Reviewers: ervin, bport, hchain, crossi, #kwin, zzag

Reviewed By: ervin, #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27934
2020-03-30 10:13:16 +02:00
Méven Car 519c4df57c KCM/Compositing: Use KConfig XT to store values
Summary:
 * Clean a little the code
 * Improve a little the UI

Test Plan:
Before:
{F8167763}
After:
{F8167764}

Reviewers: #kwin, ervin, bport, crossi, hchain, zzag

Reviewed By: #kwin, ervin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27955
2020-03-30 09:14:25 +02:00
l10n daemon script 4cfdb33005 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-30 06:16:09 +02:00
Nate Graham 128dd967c7 Merge branch 'Plasma/5.18' 2020-03-29 18:17:54 -06:00
Eugene Popov ae022e92c9 [kcmkwin/kwindesktop] Fix inability to create more than one row on the "Virtual Desktops" settings page
Summary:
When a spinbox with the number of rows loses focus, the value of this spinbox (i.e., the count of rows) is always reset to 1. Thus, it's impossible to create more then one row.

To fix this bug, we need to implement `valueFromText` function.

BUG: 419141
FIXED-IN: 5.18.4

Reviewers: ngraham, zzag, davidedmundson

Reviewed By: ngraham, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28378
2020-03-29 18:15:05 -06:00
Roman Gilg f8bafef294 Adapt to new KScreenLocker API
Summary:
KScreenLocker only anymore takes an FD when it tries to lock. The connection
is created and kept internally in KWin.

At the moment we do not do any further checks on the lock but directly hand
over an FD whenever KScreenLocker is about to lock.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28085
2020-03-28 23:02:46 +01:00
Kai Uwe Broulik 5e8038a1a1 [workspace] Use qDeleteAll
Rather than a foreach with questionable indentation

Differential Revision: https://phabricator.kde.org/D28334
2020-03-27 14:25:02 +01:00
Vlad Zahorodnii bdd6882767 [kwineffects] Drop KWIN_GL_DEBUG
Summary:
It has been broken for many years and no one has filed bug
reports about it (besides me).

BUG: 419285

Test Plan: Ran kwin with KWIN_GL_DEBUG and it still works.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28332
2020-03-27 12:29:24 +02:00
l10n daemon script 2f6e9a6355 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-27 06:43:00 +01:00
Aleix Pol 745981f4c5 Fix build, pass a QRect instead of its 4 components 2020-03-26 16:51:32 +01:00
Aleix Pol 5eb84af469 Remove overloads on virtual methods
Summary:
Prefer virtual methods that take QRect and QSize rather than multi-int versions.
Makes for clearer API and reduces the amount of code that was taking all of the
components and turn it into a class.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28283
2020-03-26 16:10:10 +01:00
l10n daemon script f18109d9c4 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-26 10:48:29 +01:00
l10n daemon script 7fc05f1cf6 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-26 06:24:43 +01:00
Aleix Pol 48a8fdbdc7 Fix output initialization
Summary: Fixes a regression where displays would not be available to kscreen.

Test Plan: Can configure my screens again.

Reviewers: davidedmundson

Reviewed By: davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28243
2020-03-24 17:24:45 +01:00
David Edmundson e323e62202 fix misleading indendation 2020-03-24 15:57:32 +00:00
David Edmundson 754b90c72f Create screens before screen edges
Summary:
Screens is used in screenEdges in a recent refactor

This didn't affect wayland as main_wayland creates screens earlier
itself. We can't move creation into main_x11 as X11's screens uses an
event filter which relies on workspace existing.

BUG: 419178

Test Plan: Restarted on X11

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28233
2020-03-24 12:40:14 +00:00
Aleix Pol 9b7ab4d16a Improve tests behaviour on set ups with high dpi
Summary:
We are testing on a 100x100 mock display. We'd ask QWidget for our
display's dpi, it would not use the mock display but the actual
system's. On my system it made the corners overlap with each other and
all sorts of weird things happened.

Test Plan: The tests actually pass here.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28224
2020-03-24 00:16:04 +01:00
David Edmundson 80d3f148e0 [wayland] Simplify output handling
Summary:
Instead of changing lifespan of kwayland objects we can just call
create() and delete() on it which affects the lifespan of the underlying
resource, but not the kwayland wrapper.

This gets rid of some duplicate syncing.

Test Plan:
Ran WAYLAND_DEBUG=1
plugged in and removed a monitor
output showed wl_output and xdg_output being handled correctly

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27899
2020-03-23 23:04:06 +00:00
l10n daemon script 93e8231b61 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-23 06:03:07 +01:00
l10n daemon script 5c51b1c619 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-21 09:55:15 +01:00
Carson Black 679427da24 Broadcast application menu on PWM interface initiaization
Summary:
By the time AbstractClient::setupWindowManagementInterface() is called,
it's possible for a window to already have an application menu, and not update them
afterwards.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28150
2020-03-20 03:04:36 -04:00
Aleix Pol 43969122a2 Remove changes from a patch from the future 2020-03-20 03:44:59 +01:00
Aleix Pol e0052cedcb Implement the tablet wayland protocol in kwin
Summary:
Uses the tablet classes introduced in kwayland.
Depends on D26858

Test Plan:
Scratched my tablet with a magic stick and it did things depending on the pressure.
https://youtu.be/GGx0TlNJlzs

Reviewers: #kwin, #plasma, zzag, davidedmundson

Reviewed By: #kwin, #plasma, zzag, davidedmundson

Subscribers: davidedmundson, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26859
2020-03-20 03:05:41 +01:00
Vlad Zahorodnii bb04ab390d Merge branch 'Plasma/5.18' 2020-03-19 22:41:19 +02:00
Vlad Zahorodnii 25276d3058 [wayland] Recursively destroy WindowPixmap objects
Summary:
We need to destroy the root WindowPixmap together with all of its
children; otherwise, buffers that are attached to subsurfaces will
not be released.

Test Plan:
weston-subsurfaces doesn't quit with an error message saying that
all buffers are held by the compositor.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28145
2020-03-19 22:41:03 +02:00
Vlad Zahorodnii c0c693efb3 Merge branch 'Plasma/5.18' 2020-03-19 16:41:09 +02:00
Vlad Zahorodnii 348e72c56e [scenes/opengl] Print a debug message when viewport limits aren't met
Summary:
This may help with debugging why compositing is suspended.

CCBUG: 418951

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28139
2020-03-19 16:40:54 +02:00
Méven Car d571457bbe KCM/Kwinoptions: Port title bar and window actions tabs UI and conf to KConfigXT
Summary: Depends on D27463

Reviewers: crossi, bport, ervin, #kwin, zzag

Reviewed By: ervin, #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27477
2020-03-19 12:40:01 +01:00
l10n daemon script 9f3b817bdc SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-19 05:51:04 +01:00
Vlad Zahorodnii 29fa85eed1 Use SurfaceInterface::boundingRect()
Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27831
2020-03-18 16:35:21 +02:00
Vlad Zahorodnii 9cce7f8686 [wayland] Drop support for legacy xdg-shell-v6 protocol
Summary:
xdg-shell stable has been around for quite a while. A quick analysis
showed that many distros ship GTK and Qt that support both xdg-shell
v6 and stable. Therefore, we can drop support for legacy v6 protocol.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28118
2020-03-18 14:38:58 +02:00
Vlad Zahorodnii e7babb3e97 Drop .arclint file
Summary:
Lately, submitting patches has become very annoying because of cppcheck's
false positive error messages. After doing some research, no reasonable
solution have been found to this annoying problem so let's get rid of the
.arclint file. If we've missed something during the code review, our CI
will spot it. Although CI doesn't check spelling, we have other ways to
detect typos, e.g. EBN.

Reviewers: #kwin, apol

Reviewed By: apol

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28119
2020-03-18 14:38:21 +02:00
l10n daemon script a273ec2bc3 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2020-03-18 06:00:00 +01:00