WindowObject QML Type

A client window surface. More...

Import Statement: import QtApplicationManager.SystemUI 2.0




Detailed Description

A WindowObject represents a window from a client application. Each visible ApplicationManagerWindow on the application side will be reflected by a corresponding WindowObject on the server, System-UI, side.

To render a WindowObject inside your System-UI you have to assign it to a WindowItem.

See also WindowItem.

Property Documentation

[read-only] application : ApplicationObject

This property holds the application that created this window.

[read-only] contentState : enumeration

This property holds the state of the content of this window. A window may be backed up by a surface and that surface may have content or not.

  • WindowObject.SurfaceWithContent - The window is backed by a surface and that surface has content. This is the initial state.
  • WindowObject.SurfaceNoContent - The window is backed by a surface but that surface presently has no content. It may get content again, in which case the state goes back to WindowObject::SurfaceWithContent, or it may be followed by a state change to WindowObject::NoSurface.
  • WindowObject.NoSurface - The window doesn't have a surface anymore. This is an end state. After displaying the appropriate animations (if any), System UI should ensure that there's no WindowItem instance left pointing to this Window (by either destroying them or resetting their WindowItem::window properties) in order to free up resources associated with it.

Returns true if this window is a native popup to the windowing system or false otherwise. Currently, only popups created through Wayland's xdg-shell extension are recognized as native.

requestedPopupPosition : point

The position of the native popup as requested by the client; corresponds to QWaylandXdgPopup::configuredGeometry.

Currently, only popups created through Wayland's xdg-shell extension are recognized as native. In all other cases this property returns a null point.

See also popup.

[read-only] size : QSize

The size of the window surface, in pixels

See also WindowObject::resize.

[read-only] waylandSurface : WaylandSurface

This property exists only when running in multi-process mode. Enables you to access the underlying WaylandSurface of this window, if any. It will be null in case WindowObject::contentState is WindowObject.NoSurface.

Naturally you should avoid using this property in code that should work in both single and multi-process modes.

Signal Documentation

windowPropertyChanged(name, var value)

Notifies that the window property with name has a new value. Window property changes can be caused either by the System-UI (via WindowObject::setWindowProperty) or by the application that created that window (via ApplicationManagerWindow::setWindowProperty).

See also setWindowProperty.

Method Documentation


Sends a close event to the WindowObject.

See also Window::close().

var resize(size)

Resizes the WindowObject to the given size, in pixels. Usually you don't have to call this yourself as WindowItem takes care of it by default.

See also WindowObject::size and WindowItem::objectFollowsItemSize.

bool setWindowProperty(name, var value)

Sets the application window's shared property identified by name to the given value. Returns true when successful.

These properties are shared between the System-UI and the client application: in single-process mode simply via a QVariantMap; in multi-process mode the sharing is done via Qt's extended surface Wayland extension. Changes from the client side are notified by the windowPropertyChanged() signal.

See ApplicationManagerWindow for the client side API.

See also windowProperty(), windowProperties(), and windowPropertyChanged().

var windowProperties()

Returns an object containing all shared properties of the application window.

See also setWindowProperty().

var windowProperty(name)

Returns the value of the application window's shared property identified by name.

See also setWindowProperty().

© 2019 Luxoft Sweden AB. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.