plasma_window_management protocol
org_kde_plasma_window_management interface version 15
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
show_desktop(state uint)
Tell the compositor to show/hide the desktop.
Arguments
| Name | Type | Description |
|---|---|---|
| state | uint | requested state |
get_window since version 0
get_window(id new_id[org_kde_plasma_window], internal_window_id uint)
Deprecated: use get_window_by_uuid
Arguments
| Name | Type | Description |
|---|---|---|
| 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
get_window_by_uuid(id new_id[org_kde_plasma_window], internal_window_uuid string)
Arguments
| Name | Type | Description |
|---|---|---|
| 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
show_desktop_changed(state uint)
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.
Arguments
| Name | Type | Description |
|---|---|---|
| state | uint | new state |
window since version 0
window(id uint)
This event will be sent immediately after a window is mapped.
Arguments
| Name | Type | Description |
|---|---|---|
| id | uint | Deprecated: internal window Id |
stacking_order_changed since version 11
stacking_order_changed(ids array)
This event will be sent when stacking order changed and on bind
Arguments
| Name | Type | Description |
|---|---|---|
| ids | array | internal windows id array |
stacking_order_uuid_changed since version 12
stacking_order_uuid_changed(uuids string)
This event will be sent when stacking order changed and on bind
Arguments
| Name | Type | Description |
|---|---|---|
| uuids | string | internal windows id ;-separated |
window_with_uuid since version 13
window_with_uuid(id uint, uuid string)
This event will be sent immediately after a window is mapped.
Arguments
| Name | Type | Description |
|---|---|---|
| id | uint | Deprecated: internal window Id |
| uuid | string | internal window uuid |
Enums
state since version 0
enum state {
active = 1 << 0,
minimized = 1 << 1,
maximized = 1 << 2,
fullscreen = 1 << 3,
keep_above = 1 << 4,
keep_below = 1 << 5,
on_all_desktops = 1 << 6,
demands_attention = 1 << 7,
closeable = 1 << 8,
minimizable = 1 << 9,
maximizable = 1 << 10,
fullscreenable = 1 << 11,
skiptaskbar = 1 << 12,
shadeable = 1 << 13,
shaded = 1 << 14,
movable = 1 << 15,
resizable = 1 << 16,
virtual_desktop_changeable = 1 << 17,
skipswitcher = 1 << 18,
}
Entries
| Name | Value | Description |
|---|---|---|
| active | 1 << 0 | |
| minimized | 1 << 1 | |
| maximized | 1 << 2 | |
| fullscreen | 1 << 3 | |
| keep_above | 1 << 4 | |
| keep_below | 1 << 5 | |
| on_all_desktops | 1 << 6 | |
| demands_attention | 1 << 7 | |
| closeable | 1 << 8 | |
| minimizable | 1 << 9 | |
| maximizable | 1 << 10 | |
| fullscreenable | 1 << 11 | |
| skiptaskbar | 1 << 12 | |
| shadeable | 1 << 13 | |
| shaded | 1 << 14 | |
| movable | 1 << 15 | |
| resizable | 1 << 16 | |
| virtual_desktop_changeable | 1 << 17 | |
| skipswitcher | 1 << 18 |
show_desktop since version 0
enum show_desktop {
disabled = 0,
enabled = 1,
}
Entries
| Name | Value | Description |
|---|---|---|
| disabled | 0 | |
| enabled | 1 |
org_kde_plasma_window interface version 15
Manages and control an application window. Only one client can bind this interface at a time.
Requests
set_state since version 0
set_state(flags uint, state uint)
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
| Name | Type | Description |
|---|---|---|
| flags | uint | bitfield of set state flags |
| state | uint | bitfield of state flags |
set_virtual_desktop since version 0
set_virtual_desktop(number uint)
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
| Name | Type | Description |
|---|---|---|
| number | uint | zero based virtual desktop number |
set_minimized_geometry since version 0
set_minimized_geometry(panel object[wl_surface], x uint, y uint, width uint, height uint)
Sets the geometry of the taskbar entry for this window. The geometry is relative to a panel in particular.
Arguments
| Name | Type | Description |
|---|---|---|
| panel | object[wl_surface] | |
| x | uint | |
| y | uint | |
| width | uint | |
| height | uint |
unset_minimized_geometry since version 0
unset_minimized_geometry(panel object[wl_surface])
Remove the task geometry information for a particular panel.
Arguments
| Name | Type | Description |
|---|---|---|
| panel | object[wl_surface] |
close since version 0
close()
Close this window.
request_move since version 3
request_move()
Request an interactive move for this window.
request_resize since version 3
request_resize()
Request an interactive resize for this window.
destroy (destructor) since version 4
~destroy()
Removes the resource bound for this org_kde_plasma_window.
get_icon since version 7
get_icon(fd fd)
The compositor will write the window icon into the provided file descriptor. The data is a serialized QIcon with QDataStream.
Arguments
| Name | Type | Description |
|---|---|---|
| fd | fd | file descriptor for the icon |
request_enter_virtual_desktop since version 8
request_enter_virtual_desktop(id string)
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
| Name | Type | Description |
|---|---|---|
| id | string | desktop id |
request_enter_new_virtual_desktop since version 8
request_enter_new_virtual_desktop()
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
request_leave_virtual_desktop(id string)
Make the window exit a virtual desktop. If it exits all desktops it will be considered on all of them.
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | desktop id |
request_enter_activity since version 14
request_enter_activity(id string)
Make the window enter an activity. A window can enter more activity. If the id is empty or invalid, no action will be performed.
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | activity id |
request_leave_activity since version 14
request_leave_activity(id string)
Make the window exit a an activity. If it exits all activities it will be considered on all of them.
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | activity id |
send_to_output since version 15
send_to_output(output object[wl_output])
Requests this window to be displayed in a specific output.
Arguments
| Name | Type | Description |
|---|---|---|
| output | object[wl_output] |
Events
title_changed since version 0
title_changed(title string)
This event will be sent as soon as the window title is changed.
Arguments
| Name | Type | Description |
|---|---|---|
| title | string | window title |
app_id_changed since version 0
app_id_changed(app_id string)
This event will be sent as soon as the application identifier is changed.
Arguments
| Name | Type | Description |
|---|---|---|
| app_id | string |
state_changed since version 0
state_changed(flags uint)
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.
Arguments
| Name | Type | Description |
|---|---|---|
| flags | uint | bitfield of state flags |
virtual_desktop_changed since version 0
virtual_desktop_changed(number int)
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.
Arguments
| Name | Type | Description |
|---|---|---|
| number | int | zero based virtual desktop number |
themed_icon_name_changed since version 0
themed_icon_name_changed(name string)
This event will be sent whenever the themed icon name changes. May be null.
Arguments
| Name | Type | Description |
|---|---|---|
| name | string | the new themed icon name |
unmapped since version 0
unmapped()
This event will be sent immediately after the window is closed and its surface is unmapped.
initial_state since version 4
initial_state()
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
parent_window(parent object[org_kde_plasma_window])
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.
Arguments
| Name | Type | Description |
|---|---|---|
| parent | object[org_kde_plasma_window] | The parent window |
geometry since version 6
geometry(x int, y int, width uint, height uint)
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.
Arguments
| Name | Type | Description |
|---|---|---|
| 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
icon_changed()
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
pid_changed(pid uint)
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.
Arguments
| Name | Type | Description |
|---|---|---|
| pid | uint | process id |
virtual_desktop_entered since version 8
virtual_desktop_entered(id string)
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.
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | desktop id |
virtual_desktop_left since version 8
virtual_desktop_left(is string)
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.
Arguments
| Name | Type | Description |
|---|---|---|
| is | string | desktop id |
application_menu since version 10
application_menu(service_name string, object_path string)
This event will be sent after the application menu for the window has changed.
Arguments
| Name | Type | Description |
|---|---|---|
| service_name | string | |
| object_path | string |
activity_entered since version 14
activity_entered(id string)
This event will be sent when the window has entered an activity. The window can be on more than one activity, or none: then is considered on all of them.
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | activity id |
activity_left since version 14
activity_left(id string)
This event will be sent when the window left an activity. If the window leaves all activities, it will be considered on all. If the window gets manually added on all activities, the server has to send activity_left for every previous activity it was in for the window to be really considered on all activities.
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | activity id |
org_kde_plasma_activation_feedback interface version 1
The activation manager interface provides a way to get notified when an application is about to be activated.
Requests
destroy (destructor) since version 0
~destroy()
Destroy the activation manager object. The activation objects introduced by this manager object will be unaffected.
Events
activation since version 0
activation(id new_id[org_kde_plasma_activation])
Will be issued when an app is set to be activated. It offers an instance of org_kde_plasma_activation that will tell us the app_id and the extent of the activation.
Arguments
| Name | Type | Description |
|---|---|---|
| id | new_id[org_kde_plasma_activation] |
org_kde_plasma_activation interface version 1
Requests
destroy (destructor) since version 0
~destroy()
Notify the compositor that the org_kde_plasma_activation object will no longer be used.
Events
app_id since version 0
app_id(app_id string)
Arguments
| Name | Type | Description |
|---|---|---|
| app_id | string | application id, as described in xdg_activation_v1 |
finished since version 0
finished()
SPDX-FileCopyrightText: 2013-2014 Pier Luigi Fiorini SPDX-License-Identifier: LGPL-2.1-or-later