844 Commits (c59c52cb0cfb069b61b39aa3845a78331cdbde20)

Author SHA1 Message Date
Vlad Zahorodnii e81a360194 Bump libepoxy to 1.3
1.3 has been released in 2015 which is sufficiently old enough.
3 years ago
Alexander Lohnau bd17ca0110 kwinscripts kcm: Port to new KPluginWidget class
Task: https://phabricator.kde.org/T12265
3 years ago
David Edmundson f4b870977b Re-enable systemd managed kwin
This was blocked on environment variables issues which are now resolved
3 years ago
David Edmundson b3f5f9764f [kwin_wrapper] Sync kwin env after spawning 3 years ago
Alexander Lohnau 70a2fb877a Register KWin effect macros for moc
Otherwise we get lots of moc warnings about there not being any relevant macro used
3 years ago
Alexander Lohnau 66352bfc87 Utilize KCoreAddons infrastructure for static plugins 3 years ago
Xaver Hugl c68f7f13f3 backends/drm,wayland: require gbm
The ifdefs for have_gbm obfuscate the code unnecessarily - the drm backend
is not a great experience with qpainter, so in practice noone should ship
it without gbm anyways.
3 years ago
Xaver Hugl bad5752110 platforms/drm: kill the EglStreams backend
The proprietary NVidia driver now supports gbm, which vastly improves the
user experience. For older devices that will not get gbm support dropping
EglStreams will likely not have a big impact as it has several session breaking
issues anyways.

By removing the backend a lot of logic can be simplified, most notably multi-gpu.
3 years ago
Xaver Hugl 6ff4de2e05 port everything away from Q_FOREACH 3 years ago
David Redondo 60c3b3ddfa Add support for hold gestures 3 years ago
Vlad Zahorodnii d6f02abad0 cmake: Make KF5Wayland required again
wayland platform plugin uses KF::Wayland.
3 years ago
Nicolas Fella 310684f1a7 Fix build by lowering KDE_COMPILERSETTINGS_LEVEL
It doesn't build against the stricter 5.85 level
3 years ago
Jonathan Riddell 57c06d0e00 Update kf5 version requirement to 5.86
GIT_SILENT
3 years ago
Vlad Zahorodnii 5be593d4e4 wayland: Drop internal connection
It's practically unused now.
3 years ago
Alex Richardson 8ab41804f0 Increase minimum KDecoration2 version
I just got a build failure because I hadn't updated KDecoration to
include 195bcf36df.
Bump the minimum version to trigger a CMake error instead of a
compilation failure. Since we expect to be using the same version of
KDecoration as KWin, this change uses ${PROJECT_VERSION} as the minimum
version.
3 years ago
Jonathan Riddell 35ff7eb0ed Update version number for 5.23.80
GIT_SILENT
3 years ago
Jonathan Riddell ebc7851671 Update version number for 5.22.90
GIT_SILENT
3 years ago
Méven Car 2eb5da1d6f Port autotests/integration/outputmanagement_test to kde_output_management_v2 3 years ago
Ismael Asensio 2aacea5026 Set a minimum version check for pipewire
Fixes compilation on systems with a lesser version than required
The minimum version is set to 0.3.29 as indicated in
https://invent.kde.org/plasma/kwin/-/merge_requests/1210
3 years ago
Xaver Hugl 5cc5d81cea guard gbm version for gbm_bo_get_fd_for_plane 3 years ago
Laurent Montel ee4c9cd6d5 Fix compile with last ecm
(With
https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/145
we have disabled the C and C++ specific compiler extensions)
3 years ago
Nicolas Fella 1e36e79fa3 Remove unused KIO dependency 3 years ago
Vlad Zahorodnii 811beb94e0 Remove Xrender backend
The Xrender backend was added at the time when OpenGL drivers were not
particularly stable. Nowadays though, it's a totally different situation.

The OpenGL render backend has been the default one for many years. It's
quite stable, and it allows implementing many advanced features that
other render backends don't.

Many features are not tested with it during the development cycle; the
only time when it is noticed is when changes in other parts of kwin break
the build in the xrender backend. Effectively, the xrender backend is
unmaintained nowadays.

Given that the xrender backend is effectively unmaintained and our focus
being shifted towards wayland, this change drops the xrender backend in
favor of the opengl backend.

