KDE plasma window management
org_kde_plasma_window_management
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.
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.
show_desktop(state: uint)
Argument | Type | Description |
---|---|---|
state | uint | requested state |
Tell the compositor to show/hide the desktop.
get_window(id: new_id<org_kde_plasma_window>, internal_window_id: uint)
Argument | Type | Description |
---|---|---|
id | new_id<org_kde_plasma_window> | |
internal_window_id | uint | The internal window id of the window to create |
Deprecated: use get_window_by_uuid
get_window_by_uuid(id: new_id<org_kde_plasma_window>, internal_window_uuid: string)
Argument | Type | Description |
---|---|---|
id | new_id<org_kde_plasma_window> | |
internal_window_uuid | string | The internal window uuiid of the window to create |
get_stacking_order(stacking_order: new_id<org_kde_plasma_stacking_order>)
Argument | Type | Description |
---|---|---|
stacking_order | new_id<org_kde_plasma_stacking_order> |
show_desktop_changed(state: uint)
Argument | Type | Description |
---|---|---|
state | uint | new state |
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.
window(id: uint)
Argument | Type | Description |
---|---|---|
id | uint | Deprecated: internal window Id |
This event will be sent immediately after a window is mapped.
stacking_order_changed(ids: array)
Argument | Type | Description |
---|---|---|
ids | array | internal windows id array |
This event will be sent when stacking order changed and on bind.
With version 17 this event is deprecated and will no longer be sent.
stacking_order_uuid_changed(uuids: string)
Argument | Type | Description |
---|---|---|
uuids | string | internal windows id ;-separated |
This event will be sent when stacking order changed and on bind.
With version 17 this event is deprecated and will no longer be sent.
This event will be sent immediately after a window is mapped.
stacking_order_changed_2()
This event will be sent when stacking order changed.
state { active, minimized, maximized, fullscreen, keep_above, keep_below, on_all_desktops, demands_attention, closeable, minimizable, maximizable, fullscreenable, skiptaskbar, shadeable, shaded, movable, resizable, virtual_desktop_changeable, skipswitcher }
Argument | Value | Description |
---|---|---|
active | 0x1 | |
minimized | 0x2 | |
maximized | 0x4 | |
fullscreen | 0x8 | |
keep_above | 0x10 | |
keep_below | 0x20 | |
on_all_desktops | 0x40 | |
demands_attention | 0x80 | |
closeable | 0x100 | |
minimizable | 0x200 | |
maximizable | 0x400 | |
fullscreenable | 0x800 | |
skiptaskbarsince 2 | 0x1000 | |
shadeablesince 3 | 0x2000 | |
shadedsince 3 | 0x4000 | |
movablesince 3 | 0x8000 | |
resizablesince 3 | 0x10000 | |
virtual_desktop_changeablesince 3 | 0x20000 | |
skipswitchersince 9 | 0x40000 |
org_kde_plasma_window
Manages and control an application window.
Only one client can bind this interface at a time.
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
set_virtual_desktop(number: uint)
Argument | Type | Description |
---|---|---|
number | uint | zero based virtual desktop number |
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.
Sets the geometry of the taskbar entry for this window. The geometry is relative to a panel in particular.
unset_minimized_geometry(panel: object<wl_surface>)
Argument | Type | Description |
---|---|---|
panel | object<wl_surface> |
Remove the task geometry information for a particular panel.
request_move()
Request an interactive move for this window.
request_resize()
Request an interactive resize for this window.
destroy()
Removes the resource bound for this org_kde_plasma_window.
get_icon(fd: fd)
Argument | Type | Description |
---|---|---|
fd | fd | file descriptor for the icon |
The compositor will write the window icon into the provided file descriptor. The data is a serialized QIcon with QDataStream.
request_enter_virtual_desktop(id: string)
Argument | Type | Description |
---|---|---|
id | string | desktop id |
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.
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(id: string)
Argument | Type | Description |
---|---|---|
id | string | desktop id |
Make the window exit a virtual desktop. If it exits all desktops it will be considered on all of them.
request_enter_activity(id: string)
Argument | Type | Description |
---|---|---|
id | string | activity id |
Make the window enter an activity. A window can enter more activity. If the id is empty or invalid, no action will be performed.
request_leave_activity(id: string)
Argument | Type | Description |
---|---|---|
id | string | activity id |
Make the window exit a an activity. If it exits all activities it will be considered on all of them.
Requests this window to be displayed in a specific output.
title_changed(title: string)
Argument | Type | Description |
---|---|---|
title | string | window title |
This event will be sent as soon as the window title is changed.
app_id_changed(app_id: string)
Argument | Type | Description |
---|---|---|
app_id | string |
This event will be sent as soon as the application identifier is changed.
state_changed(flags: uint)
Argument | Type | Description |
---|---|---|
flags | uint | bitfield of state flags |
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.
virtual_desktop_changed(number: int)
Argument | Type | Description |
---|---|---|
number | int | zero based virtual desktop number |
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.
themed_icon_name_changed(name: string)
Argument | Type | Description |
---|---|---|
name | string | the new themed icon name |
This event will be sent whenever the themed icon name changes. May be null.
unmapped()
This event will be sent immediately after the window is closed and its surface is unmapped.
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(parent: object<org_kde_plasma_window>)
Argument | Type | Description |
---|---|---|
parent | object<org_kde_plasma_window>allow null | The parent 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.
Argument | 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 |
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.
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(pid: uint)
Argument | Type | Description |
---|---|---|
pid | uint | process id |
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.
virtual_desktop_entered(id: string)
Argument | Type | Description |
---|---|---|
id | string | desktop id |
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.
virtual_desktop_left(is: string)
Argument | Type | Description |
---|---|---|
is | string | desktop id |
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.
application_menu(service_name: string, object_path: string)
Argument | Type | Description |
---|---|---|
service_name | string | |
object_path | string |
This event will be sent after the application menu for the window has changed.
activity_entered(id: string)
Argument | Type | Description |
---|---|---|
id | string | activity id |
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.
activity_left(id: string)
Argument | Type | Description |
---|---|---|
id | string | activity id |
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.
resource_name_changed(resource_name: string)
Argument | Type | Description |
---|---|---|
resource_name | string | resource name |
This event will be sent when the X11 resource name of the window has changed. This is only set for XWayland windows.
Argument | 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 |
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.
org_kde_plasma_activation_feedback
The activation manager interface provides a way to get notified when an application is about to be activated.
destroy()
Destroy the activation manager object. The activation objects introduced by this manager object will be unaffected.
activation(id: new_id<org_kde_plasma_activation>)
Argument | Type | Description |
---|---|---|
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.
org_kde_plasma_activation
destroy()
Notify the compositor that the org_kde_plasma_activation object will no longer be used.
app_id(app_id: string)
Argument | Type | Description |
---|---|---|
app_id | string | application id, as described in xdg_activation_v1 |
finished()
org_kde_plasma_stacking_order
When this object is created, the compositor sends a window event for each window in the stacking order, and afterwards sends the done event and destroys this object.
Compositor Support
Copyright
SPDX-FileCopyrightText: 2013-2014 Pier Luigi Fiorini
SPDX-License-Identifier: LGPL-2.1-or-later