summaryrefslogtreecommitdiffstats
path: root/examples/wayland/pure-qml/qml/main.qml
blob: 80faa80dd7854669c37fe74b8dcff240015e7835 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import QtWayland.Compositor
import QtWayland.Compositor.XdgShell
import QtWayland.Compositor.WlShell
import QtWayland.Compositor.IviApplication

WaylandCompositor {
    id: waylandCompositor

    CompositorScreen { id: screen; compositor: waylandCompositor }

    // ![shell extensions]
    // 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)
    }

    // Minimalistic shell extension. Mainly used for embedded applications.
    IviApplication {
        onIviSurfaceCreated: screen.handleShellSurface(iviSurface)
    }

    // Deprecated shell extension, still used by some clients
    WlShell {
        onWlShellSurfaceCreated: screen.handleShellSurface(shellSurface)
    }
    // ![shell extensions]

    // Extension for Input Method (QT_IM_MODULE) support at compositor-side
    // ![text input]
    TextInputManager {}
    QtTextInputMethodManager {}
    // ![text input]
}