Commit Graph

175 Commits

Author SHA1 Message Date
60b7d27ae0 Add Window::screenConfiguration() shim
This shim is for 6.6 to maintain compatibility with previous versions.

(cherry picked from commit dd76feea81)
2026-01-21 15:37:16 +02:00
3dacd70398 Allow specifying explicit desired screen
If the window position is not specified, which is a reasonable thing to
do when using the layer shell protocol, setWidth() and setHeight() can
unintentionally change the screen() to the wrong one.

This change adds a setScreen() function so it's harder to shoot
yourself in the foot while using the layer shell protocol.

(cherry picked from commit 430ad3630f)
2026-01-21 15:37:16 +02:00
94ac4be08f Update version for new release 6.5.90 v6.5.90 2026-01-13 15:43:16 +05:30
df03deab5c Update Qt version requirement to 6.10.0
GIT_SILENT
2026-01-13 14:39:55 +05:30
44fe89b1b6 Update Frameworks version requirement to 6.22.0
GIT_SILENT
2026-01-13 14:39:55 +05:30
58f549d136 Provide serial for requesting an activation token
Otherwise, window activation does not work.

Taken from QWaylandXdgSurface::requestActivate
2025-12-24 15:03:48 +03:00
9ddf87a444 Deprecate Shell::useLayerShell()
it's not needed since Qt 6.5 and can potentially leak the environment
variable.
2025-12-18 15:20:57 +01:00
b9e1260949 Window: Ensure we integrate windows that were already were shown in a different shell 2025-10-25 13:02:31 +02:00
cb79d3f60a window: Improve how we tell the window to do layer-shell
Instead of telling it in the construction after forcing the window
creation, install an event handler that sets it when we get the
PlatformSurface event.

It has the advantage that it will also trigger in subsequent platform
surface events (e.g. after hide and show).
2025-10-25 13:02:31 +02:00
2b8544f5a0 Drop obsolete code for Qt versions lower than 6.9 2025-10-16 14:02:29 +02:00
e4b5bdbf1b Update version for new release 6.5.80 2025-09-18 20:56:39 +05:30
ebd64dd395 Update version for new release 6.4.90 v6.4.90 2025-09-18 17:26:46 +05:30
ca0ac57fb4 Update Qt version requirement to 6.9.0
GIT_SILENT
2025-09-18 14:00:16 +05:30
d085a88c81 Update Frameworks version requirement to 6.18.0
GIT_SILENT
2025-09-18 14:00:16 +05:30
5e57a060c6 Register anchors flags to QML
CCBUG: 507602
2025-08-05 13:04:50 +02:00
d436a779d7 Request activate on show
Unless the window doesn't have keyboard interactivity or the caller
wants it not to.

To match XDG Shell behavior and general Qt window behavior.
2025-08-03 10:08:40 +00:00
f599e829ad When activating, also try token from XDG_ACTIVATION_TOKEN
This matches upstream QWaylandXdgSurface behavior.

It also makes various activation magic e.g. KDBusService work.
2025-07-30 23:29:13 +00:00
397398dfd8 Port to declarative type registration
BUG: 507602
2025-07-30 21:39:23 +02:00
7a074a3684 update version for new release 2025-05-19 18:33:35 +05:30
8b54edb695 update version for new release v6.3.90 2025-05-15 15:14:19 +05:30
ffa33fef9f Update Qt version requirement to 6.8.0
GIT_SILENT
2025-05-15 14:20:07 +05:30
3522070454 Update Frameworks version requirement to 6.14.0
GIT_SILENT
2025-05-15 14:20:07 +05:30
80d5e3c935 Expose setDesiredSize to the C++ API
Making it possible for clients to call setDesiredSize directly,

The idea is that under Wayland, the panel calls this intead of setGeometry,
not trying to set an abosulute geometry that might cause the panel sized wrongly,
but just sets an hint which will ensure the panel won't overlap another one

used by https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5437

CCBUG:489703
2025-04-30 17:23:48 +02:00
b37ac92e9f CI: Add linux-qt6-next build 2025-02-12 07:28:37 +01:00
c8c8e3e983 Add xml/yaml linting 2025-02-01 09:52:29 +01:00
72d40f696e Fix build with Qt 6.10
The private parts have been extracted into a separate CMake config file, which we need to search for now

See https://bugreports.qt.io/browse/QTBUG-87776
2025-01-29 15:34:52 +01:00
ac333b19c7 update version for new release 2025-01-09 12:46:54 +00:00
c85d6e7baa update version for new release v6.2.90 2025-01-09 11:01:05 +00:00
e534206172 Update Frameworks version requirement to 6.10.0
GIT_SILENT
2025-01-09 10:29:52 +00:00
edb8f67b1b It compiles without deprecated methods 2024-12-18 13:24:21 +01:00
1796255496 update version for new release 2024-10-03 13:11:32 +01:00
2dbd1d6eb7 Update Frameworks version requirement to 6.5.0
GIT_SILENT
v6.1.90
2024-09-12 11:08:45 +01:00
0d11058c8f update version for new release 2024-09-12 10:50:16 +01:00
a5fbaa5975 Reformat CMake code for better readability 2024-08-14 11:08:41 +02:00
6f8a3f5d42 Generate wayland code with PRIVATE_CODE 2024-08-14 10:47:07 +02:00
303f68cf10 Update Qt version requirement to 6.7.0
GIT_SILENT
2024-08-02 10:15:46 +01:00
368cf2dd37 Port to QWaylandWindow::updateExposure() 2024-07-05 09:49:38 +03:00
16a1debdca Port to QWaylandShellSurface::setWindowSize() 2024-06-26 13:01:50 +03:00
c4987c01c7 update version for new release 2024-05-24 16:14:22 +01:00
bfdf40b1b5 Update Qt version requirement to 6.6.0
GIT_SILENT
v6.0.90
2024-05-24 13:11:58 +01:00
8676cf98ce update version for new release 2024-05-24 12:32:48 +01:00
16da49d3a9 Update Qt version requirement to 6.7.0
GIT_SILENT
2024-05-24 11:22:43 +01:00
97d85c8722 Update Frameworks version requirement to 6.2.0
GIT_SILENT
2024-05-24 11:22:43 +01:00
44e011e2c6 declarative: Add a QML extension object for accessing the margins property
Otherwise we get the following error message:
Property "margins" with type "QMargins", which is not a value type

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2024-05-20 10:01:24 +00:00
05de6c67b2 Enforce passing tests on all platforms 2024-04-22 23:45:49 +02:00
7c4706c415 Add clang-format commit hook 2024-04-21 17:51:44 +02:00
80a047c0db Run clang-format 2024-04-21 17:50:57 +02:00
2ac46d8d9d Drop now defunct code to sync resizes
This code was designed to make sure we didn't commit new buffers whilst
we were waiting for a configure. The way this worked failed in 6 after
kwin does not reply to desired_size changes immediately.

It is uneeded after kwin commit "wayland: Avoid rearranging layer
surfaces when wl_surface size changes" which means if we do submit
frames between size change requests, they'll be ignored. Meaning the
client will eventually get a configure event at the right size.
2024-04-11 17:57:14 +01:00
e8594be884 Use QWaylandWindow::windowContentGeometry() to set the initial preferred size
This matches the geometry used in the setWindowGeometry() function.
2024-04-04 14:18:38 +03:00
0a31923938 Update the desired size when the anchors change
When the anchor changes, the desired size should be updated to avoid
the compositor posting a protocol error.

BUG: 484990
2024-04-04 11:59:49 +03:00