Besides being de-facto unmaintained, another issue is that QtQuick does
not support and most likely will never support the Xrender API. This
poses a problem as we want thumbnail items to be natively integrated in
the qtquick scene graph.
3 years ago
Vlad Zahorodnii 7a063f9ab7 Build kwin with QT_NO_KEYWORDS 3 years ago
Vlad Zahorodnii 77a9d38166 Make libdrm required dependency
As is, kwin with the drm backend results in the most pleasant user
experience on Wayland. Given that and the fbdev being about to be
dropped, making libdrm a required dependency seems a reasonable decision.
3 years ago
Aleix Pol 3b05823f1f libinput: bump required version
So we can remove ifdefs and weird cases to support versions that are far
too old to support anyway.
3 years ago
Jonathan Riddell 2f0088de93 Update version number for 5.22.80
GIT_SILENT
3 years ago
Jonathan Riddell 0efc9e8e7f Update version number for 5.21.90
GIT_SILENT
3 years ago
Jonathan Riddell 2358a9b031 Update kf5 version requirement to 5.82
GIT_SILENT
3 years ago
Andrey Butirsky 91f47c9092 fix global shortcuts for non-Latin symbols
Re-use Qt's implementation of handling non-Latin layouts here
For full ASCII range support (Alt+`, etc.) Qt needs to be patched still,
see QTBUG-90611

BUG: 375518
4 years ago
Vlad Zahorodnii ade861d6de Refactor session code
At the moment, the session code is far from being extensible. If we
decide to add support for libseatd, it will be a challenging task with
the current design of session management code. The goal of this
refactoring is to fix that.

Another motivation behind this change is to prepare session related code
for upstreaming to kwayland-server where it belongs.
4 years ago
Nicolas Fella d7ab631e98 Find ECM with KF5 min version
Instead of some randon older version
4 years ago
Nicolas Fella b7e13da70f Merge two CMAKE_MODULE_PATH set calls 4 years ago
Nicolas Fella c777d5a3a7 Raise minimum CMake version to 3.16
As discussed in https://mail.kde.org/pipermail/plasma-devel/2021-February/119329.html

GIT_SILENT
4 years ago
Vlad Zahorodnii 6a26540065 wayland: Query pkg-config if Xwayland supports listenfd
-listen <fd> option is deprecated in favor of the -listenfd option. This
change makes kwin query whether Xwayland supports the -listenfd option
at build time. If the pkg-config file is missing, we'll use the old listen
option.
4 years ago
Aleix Pol b409f523f0 Revert "cmake: Get XKB information directly from PkgConfig"
This reverts commit 3c97cecdb0.

It seems to break on the CI and I don't understand why.
4 years ago
Aleix Pol 3c97cecdb0 cmake: Get XKB information directly from PkgConfig
Rather than having it abstracted in a local FindXKB package.
Makes the code more standard and removes a custom finder we ultimately
don't need.
4 years ago
Vlad Zahorodnii bd4d17b3a1 Drop QtScript dependency
QtScript is not used anywhere anymore plus it's dropped in Qt 6.
4 years ago
David Faure abab1660aa Define -DQT_NO_CAST_TO_ASCII and fix compilation 4 years ago
Vlad Zahorodnii 93e0265e4e Move source code to src/ directory
Once in a while, we receive complaints from other fellow KDE developers
about the file organization of kwin. This change addresses some of those
complaints by moving all of source code in a separate directory, src/,
thus making the project structure more traditional. Things such as tests
are kept in their own toplevel directories.

This change may wreak havoc on merge requests that add new files to kwin,
but if a patch modifies an already existing file, git should be smart
enough to figure out that the file has been relocated.

We may potentially split the src/ directory further to make navigating
the source code easier, but hopefully this is good enough already.
4 years ago
Nicolas Fella eedb8e44ea Use imported target for Threads 4 years ago
Nicolas Fella a110231f68 Use imported target for QtGui private headers
It's nicer
4 years ago
Laurent Montel 3c63750f6e GIT_SILENT: don't use deprecated cmake variable 4 years ago
Nicolas Fella 99947c8bd8 Use versionless Qt cmake target
This makes it easier to build against both Qt5 and Qt6

GIT_SILENT
4 years ago
Laurent Montel 88b6076b2f GIT_SILENT: dont use deprecated cmake variable 4 years ago
David Edmundson ca81be6635 Fix the systemd wayland boot
Plasma-workspace currently starts kwin_wayland before afterwards
continuing to spawn the full session, through whatever mechanism.

We ultimately want to just have systemd manage everything all at once,
but this was not realised in time for 5.21 due to a problem of
propogating environment variables.

By removing this file we go to a working state with the option enabled,
and can build on it for the next release.

BUG: 432189
4 years ago
Jonathan Riddell f47ae2c0c5 Update version number for 5.21.80
GIT_SILENT
4 years ago
Jonathan Riddell 6f51a9cc8f Update kf5 version requirement to 5.78
GIT_SILENT
4 years ago
Jonathan Riddell a0c7f997d4 Update version number for 5.20.90
GIT_SILENT
4 years ago
Vlad Zahorodnii 907480037a cmake: Don't search for Qt5Sensors 4 years ago