summaryrefslogtreecommitdiff
path: root/examples/wayland
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2018-08-07 13:53:34 +0200
committerJohan Helsing <johan.helsing@qt.io>2018-08-15 08:47:50 +0000
commit992cde48d72435052514845b8add8d0dc880ccb2 (patch)
treef5768d4621f2286aea5e10b088cc337cfe6aacd9 /examples/wayland
parent4d0ae358dd646c369829bb38c099eb47bd04db4a (diff)
downloadqtwayland-992cde48d72435052514845b8add8d0dc880ccb2.tar.gz
Compositor API: Add xdg-shell stable
[ChangeLog][Compositor API] Added APIs for xdg-shell stable. Code copied from the V6 implementation with suffixes and prefixes removed. Otherwise a few minor edits, such as renaming xdg_shell to xdg_wm_base, and handling the anchor and gravity edges no longer being bitfields. Examples that used v6 have been updated to use stable instead, or, in some cases, to support both. Task-number: QTBUG-66784 Change-Id: Ia619b478a938fdcd9b47af8a8df2d7fcc4406204 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'examples/wayland')
-rw-r--r--examples/wayland/hwlayer-compositor/main.qml5
-rw-r--r--examples/wayland/minimal-qml/main.qml8
-rw-r--r--examples/wayland/multi-screen/qml/main.qml6
-rw-r--r--examples/wayland/overview-compositor/main.qml4
-rw-r--r--examples/wayland/pure-qml/qml/main.qml7
-rw-r--r--examples/wayland/spanning-screens/main.qml4
6 files changed, 24 insertions, 10 deletions
diff --git a/examples/wayland/hwlayer-compositor/main.qml b/examples/wayland/hwlayer-compositor/main.qml
index 2f6a5f0d..b4f088c9 100644
--- a/examples/wayland/hwlayer-compositor/main.qml
+++ b/examples/wayland/hwlayer-compositor/main.qml
@@ -51,7 +51,7 @@
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
-import QtWayland.Compositor 1.2
+import QtWayland.Compositor 1.3
WaylandCompositor {
WaylandOutput {
@@ -155,6 +155,7 @@ WaylandCompositor {
function addShellSurface(shellSurface) {
shellSurfaces.append({shSurface: shellSurface, animatePosition: false, animateOpacity: false, level: 0});
}
- WlShell { onWlShellSurfaceCreated: addShellSurface(shellSurface) }
+ XdgShell { onToplevelCreated: addShellSurface(xdgSurface) }
XdgShellV6 { onToplevelCreated: addShellSurface(xdgSurface) }
+ WlShell { onWlShellSurfaceCreated: addShellSurface(shellSurface) }
}
diff --git a/examples/wayland/minimal-qml/main.qml b/examples/wayland/minimal-qml/main.qml
index 85c8c578..63ed9da5 100644
--- a/examples/wayland/minimal-qml/main.qml
+++ b/examples/wayland/minimal-qml/main.qml
@@ -50,7 +50,7 @@
import QtQuick 2.6
import QtQuick.Window 2.2
-import QtWayland.Compositor 1.1
+import QtWayland.Compositor 1.3
WaylandCompositor {
// The output defines the screen.
@@ -75,7 +75,7 @@ WaylandCompositor {
}
}
// Extensions are additions to the core Wayland
- // protocol. We choose to support two different
+ // protocol. We choose to support three different
// shells (window management protocols). When the
// client creates a new shell surface (i.e. a window)
// we append it to our list of shellSurfaces.
@@ -87,5 +87,9 @@ WaylandCompositor {
onToplevelCreated:
shellSurfaces.append({shellSurface: xdgSurface});
}
+ XdgShell {
+ onToplevelCreated:
+ shellSurfaces.append({shellSurface: xdgSurface});
+ }
ListModel { id: shellSurfaces }
}
diff --git a/examples/wayland/multi-screen/qml/main.qml b/examples/wayland/multi-screen/qml/main.qml
index 354dd1c9..ecd32739 100644
--- a/examples/wayland/multi-screen/qml/main.qml
+++ b/examples/wayland/multi-screen/qml/main.qml
@@ -52,7 +52,7 @@
import QtQml 2.2
import QtQuick 2.0
import QtQuick.Window 2.3 as Window
-import QtWayland.Compositor 1.1
+import QtWayland.Compositor 1.3
import QtQml.Models 2.1
WaylandCompositor {
@@ -104,6 +104,10 @@ WaylandCompositor {
onToplevelCreated: handleShellSurfaceCreated(xdgSurface)
}
+ XdgShell {
+ onToplevelCreated: handleShellSurfaceCreated(xdgSurface)
+ }
+
function createShellSurfaceItem(shellSurface, moveItem, output) {
var parentSurfaceItem = output.viewsBySurface[shellSurface.parentSurface];
var parent = parentSurfaceItem || output.surfaceArea;
diff --git a/examples/wayland/overview-compositor/main.qml b/examples/wayland/overview-compositor/main.qml
index 18589e50..d0482a90 100644
--- a/examples/wayland/overview-compositor/main.qml
+++ b/examples/wayland/overview-compositor/main.qml
@@ -49,7 +49,7 @@
****************************************************************************/
import QtQuick 2.7
-import QtWayland.Compositor 1.1
+import QtWayland.Compositor 1.3
import QtQuick.Window 2.3
import QtQuick.Controls 2.0
@@ -132,7 +132,7 @@ WaylandCompositor {
ListModel { id: toplevels }
- XdgShellV6 {
+ XdgShell {
onToplevelCreated: {
toplevels.append({xdgSurface});
toplevel.sendFullscreen(Qt.size(win.pixelWidth, win.pixelHeight));
diff --git a/examples/wayland/pure-qml/qml/main.qml b/examples/wayland/pure-qml/qml/main.qml
index b188ebbb..69be7cf1 100644
--- a/examples/wayland/pure-qml/qml/main.qml
+++ b/examples/wayland/pure-qml/qml/main.qml
@@ -49,7 +49,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtWayland.Compositor 1.1
+import QtWayland.Compositor 1.3
WaylandCompositor {
id: waylandCompositor
@@ -58,6 +58,11 @@ WaylandCompositor {
// Shell surface extension. Needed to provide a window concept for Wayland clients.
// I.e. requests and events for maximization, minimization, resizing, closing etc.
+ XdgShell {
+ onToplevelCreated: screen.handleShellSurface(xdgSurface)
+ }
+
+ // Unstable version of xdg-shell still used by some clients
XdgShellV6 {
onToplevelCreated: screen.handleShellSurface(xdgSurface)
}
diff --git a/examples/wayland/spanning-screens/main.qml b/examples/wayland/spanning-screens/main.qml
index a3230806..ab57306b 100644
--- a/examples/wayland/spanning-screens/main.qml
+++ b/examples/wayland/spanning-screens/main.qml
@@ -50,7 +50,7 @@
import QtQuick 2.6
import QtQuick.Window 2.3
-import QtWayland.Compositor 1.1
+import QtWayland.Compositor 1.3
WaylandCompositor {
WaylandOutput {
@@ -105,7 +105,7 @@ WaylandCompositor {
}
}
- XdgShellV6 {
+ XdgShell {
onToplevelCreated: {
const shellSurface = xdgSurface;