plasma_window_management protocol

org_kde_plasma_window_management interface version 13

This interface manages application windows. It provides requests to show and hide the desktop and emits an event every time a window is created so that the client can use it to manage the window. Only one client can bind this interface at a time.

Requests

show_desktop since version 0

Tell the compositor to show/hide the desktop.

Arguments
state (uint)

requested state


get_window since version 0

Deprecated: use get_window_by_uuid

Arguments
id (new_id) (org_kde_plasma_window)
internal_window_id (uint)

The internal window id of the window to create


get_window_by_uuid since version 12
Arguments
id (new_id) (org_kde_plasma_window)
internal_window_uuid (string)

The internal window uuiid of the window to create


Events

show_desktop_changed since version 0

This event will be sent whenever the show desktop mode changes. E.g. when it is entered or left. On binding the interface the current state is sent.

state (uint)

new state


window since version 0

This event will be sent immediately after a window is mapped.

id (uint)

Deprecated: internal window Id


stacking_order_changed since version 11

This event will be sent when stacking order changed and on bind

ids (array)

internal windows id array


stacking_order_uuid_changed since version 12

This event will be sent when stacking order changed and on bind

uuids (string)

internal windows id ;-separated


window_with_uuid since version 13

This event will be sent immediately after a window is mapped.

id (uint)

Deprecated: internal window Id

uuid (string)

internal window uuid


Enums

state since version 0
Entries
  • active (1 << 0) since version 0
  • minimized (1 << 1) since version 0
  • maximized (1 << 2) since version 0
  • fullscreen (1 << 3) since version 0
  • keep_above (1 << 4) since version 0
  • keep_below (1 << 5) since version 0
  • on_all_desktops (1 << 6) since version 0
  • demands_attention (1 << 7) since version 0
  • closeable (1 << 8) since version 0
  • minimizable (1 << 9) since version 0
  • maximizable (1 << 10) since version 0
  • fullscreenable (1 << 11) since version 0
  • skiptaskbar (1 << 12) since version 2
  • shadeable (1 << 13) since version 3
  • shaded (1 << 14) since version 3
  • movable (1 << 15) since version 3
  • resizable (1 << 16) since version 3
  • virtual_desktop_changeable (1 << 17) since version 3
  • skipswitcher (1 << 18) since version 9

show_desktop since version 0
Entries
  • disabled (0) since version 0
  • enabled (1) since version 0




org_kde_plasma_window interface version 13

Manages and control an application window. Only one client can bind this interface at a time.

Requests

set_state since version 0

Set window state. Values for state argument are described by org_kde_plasma_window_management.state and can be used together in a bitfield. The flags bitfield describes which flags are supposed to be set, the state bitfield the value for the set flags

Arguments
flags (uint)

bitfield of set state flags

state (uint)

bitfield of state flags


set_virtual_desktop since version 0

Deprecated: use enter_virtual_desktop Maps the window to a different virtual desktop. To show the window on all virtual desktops, call the org_kde_plasma_window.set_state request and specify a on_all_desktops state in the bitfield.

Arguments
number (uint)

zero based virtual desktop number


set_minimized_geometry since version 0

Sets the geometry of the taskbar entry for this window. The geometry is relative to a panel in particular.

Arguments
panel (object) (wl_surface)
x (uint)
y (uint)
width (uint)
height (uint)

unset_minimized_geometry since version 0

Remove the task geometry information for a particular panel.

Arguments
panel (object) (wl_surface)

close since version 0

Close this window.


request_move since version 3

Request an interactive move for this window.


request_resize since version 3

Request an interactive resize for this window.


destroy (destructor) since version 4

Removes the resource bound for this org_kde_plasma_window.


get_icon since version 7

The compositor will write the window icon into the provided file descriptor. The data is a serialized QIcon with QDataStream.

Arguments
fd (fd)

file descriptor for the icon


request_enter_virtual_desktop since version 8

Make the window enter a virtual desktop. A window can enter more than one virtual desktop. if the id is empty or invalid, no action will be performed.

Arguments
id (string)

desktop id


request_enter_new_virtual_desktop since version 8

RFC: do this with an empty id to request_enter_virtual_desktop? Make the window enter a new virtual desktop. If the server consents the request, it will create a new virtual desktop and assign the window to it.


request_leave_virtual_desktop since version 8

Make the window exit a virtual desktop. If it exits all desktops it will be considered on all of them.

Arguments
id (string)

desktop id


Events

title_changed since version 0

This event will be sent as soon as the window title is changed.

title (string)

window title


app_id_changed since version 0

This event will be sent as soon as the application identifier is changed.

app_id (string)

state_changed since version 0

This event will be sent as soon as the window state changes. Values for state argument are described by org_kde_plasma_window_management.state.

flags (uint)

bitfield of state flags


virtual_desktop_changed since version 0

DEPRECATED: use virtual_desktop_entered and virtual_desktop_left instead This event will be sent when a window is moved to another virtual desktop. It is not sent if it becomes visible on all virtual desktops though.

number (int)

zero based virtual desktop number


themed_icon_name_changed since version 0

This event will be sent whenever the themed icon name changes. May be null.

name (string)

the new themed icon name


unmapped since version 0

This event will be sent immediately after the window is closed and its surface is unmapped.


initial_state since version 4

This event will be sent immediately after all initial state been sent to the client. If the Plasma window is already unmapped, the unmapped event will be sent before the initial_state event.


parent_window since version 5

This event will be sent whenever the parent window of this org_kde_plasma_window changes. The passed parent is another org_kde_plasma_window and this org_kde_plasma_window is a transient window to the parent window. If the parent argument is null, this org_kde_plasma_window does not have a parent window.

parent (object) (org_kde_plasma_window)

The parent window


geometry since version 6

This event will be sent whenever the window geometry of this org_kde_plasma_window changes. The coordinates are in absolute coordinates of the windowing system.

x (int)

x position of the org_kde_plasma_window

y (int)

y position of the org_kde_plasma_window

width (uint)

width of the org_kde_plasma_window

height (uint)

height of the org_kde_plasma_window


icon_changed since version 7

This event will be sent whenever the icon of the window changes, but there is no themed icon name. Common examples are Xwayland windows which have a pixmap based icon. The client can request the icon using get_icon.


pid_changed since version 0

This event will be sent when the compositor has set the process id this window belongs to. This should be set once before the initial_state is sent.

pid (uint)

process id


virtual_desktop_entered since version 8

This event will be sent when the window has entered a new virtual desktop. The window can be on more than one desktop, or none: then is considered on all of them.

id (string)

desktop id


virtual_desktop_left since version 8

This event will be sent when the window left a virtual desktop. If the window leaves all desktops, it can be considered on all. If the window gets manually added on all desktops, the server has to send virtual_desktop_left for every previous desktop it was in for the window to be really considered on all desktops.

is (string)

desktop id


application_menu since version 10

This event will be sent after the application menu for the window has changed.

service_name (string)
object_path (string)




SPDX-FileCopyrightText: 2013-2014 Pier Luigi Fiorini SPDX-License-Identifier: LGPL-2.1-or-later