get_virtual_desktop(id: new_id<org_kde_plasma_virtual_desktop>, desktop_id: string)
Argument
Type
Description
idnew_id<org_kde_plasma_virtual_desktop>
desktop_idstring
Unique id of the desktop
get the org_kde_plasma_virtual_desktop interface for a desktop

Given the id of a particular virtual desktop, get the corresponding org_kde_plasma_virtual_desktop which represents only the desktop with that id.

Warning! The protocol described in this file is a desktop environment implementation detail. Regular clients must not use this protocol. Backward incompatible changes may be added without bumping the major version of the extension.

request_create_virtual_desktop(name: string, position: uint)
Argument
Type
Description
namestring
The user readable name we want for the desktop
positionuint
The position we want for the desktop
ask for the creation of a new desktop at a specified position

Ask the server to create a new virtual desktop, and position it at a specified position. If the position is zero or less, it will be positioned at the beginning, if the position is the count or more, it will be positioned at the end.

request_remove_virtual_desktop(desktop_id: string)
Argument
Type
Description
desktop_idstring
Unique id of the desktop
ask for a desktop removal identified by id

Ask the server to get rid of a virtual desktop, the server may or may not acconsent to the request.

desktop_created(desktop_id: string, position: uint)
Argument
Type
Description
desktop_idstring
Unique id of the desktop
positionuint
Position of this desktop, to ensure the client and the server will see desktops in the same order
Emitted when a new desktop has been created
desktop_removed(desktop_id: string)
Argument
Type
Description
desktop_idstring
Unique id of the desktop
Emitted when a desktop has been removed
done()
sent all information about desktops

This event is sent after all other properties have been sent after binding to the desktop manager global and after all changes to org_kde_plasma_virtual_desktop_management and org_kde_plasma_virtual_desktop properties have been sent.

This allows changes to org_kde_plasma_virtual_desktop_management and org_kde_plasma_virtual_desktop properties to be seen as atomic, even if they happen via multiple events.

rows(rows: uint)
Argument
Type
Description
rowsuint
Number of rows the virtual desktops are laid out into.


request_activate()
Requests this desktop to be activated

Request the server to set the status of this desktop to active: The server is free to consent or deny the request. This will be the new "current" virtual desktop of the system.

desktop_id(desktop_id: string)
Argument
Type
Description
desktop_idstring
Unique id of the desktop
The desktop got an id

The format of the id is decided by the compositor implementation. A desktop id univocally identifies a virtual desktop and must be guaranteed to never exist two desktops with the same id. The format of the string id is up to the server implementation.

name(name: string)
Argument
Type
Description
namestring
User readable descriptive name for the desktop
activated()
The desktop has been activated

The desktop will be the new "current" desktop of the system. The server may support either one virtual desktop active at a time, or other combinations such as one virtual desktop active per screen. Windows associated to this virtual desktop will be shown.

deactivated()
This desktop is no longer active

Windows that were associated only to this desktop will be hidden.

done()
sent all information about desktops

This event is sent after all other properties has been sent after binding to the desktop object and after any other property changes done after that. This allows changes to the org_kde_plasma_virtual_desktop properties to be seen as atomic, even if they happen via multiple events.

removed()
This desktop has been removed

This virtual desktop has just been removed by the server: All windows will lose the association to this desktop.

position(index: uint)
Argument
Type
Description
indexuint
virtual desktop position
virtual desktop position

The position of the virtual desktop in the desktop list. The virtual desktop position is in the [0, N - 1] range, where N is the number of virtual desktops.


Compositor Support

Cage
Cage
0.2.0
COSMIC
COSMIC
1.0.0~beta.8
GameScope
GameScope
3.15.14
Hyprland
Hyprland
0.52.1
Jay
1.11.0
KWin
KWin
6.4
Labwc
Labwc
0.9.2
Louvre
Louvre
2.14.1
Mir
Mir
2.19
Muffin
Muffin
6.4.1
Mutter
Mutter
49.2
niri
niri
25.11
river
river
0.3.13
Sway
Sway
1.11
Treeland
Treeland
0.8.0
Wayfire
Wayfire
0.9.0
Weston
Weston
14.0.2
org_kde_plasma_virtual_desktop_management
x
x
x
x
x
2
x
x
x
x
x
x
x
x
x
x
x

SPDX-FileCopyrightText: 2018 Marco Martin

SPDX-License-Identifier: LGPL-2.1-or-later