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