| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The shell extension is not much used anymore, and needs a lot of hacks to
build. It should eventually be removed to ease maintenance.
[ChangeLog][Compositor API] xdg-shell unstable v5 is now deprecated.
Existing applications should migrate to v6.
Change-Id: Ic77ff8e6183c20271a5298952f47ab2789cfab89
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
States are not visible in WAYLAND_DEBUG output since array values are not
printed there. Logging the states to the Wayland QPA logging category gives us
a convenient way of seeing what states are configured.
Change-Id: If71c6df3180eba3f8efb08135a67b417940c3ffe
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Could happen if events were received before the default seat had been
initialized
Change-Id: I09d97a4b747b75b5c580386f7e0d45715274ed8b
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Encapsulate what the scanner needs of functions and state into a class,
Scanner, instead of keeping everything in the global namespace.
Change-Id: Idd4b412bb7f709f24c86abe82b135c09b7985878
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I561e2af0cdc812ea4f499525b4af0a4ab7ad8182
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I7947816edbfef4e07d488d25122cfd9a969436db
|
| |
| |
| |
| |
| | |
Change-Id: I0baf542f89274f48bf7d02121a07d64f0f3a001b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
XdgOutput is an extension of wl_output with the benefit of having the
logical size of a screen as an explicit parameter, instead of clients
inferring it from modeSize / scale. This is useful as it allows
compositors to implement fractional scaling whilst clients can still
fill the screen.
In the future XdgOutputV2 will support a more useful name and ID that
we can use.
[ChangeLog][QPA plugin] Added support for xdg-output-unstable-v1
Change-Id: I2e1e64ad6cb497a1cbb7b7b170f28ac92231c2c4
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I4c25009c207ab36219976e75343a9b6398d3a42d
|
| |
| |
| |
| |
| |
| |
| |
| | |
The logging category is exported, so the name should be
specific.
Change-Id: Iffdc89875ef9e3091009780edc614fee10c05532
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a naming conflict between the client buffer integration, wayland-egl,
and the system library libwayland-egl.so
Rename the plugin binary to qt-plugin-wayland-egl to avoid the issue.
This commit appends commit 83db09bd0acaafb256880e3a217ed9df0641a00a
which did the same for the client plugin
Task-number: QTBUG-65652
Change-Id: I245192a9f844945200209cc2e3a9f419c541d33b
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Compositors that only update damaged regions would show the old content of the
decorations.
[ChangeLog][QPA plugin] Fixed the window decorations sometimes not updating on
some compositors.
Change-Id: I75ab40e159bf165152a58e438dd7f70e7f9e9b22
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-68834
Change-Id: Iced478d12b56fc360c0d824cf5876855d887f9a2
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylandxdgsurface.cpp
src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgsurfacev5.cpp
src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp
src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6_p.h
Done-with: Johan Klokkhammer Helsing <johan.helsing@qt.io>
Change-Id: Ia39be6254a95af1c4efa831358cc06a697da3423
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-68773
Change-Id: Ia00c2438ef7ce6be7dc7d05efbba3bc7f27fe62f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia2f708fc668a802f4468efd0765f36aab0944e10
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: Idd23894d256f83518f2cd25d7c13f5a09c7d577e
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I3d3cc001320febd64529f0997b88efd69303fa30
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Avoids protocol errors on Weston, gnome-shell and wlroots-based
compositors.
[ChangeLog][QPA Plugin] Fixed a protocol error that sometimes happened
when showing popups such as nested menus on xdg-shell unstable v6.
Task-number: QTBUG-67988
Change-Id: I037aec94fba3d177dd0392e5a216a604bc65ac4f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-68933
Change-Id: I02ba2e659d21923934dab970af23856b45ff1570
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Addresses a corner case where the toplevel surface is initially
shown maximized, then attempts to toggle down to normal windowed
state. The compositor's bookkeeping had been mistakenly sending the
default-constructed -1x-1 QSize rather than realizing that that a 0x0
configure event should be emitted to signify that the client should
choose pick an appropriate size.
[ChangeLog][Compositor] Fixed an edge case in moving an initially-
maximized XdgShellV6 surface to windowed mode.
Change-Id: I5cc0f501573960b9298da4e002e9569c4cb5e64e
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QWaylandInputDevice::setCursor(wl_buffer, QPoint, QSize, bufferscale) assumes a
hotspot and a size in surface coordinates, while wl_cursor_image uses pixel
coordinates.
Divide by bufferScale to get the correct values.
This breaks hidpi cursors on kwin 5.13.1 and earlier, where buffer scale for
cursor surfaces are ignored.
Change-Id: I7c86bc541ccf5fb878facebbe93d2b1f842dfc5c
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This adds functionality to allow system-level control over handing out
file descriptors for sockets. In particular, it allows writing socket-
activated compositors.
[ChangeLog][Compositor] Added API for installing a socket on which bind()
and listen() have already been called into the event dispatch loop. This
facilitates socket-activated compositors.
Change-Id: I620f5ad0a3c3c5c4ecb937004230dcd024df8f69
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ChangeLog][QPA plugin] The window decorations have had a redesign,
they now use the window background color instead of the blue gradient.
Changes:
- Removed the gradient
- Used QPalette::Window for color instead of QPalette::Highlight
- Removed the xpm buttons as they look bad on high-dpi
- Redid the non-xpm buttons, removing their border
- Used anti-aliasing for cross icon (diagonal lines)
- Size of buttons have been increased, to be easier to click
- The position of the buttons have been shifted slightly
- Reduced rounding of the corners slightly
- Switched to non-bold and increased the font size for the window title
Task-number: QTBUG-68834
Change-Id: I17b2464c5e2518294d795512493bfe93e9a2f550
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This macro gives items the ability to hold children.
Use the new macro on various types to let compositors
declare children from QML.
Change-Id: I291cc69fc11653bc3d677d148e002330a3245173
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I90bec25232a0b856df18755ab7e576e80d7191ea
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
They use QtWaylandClient's private headers.
In file included from qwaylandinputdevice_p.h:1,
from qwaylandxdgshellv6.cpp:45:
qwaylandinputdevice_p.h:69:10: fatal error: xkbcommon/xkbcommon.h: No such file or directory
Change-Id: I6efb28c3145047559ec0fffd1538a642167da67f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
qwaylandxdgsurfacev5.cpp:77:97: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
Change-Id: I6efb28c3145047559ec0fffd1538a5ce04f2721b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ChangeLog][Compositor] Made the zxdg_shell_v6 compositor protocol
implementation re-issue configure requests with updated sizes when
the size or available geometry changes on an output used by a
maximized or fullscreen surface.
Change-Id: Ia446511f123e831b2d0a35ba202a6d092a841569
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To avoid them covering for the edges of the window
Change-Id: Id8a1362ec11bd25f54cb2c9fbcbd562af8f283d8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If a QWaylandOutput's QWindow is moved from one screen to another and that
causes the devicePixelRatio to change, it may result in a new pixel size,
but QWindow::width and height may stay unchanged (because they're not in pixel
coordinates). This is a problem because the sizeFollowsWindow functionality of
QWaylandOutput relied on the widthChanged and heightChanged signals, which are
then not fired, although the pixel size did change.
There's no QWindow::devicePixelRatioChanged signal we can attach to, so to fix
this, we attach to screenChanged instead and then compute the new pixelSize
using QWindow::devicePixelRatio() and call the handler if it changed.
This also removes some duplication between the old width and height handlers.
Change-Id: Ibcbf10489b83498b4a0fee2b520f528f94cb9ce3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This shouldn't change any behavior, but lets the shell integrations choose
if they want to use the extremely hacky QWaylandWindow::transientParent().
Hint: Not all shells need the hacks, and not all shells need them in all cases,
and some shells may need even more hacks.
Change-Id: Id105e4feb83cc9c14dcf07dcca55fcd5e63d4a2b
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The window title bar's height is given in device pixels, so the font
size should be as well.
Task-number: QTBUG-68834
Change-Id: I5a82deb39439088dd55152fb8bae5c2d19d8b33e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: When the cursor entered the window decorations,
QWaylandWindow::restoreMouseCursor would be called from the pointer
enter handler messing up the cursor from the decorations, making the
resize border seemingly hard to hit.
Don't restore the cursor unless inside the window contents.
[ChangeLog][QPA plugin] Fixed a bug where the arrow cursor would be
shown instead of the resize cursor when hovering over the window
decoration border.
Change-Id: I2fabd8d626deaa7006734a4d5c6d10d6c0114466
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I8cbe939352713f643474d383da95b6d13be798a8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ChangeLog][Compositor] Made the wl_shell compositor protocol
implementation re-issue configure requests with updated sizes
when the size or available geometry changes on output used by
a maximized or fullscreen surface.
Change-Id: I5a688afb315523281d6661e2d098423acfb1a297
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is patterned closely after the existing handling for
maximization.
[ChangeLog][Compositor] Added support for handling xdg-shell
v6 requests to enter/exit fullscreen mode.
Change-Id: I1f3127694d8537d76159b56350f35a4e8aa3e56d
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Commit 815206 fixed renderableType of wayland gl context, keep
for sanity also correct renderableType for surface. This is most likely
never used, but makes more sense to keep it in sync.
Change-Id: I8e8cae1feba20054aac94be246e449ccb0974240
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When creating gl context with egl pass reference format
[ChangeLog][QPA plugin] Fixed a bug where
QSurfaceFormat::renderableType() was ignored when creating an OpenGL
context.
Change-Id: Id7ae55413b8b515e344e9147345631186bef6d6c
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
refs/staging/dev
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
.qmake.conf
Change-Id: I6596d1a127cc93e53ec30cd881da1810cb8076d5
|
| | | |/
| | |/|
| | | |
| | | |
| | | | |
Change-Id: I98aadd5019e913bf0adcf0122b7b209981926278
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It will cause libwayland to terminate the application.
Task-number: QTBUG-68715
Change-Id: I1d1830453da224bec8bf4c5d6ab087c0e05328a8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since qtbase/9f27bfb3, users of QInternalMimeData should include
qinternalmimedata_p.h.
Change-Id: I531d5fa318f55497b955b03c7e25d51a6f87ba05
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic13d773da854aa5025222d3896f824deea0df279
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
It's just dead code, we can add it back in the unlikely event that we should
need it.
Change-Id: I209fe92fb160e022c992384d731964e774596f74
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The 'window' and 'sizeFollowsWindow' properties of QWaylandOutput
are exposed to QML. Therefore, it is undefined in what order the
setters for these properties will actually be called if given QML
markup such as:
WaylandOutput {
window: ...
sizeFollowsWindow: ...
}
Fix the sanity test so that the the class does not reject a sequence
performed by the QML runtime such as:
output->setSizeFollowsWindow(true);
output->setWindow(some-qml-window);
[ChangeLog][Compositor] Fixed an issue where the WaylandOutput.window
QML property had to be set before the WaylandOutput.sizeFollowsWindow
property.
Change-Id: I6b9a7dc85dc8954fb340000d5570ec55d5e7badf
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Eventhough, according to the protocol spec, it should work perfectly fine
without setting the geometry, gnome-shell 3.28.2 chokes on it and
applications get stuck in the upper right corner and can't be moved.
Qt seems to be the only toolkit left that doesn't set the window geometry, so
let's just do it the simple, though somewhat incorrect, way.
The downside of this patch, is that the unset window geometry used to include
subsurfaces that extended outside the parent surface, but here we just set it
to the frameGeometry of the window.
Task-number: QTBUG-68575
Change-Id: I8a9d029ff6d57bd33294658e3bfd69ff08cd38c1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] QT_WAYLAND_SHELL_INTEGRATION environment variable
now accepts a semicolon-separated list of shell integrations.
Change-Id: I91364f53ea584bfbd9693b5ea58df07226c3e2c6
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Initialize should return false if the ivi-application global is
not present. The previous code worked because ivi-shell was last
in the priority list. This may not always be the case if we add
more shells, or allow QT_WAYLAND_SHELL_INTEGRATION to be a list.
Change-Id: Iec4409db039b3ebe163264187f901af5d845e54d
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|