Commit Graph

123 Commits

Author SHA1 Message Date
outfoxxed 2ebe7b313e
Fix changing anchors of a shell surface 2024-02-04 04:04:19 -08:00
outfoxxed a50d30687c
Kind of fix the qml module 2024-01-24 05:24:35 -08:00
outfoxxed bd600d4117
Fix build not including qml plugin and qmldir 2024-01-24 04:00:45 -08:00
outfoxxed 4b1134c439
Don't use ECM for plugin 2024-01-24 02:10:14 -08:00
outfoxxed 97b759c92a
Minor changes to reduce kde build deps 2024-01-23 06:25:33 -08:00
Jonathan Esk-Riddell f1e50306f8 Update version number for 6.0.80
GIT_SILENT
2024-01-10 14:04:04 +00:00
Jonathan Esk-Riddell 078f36f8f3 Update version number for 5.92.0
GIT_SILENT
2024-01-10 12:29:03 +00:00
Joshua Goins 7d3194034c Use ECM QML module so the module can be used outside of repository 2024-01-04 14:42:17 -05:00
David Redondo e3098a660a Fix constrained check
The value in parantheses was always zero.
2023-12-21 13:58:24 +00:00
Jonathan Esk-Riddell d379bc8d8e Update version number for 5.91.90
GIT_SILENT
2023-12-20 18:54:50 +00:00
Jonathan Esk-Riddell 715e629dd8 Update version number for 5.91.0
GIT_SILENT
2023-12-20 12:02:54 +00:00
Laurent Montel 8ae3b0aef8 Qt6 check code as apps is qt6 only. 2023-12-15 21:44:24 +01:00
Vlad Zahorodnii 6f0bca5593 Revert "Add a (temporary) way to attach popups to layer surfaces"
This reverts commit fdab1544fb.

Qt 6.6 is out with all the necessary multi-shell apis.
2023-12-08 11:55:52 +00:00
David Redondo d1ab27dd53 Update Qt version requirement to 6.6.0
GIT_SILENT
2023-12-08 12:10:27 +01:00
Jonathan Esk-Riddell 4569e78e25 Update version number for 5.90.90
GIT_SILENT
2023-12-07 16:41:03 +00:00
Vlad Zahorodnii ddb0490592 Change default keyboard interactivity to OnDemand
OnDemand is a better default as it still ensures that the window will
receive keyboard input by default, but it's less aggressive.
2023-11-30 10:06:18 +00:00
Vlad Zahorodnii 3c116e7550 Revert "Change default keyboard interactivity from exclusive to none"
This reverts commit be63783888.

It broke keyboard input in sddm greeter. While defaulting to a non-spec
value is not great, it's also not that critical. It might be worth
considering synchronizing Qt::WindowDoesNotAcceptFocus with the keyboard
interactivity flag, but the tricky part is that the keyboard interactivty
is not just a boolean.

BUG: 477251
2023-11-30 10:06:18 +00:00
Jonathan Esk-Riddell 9e1c5357ac Update version number for 5.90.0
GIT_SILENT
2023-11-29 10:24:25 +00:00
Laurent Montel 76e8f33cbc GIT_SILENT: Port to new CI template 2023-11-19 16:20:06 +01:00
Jonathan Esk-Riddell 25bc38dac1 Update version number for 5.81.80
GIT_SILENT
2023-11-17 12:28:29 +00:00
Jonathan Esk-Riddell aa167e8da5 Update version number for 5.81.0
GIT_SILENT
2023-11-09 12:31:25 +00:00
David Edmundson de9fdb3fb7 Support XDG activation
QWaylandLayerShellIntegration has virtual hooks for Xdg Activation.

This is important to hook up in layer shell because activation using
requestActivate in Qt will go through this path. It also means we have
support for us to drop the implementation in KWindowSystem in favour of
calling into Qt.
2023-11-06 12:41:20 +00:00
Jonathan Esk-Riddell 00b26a196d set ecm soversion to project major
again probably not used but feels best to make them match
2023-11-03 10:19:42 +00:00
Jonathan Esk-Riddell fcaf8cf95d Update PROJECT_VERSION_MAJOR to 6, this is mostly used in some internal soversions 2023-11-01 19:22:21 +00:00
Wang Zichong 1573a89aac Skip empty parts for stringToEnum template
metaEnum.keyToValue("") will results all flags get set, thus creating a
enum with empty (0) flags become impossible. This patch fixes that.
2023-09-26 17:25:20 +08:00
Vlad Zahorodnii 721c0ae334 Remove an inappropriate log message 2023-09-06 14:52:55 +03:00
Aleix Pol Gonzalez 143fd1755a Expose the Window interface to QML
If we are designing our UI's windows from QML, it makes sense that we
might want to configure how they're placed from the same place.

