Commit graph

972 commits

Author SHA1 Message Date
David Edmundson
b650f55d60 xwayland: Add unit test for XWayland key tracking 2024-03-03 12:41:15 +00:00
Aleix Pol Gonzalez
bf1ce85474 Make it possible to build KWin without libxcb
Now that we have Wayland around, there's a whole branch of dependencies
that shouldn't be necessary anymore.
This allows to build KWin without all of it, allowing us to have a much
more compact alignment for cases where all the legacy software isn't
necessary anymore.

Bundle KWindowSystem X11-specific headers into it too, since it's part
of the same process.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2024-02-28 16:03:50 +00:00
Aleix Pol Gonzalez
05a3e2bad9 systemd: Set up a watchdog
Allows to notify systemd whether kwin is still running and possibly
restart the service if it stops responding.

Use Type=notify-reload to watch the kwin service. This will make it so
we receive SIGHUP rather than SIGTERM on the wrapper which we can handle
gracefully and stop the kwin process and restart as expected.

https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2024-02-22 16:47:35 +00:00
Jonathan Esk-Riddell
5306823435 Update Frameworks version requirement to 6.0.0
GIT_SILENT
2024-02-21 14:33:28 +00:00
Aleix Pol Gonzalez
c5305820d4 Reduce needed dependencies
For many components KConfigWidgets isn't necessary, just KColorScheme.

Signed-off-by: Falko Becker <falko.becker@mbition.io>
2024-02-14 14:45:24 +01:00
Vlad Zahorodnii
50fae55821 Revert "systemd: Set up a watchdog"
kwin_wayland has become unstable. Sometimes it works fine, sometimes it
is randomly killed. Things are quite bad after kwin_wayland --replace.

This reverts commit 71ade59f4b.
2024-02-05 12:54:47 +02:00
Aleix Pol Gonzalez
71ade59f4b systemd: Set up a watchdog
Allows to notify systemd whether kwin is still running and possibly
restart the service if it stops responding.

Use Type=notify-reload to watch the kwin service. This will make it so
we receive SIGHUP rather than SIGTERM on the wrapper which we can handle
gracefully and stop the kwin process and restart as expected.

https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2024-02-05 09:25:08 +00:00
Jonathan Esk-Riddell
61699e9ed3 Update version number for 6.0.80
GIT_SILENT
2024-01-10 14:03:49 +00:00
Jonathan Esk-Riddell
cc49e25eac Update version number for 5.92.0
GIT_SILENT
2024-01-10 12:28:48 +00:00
Jonathan Esk-Riddell
f029e91fd5 Update version number for 5.91.90
GIT_SILENT
2023-12-20 18:54:35 +00:00
Jonathan Esk-Riddell
81f9cd9992 Update version number for 5.91.0
GIT_SILENT
2023-12-20 12:02:38 +00:00
David Redondo
f25b8817d9 Update Qt version requirement to 6.6.0
GIT_SILENT
2023-12-08 12:10:27 +01:00
Jonathan Esk-Riddell
0b5b361b4a Update version number for 5.90.90
GIT_SILENT
2023-12-07 16:40:47 +00:00
Nicolas Fella
f399d2442a Adapt to plasma-framework targets being renamed 2023-12-04 19:43:47 +00:00
Jonathan Esk-Riddell
cea6368e72 Update version number for 5.90.0
GIT_SILENT
2023-11-29 10:24:10 +00:00
Oliver Beard
9b73cdeeba Find WaylandClient in non-testing builds 2023-11-27 17:30:41 +00:00
Aleix Pol Gonzalez
b853de3d29 Allow building KWin without KGlobalAccel
Signed-off-by: Falko Becker <falko.becker@mbition.io>
2023-11-27 17:07:28 +01:00
Kai Uwe Broulik
7bd9ae8d0b helpers/killer: Modernize UI
This overhauls the kill prompt UI to make it more modern and more
easily to grasp.