Everything was already in place but for a few technical bits which this
change adds.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2023-07-13 11:23:01 +02:00
Laurent Montel d6aeaef1dc We use Qt6/kf6 only 2023-06-26 20:42:27 +02:00
Laurent Montel c97826ab18 It compiles fine without deprecated methods 2023-06-12 14:00:48 +02:00
Laurent Montel 3bfed84c45 Now we depend against qt6 2023-06-08 19:17:22 +02:00
Laurent Montel 4cb2a27a4c Use qt6 only 2023-06-04 09:17:37 +02:00
Vlad Zahorodnii 9750fd8be7 Avoid emitting excessive changed signals
If the layer shell surface properties don't change, don't emit the
changed signals and issue wayland requests.
2023-05-17 14:57:09 +03:00
Vlad Zahorodnii 5e88f449b0 Introduce Window::closeOnDismissed() flag
This can be used to control the sending of QEvent::Close event.
2023-05-16 17:58:48 +03:00
Vlad Zahorodnii 497d50c4df Emit Window::layerChanged signal
Otherwise it's not possible to change layers at runtime.
2023-05-13 12:18:12 +03:00
Nicolas Fella 541497ff5f Add wayland to third-party deps 2023-05-05 10:22:39 +02:00
David Edmundson 1358743441 Call LayerShell::set_size when the window geometry changes
Without this when krunner expands, the frame after kwin will resize it
back to the last size the layer shell requested to be resized to.

To detect when we should not send an explicit size on window resize
events we check the anchors; if we're constrained on opposing edges we
want the compositor alone to set the size.
2023-05-01 14:38:36 +00:00
David Redondo be63783888 Change default keyboard interactivity from exclusive to none
To be in line with the default of the protocol
2023-04-27 12:28:02 +02:00
shooting Star 87753746b9 chore: add missing override in example 2023-04-24 23:23:09 +03:00
Fabian Vogt 49f31bb22d Replace Window::desiredOutput with a Window::screenConfiguration enum
To not overlap with QWindow::screen too much, introduce an enum to make it
more clear what the options and the resulting behaviour are.
2023-04-24 20:11:13 +00:00
Vlad Zahorodnii 511b92f4ab Port to QWaylandShellSurface::attachPopup() 2023-04-22 12:11:04 +03:00
Vlad Zahorodnii fdab1544fb Add a (temporary) way to attach popups to layer surfaces
The new API is temporary. It's needed to help us with porting plasma to
the layer shell protocol until Qt 6.6 is released, which includes
QWaylandShellSurface::attachPopup().
2023-04-22 12:11:04 +03:00
Vlad Zahorodnii 2985398375 Port to QWaylandWindow::setShellIntegration()
With QWaylandWindow::setShellIntegration(), it's possible to use
xdg-shell and layer-shell protocols in the same process. It's important
for plasmashell, where we want to use the layer shell protocol for
special surfaces such as the desktop background, and the xdg shell
protocol for dialogs.

In order to make a QWindow use the layer shell protocol, you need to
call LayerShellQt::Window::get() before the window is mapped.
2023-04-22 12:11:01 +03:00
Nicolas Fella 07e63cab8c Require C++20 2023-04-20 08:45:39 +02:00
Nicolas Fella 488c6d759c Replace KF5 with KF6 2023-02-28 15:05:58 +01:00
Nicolas Fella d69a528b6c Require Qt 6.4 2023-02-28 15:05:34 +01:00
Nicolas Fella cfbfe94e79 Use KF6 libs on CI 2023-02-28 15:05:15 +01:00
Nicolas Fella 2b757f3d82 Remove Qt5 CI 2023-02-28 15:05:03 +01:00
Fabian Vogt 3c85e2e889 Use the QScreen of the QWindow as default output
If the Window::setDesiredOutput API was not called for the QWindow, use
QWindow::screen(). This allows assigning QWindows to specific screens using
the plain Qt API.

Passing nullptr to Window::setDesiredOutput explicitly results in nil as
desired output for the layer, which lets the compositor select a screen.
2023-02-22 08:23:17 +01:00
Jonathan Esk-Riddell b9f8f6447d Update version number for 5.27.80
GIT_SILENT
2023-01-27 14:56:01 +00:00
David Redondo 7de801802b Revert "Show all headers in qtc6"
There was no consensus for this in Plasma.
This reverts commit 22df3fe914.
2023-01-24 08:49:43 +01:00