* Reduce the amount of text and redundancy.
  Give the window a title and drop the "app is not responding" heading.
  Try to remove the application name from the displayed window title.
  Also use the bold emphasis used in other places like deleting files.

* Use the application icon if available with a warning overlay.
  This makes it easier to grasp which application it's talking about.

* Move technical information (like PID and hostname) into an
  expandable "Details" section.

KGuiAddons has been implicitly pulled in by KConfigWidgets already.
2023-11-27 14:10:15 +00:00
Nicolas Fella
8ec88aa3bf Adjust to renamed activities libraries 2023-11-23 21:48:01 +01:00
Jonathan Esk-Riddell
cc4eac4c85 Port to renamed kwayland
https://invent.kde.org/plasma/kwayland/-/merge_requests/107  use renamed kwayland
2023-11-23 19:34:24 +00:00
Jonathan Esk-Riddell
2302d81d5a Update version number for 5.81.80
GIT_SILENT
2023-11-17 12:28:13 +00:00
Alexander Lohnau
22dfc8978e Adjust to removed QueryMatch::Type enum in KRunner 2023-11-10 07:11:44 +01:00
Jonathan Esk-Riddell
2f1fd37c9b Update version number for 5.81.0
GIT_SILENT
2023-11-09 12:31:09 +00:00
Nicolas Fella
41a5b84958 Fix KWayland version 2023-11-06 21:58:19 +01:00
Jonathan Esk-Riddell
7aaf2d2903 Update Qt version requirement to 6.5.0
GIT_SILENT
2023-11-06 19:57:32 +00:00
Jonathan Esk-Riddell
287094167d kactivities now using plasma versioning 2023-11-06 18:28:25 +00:00
Jonathan Esk-Riddell
ae46ac6382 plasma framework now uses plasma version 2023-11-06 18:23:59 +00:00
Xaver Hugl
ae84480fbf outputconfigurationstore: add new config system
Instead of an external service (like KScreen) storing and restoring output configurations,
with this commit KWin takes over that responsibility. This allows it to, among other things,
generate appropriate configs for new sets of outputs immediately, and take KWin-internal information
about outputs into account when generating them.

CCBUG: 474021
CCBUG: 469653
CCBUG: 466342
CCBUG: 470863
CCBUG: 466556
BUG: 466208
BUG: 455082
BUG: 457430
2023-10-05 20:29:04 +02:00
Niccolò Venerandi
028dd552cf Merge desktop grid and overview together with a new three-state design
Merges the desktop grid and overview effects together in a new three-state one;
you can switch between them with a certain shortcut or gesture, and you can also
still access either the desktop grid or overview directly.

Default shortcuts are also updated to be Meta+G for Grid, Meta+W for Overview,
Meta+Tab to switch between the three states and Meta+Shift+Tab to cycle in the
opposite direction.

BUG: 474044
BUG: 460661
BUG: 460774
BUG: 456572
BUG: 449601
BUG: 450262
BUG: 449801
BUG: 461510
BUG: 463886
BUG: 459754
BUG: 459749
BUG: 459748
BUG: 459467
FIXED-IN: 6.0
2023-09-25 11:14:37 +00:00
Mike Noe
2c809305b0 plugins/private: Update to ecm qml plugin tooling 2023-08-23 08:42:43 -04:00
Marco Martin
54b3c2c6b6 port screenedge effect to KSvg
Part of https://invent.kde.org/frameworks/ksvg/-/issues/1.

Port the linked usage of Plasma::Svg to KSvg::Svg, still
syncing with the Plasma style.
2023-08-22 08:21:21 +00:00
Allan Sandfeld Jensen
08d5dc27d0 Fix build with Debian/Ubuntu
Support older pkg-config naming of libdisplay-info
2023-07-17 11:20:29 +03:00
Bhushan Shah
5eec4cdb52 cmake: use add_feature_info for libdisplayinfo
That allows cmake to print proper output when dependency is not found.
2023-07-16 07:30:26 +00:00
Vlad Zahorodnii
6cd56d5192 wayland: Implement cursor-shape-v1
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/194
2023-07-12 11:22:11 +03:00
Aleix Pol Gonzalez
49a76ea772 Install KWaylandServer headers
There are use cases for the headers to be used, e.g. when implementing
wayland-specific workflows from an Effect.
In order to be able to use these, we also need to expose libkwin to be
imported as it carries the interfaces' symbols.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2023-07-04 08:22:43 +00:00
Vlad Zahorodnii
e1980c0009 cmake: Search for KF6Service
KF6Plasma no longer pulls it.
2023-06-30 11:45:47 +01:00
Marco Martin
569e0f8f64 Port to KSvg
port Svg and FrameSvg items to KSvg
2023-06-21 15:16:39 +00:00
Laurent Montel
9ebc3e298f We use qt6 now 2023-05-29 13:36:59 +00:00
Aleix Pol
52a96996f3 Do not look up kcm dependencies if KWIN_BUILD_KCMS=OFF
We are not going to use them anyway...
2023-05-13 13:48:52 +02:00
Xaver Hugl
4f9f73e28d utils/edid: use libdisplay-info 2023-05-09 10:52:04 +00:00
Vlad Zahorodnii
d2b0ed0c5a wayland: Implement wl_surface.preferred_buffer_scale and wl_surface.preferred_buffer_transform
The new events provide a way to tell the client what buffer scale and
buffer transform to use as they may lack the context to make a proper
decision.
2023-05-05 12:52:32 +00:00
Vlad Zahorodnii
70d76791d8 cmake: Correct gbm version check
It appears like gbm_VERSION can be a list, which if() does not like. So
pass the variable to the if() rather than its value. While on this, also
change GREATER_EQUAL to VERSION_GREATER_EQUAL so cmake compares
individual version components.
2023-05-03 12:40:42 +00:00
Vlad Zahorodnii
0a82f33db5 Drop XCB_ICCCM_FOUND checks
Qt requires xcb-icccm 0.3.9. On the other hand, 0.3.9 contains all the
types and functions used by kwin, so remove the corresponding
XCB_ICCM_FOUND checks to simplify the code.
2023-05-03 11:40:01 +00:00
Andreas Cord-Landwehr
258e9d8426 Extend GLX switch to check if QtGui was being built with GLX plugin
Even though epoxy with GLX may be present, Qt's native interface only
exposes GLX API when it was being built with GLX support.
2023-04-27 18:29:51 +00:00
Vlad Zahorodnii
a89573224c Drop Qt6WaylandClientMacros.cmake fork 2023-04-23 18:18:34 +00:00
Nicolas Fella
8a0a91fea1 Port to standalone kglobalacceld 2023-04-23 10:06:28 +02:00
Aleix Pol
d0b87a900f screencasting: Add an autotest
Adds an autotest that makes sure a screencasting stream works as
expected.
Adds an optional dependency to KPipeWire only effective to run the test.
2023-03-31 00:19:59 +02:00
Vlad Zahorodnii
f20cf30693 Fix populating CMAKE_AUTOMOC_MACRO_NAMES with kwineffects macros
Apparently CMAKE_AUTOMOC_MACRO_NAMES modifications are not visible in
sibling directories. To work around that, populate
CMAKE_AUTOMOC_MACRO_NAMES with libkwineffects plugin macros in the
top level CMakeLists.txt file.
2023-03-27 12:05:18 +00:00
Vlad Zahorodnii
1211d8e3d6 Prefix more kwineffects includes with libkwineffects/ 2023-03-25 21:05:12 +00:00
Vlad Zahorodnii
e88a4e34a3 Remove some include_directories()
It seems we've settled on dir/dir/header.h includes, so let's use them
consistently.
2023-03-23 14:37:48 +02:00