Warning, /libraries/plasma-wayland-protocols/src/protocols/plasma-window-management.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <protocol name="plasma_window_management"> 0003 <copyright><![CDATA[ 0004 SPDX-FileCopyrightText: 2013-2014 Pier Luigi Fiorini 0005 0006 SPDX-License-Identifier: LGPL-2.1-or-later 0007 ]]></copyright> 0008 0009 <interface name="org_kde_plasma_window_management" version="16"> 0010 <description summary="application windows management"> 0011 This interface manages application windows. 0012 It provides requests to show and hide the desktop and emits 0013 an event every time a window is created so that the client can 0014 use it to manage the window. 0015 0016 Only one client can bind this interface at a time. 0017 </description> 0018 0019 <enum name="state"> 0020 <entry name="active" value="0x1"/> 0021 <entry name="minimized" value="0x2"/> 0022 <entry name="maximized" value="0x4"/> 0023 <entry name="fullscreen" value="0x8"/> 0024 <entry name="keep_above" value="0x10"/> 0025 <entry name="keep_below" value="0x20"/> 0026 <entry name="on_all_desktops" value="0x40"/> 0027 <entry name="demands_attention" value="0x80"/> 0028 <entry name="closeable" value="0x100"/> 0029 <entry name="minimizable" value="0x200"/> 0030 <entry name="maximizable" value="0x400"/> 0031 <entry name="fullscreenable" value="0x800"/> 0032 <entry name="skiptaskbar" value="0x1000" since="2"/> 0033 <entry name="shadeable" value="0x2000" since="3"/> 0034 <entry name="shaded" value="0x4000" since="3"/> 0035 <entry name="movable" value="0x8000" since="3"/> 0036 <entry name="resizable" value="0x10000" since="3"/> 0037 <entry name="virtual_desktop_changeable" value="0x20000" since="3"/> 0038 <entry name="skipswitcher" value="0x40000" since="9"/> 0039 </enum> 0040 0041 <enum name="show_desktop"> 0042 <entry name="disabled" value="0"/> 0043 <entry name="enabled" value="1"/> 0044 </enum> 0045 0046 <request name="show_desktop"> 0047 <description summary="show/hide the desktop"> 0048 Tell the compositor to show/hide the desktop. 0049 </description> 0050 <arg name="state" type="uint" summary="requested state"/> 0051 </request> 0052 0053 <request name="get_window"> 0054 <description summary="deprecated">Deprecated: use get_window_by_uuid</description> 0055 <arg name="id" type="new_id" interface="org_kde_plasma_window"/> 0056 <arg name="internal_window_id" type="uint" summary="The internal window id of the window to create"/> 0057 </request> 0058 0059 <request name="get_window_by_uuid" since="12"> 0060 <arg name="id" type="new_id" interface="org_kde_plasma_window"/> 0061 <arg name="internal_window_uuid" type="string" summary="The internal window uuiid of the window to create"/> 0062 </request> 0063 0064 <event name="show_desktop_changed"> 0065 <description summary="notify the client when the show desktop mode is entered/left"> 0066 This event will be sent whenever the show desktop mode changes. E.g. when it is entered 0067 or left. 0068 0069 On binding the interface the current state is sent. 0070 </description> 0071 <arg name="state" type="uint" summary="new state"/> 0072 </event> 0073 0074 <event name="window"> 0075 <description summary="notify the client that a window was mapped"> 0076 This event will be sent immediately after a window is mapped. 0077 </description> 0078 <arg name="id" type="uint" summary="Deprecated: internal window Id"/> 0079 </event> 0080 0081 <event name="stacking_order_changed" since="11"> 0082 <description summary="notify the client when stacking order changed"> 0083 This event will be sent when stacking order changed and on bind 0084 </description> 0085 <arg name="ids" type="array" summary="internal windows id array"/> 0086 </event> 0087 0088 <event name="stacking_order_uuid_changed" since="12"> 0089 <description summary="notify the client when stacking order changed"> 0090 This event will be sent when stacking order changed and on bind 0091 </description> 0092 <arg name="uuids" type="string" summary="internal windows id ;-separated"/> 0093 </event> 0094 0095 <event name="window_with_uuid" since="13"> 0096 <description summary="notify the client that a window was mapped"> 0097 This event will be sent immediately after a window is mapped. 0098 </description> 0099 <arg name="id" type="uint" summary="Deprecated: internal window Id"/> 0100 <arg name="uuid" type="string" summary="internal window uuid"/> 0101 </event> 0102 </interface> 0103 0104 <interface name="org_kde_plasma_window" version="16"> 0105 <description summary="interface to control application windows"> 0106 Manages and control an application window. 0107 0108 Only one client can bind this interface at a time. 0109 </description> 0110 0111 <request name="set_state"> 0112 <description summary="set window state"> 0113 Set window state. 0114 0115 Values for state argument are described by org_kde_plasma_window_management.state 0116 and can be used together in a bitfield. The flags bitfield describes which flags are 0117 supposed to be set, the state bitfield the value for the set flags 0118 </description> 0119 <arg name="flags" type="uint" summary="bitfield of set state flags"/> 0120 <arg name="state" type="uint" summary="bitfield of state flags"/> 0121 </request> 0122 0123 <request name="set_virtual_desktop"> 0124 <description summary="map window on a virtual desktop"> 0125 Deprecated: use enter_virtual_desktop 0126 Maps the window to a different virtual desktop. 0127 0128 To show the window on all virtual desktops, call the 0129 org_kde_plasma_window.set_state request and specify a on_all_desktops 0130 state in the bitfield. 0131 </description> 0132 <arg name="number" type="uint" summary="zero based virtual desktop number"/> 0133 </request> 0134 0135 <request name="set_minimized_geometry"> 0136 <description summary="set the geometry for a taskbar entry"> 0137 Sets the geometry of the taskbar entry for this window. 0138 The geometry is relative to a panel in particular. 0139 </description> 0140 <arg name="panel" type="object" interface="wl_surface"/> 0141 <arg name="x" type="uint"/> 0142 <arg name="y" type="uint"/> 0143 <arg name="width" type="uint"/> 0144 <arg name="height" type="uint"/> 0145 </request> 0146 0147 <request name="unset_minimized_geometry"> 0148 <description summary="set the geometry for a taskbar entry"> 0149 Remove the task geometry information for a particular panel. 0150 </description> 0151 <arg name="panel" type="object" interface="wl_surface"/> 0152 </request> 0153 0154 <!-- 0155 <request name="highlight"> 0156 <description summary="highlight the window"> 0157 Tell the compositor to highlight this window. 0158 </description> 0159 </request> 0160 --> 0161 0162 <request name="close"> 0163 <description summary="close window"> 0164 Close this window. 0165 </description> 0166 </request> 0167 0168 <request name="request_move" since="3"> 0169 <description summary="request move"> 0170 Request an interactive move for this window. 0171 </description> 0172 </request> 0173 0174 <request name="request_resize" since="3"> 0175 <description summary="request resize"> 0176 Request an interactive resize for this window. 0177 </description> 0178 </request> 0179 0180 <request name="destroy" type="destructor" since="4"> 0181 <description summary="remove resource for the org_kde_plasma_window"> 0182 Removes the resource bound for this org_kde_plasma_window. 0183 </description> 0184 </request> 0185 0186 <request name="get_icon" since="7"> 0187 <description summary="Requests to get the window icon"> 0188 The compositor will write the window icon into the provided file descriptor. 0189 The data is a serialized QIcon with QDataStream. 0190 </description> 0191 <arg name="fd" type="fd" summary="file descriptor for the icon"/> 0192 </request> 0193 0194 <event name="title_changed"> 0195 <description summary="window title has been changed"> 0196 This event will be sent as soon as the window title is changed. 0197 </description> 0198 <arg name="title" type="string" summary="window title"/> 0199 </event> 0200 0201 <event name="app_id_changed"> 0202 <description summary="application identifier has been changed"> 0203 This event will be sent as soon as the application 0204 identifier is changed. 0205 </description> 0206 <arg name="app_id" type="string"/> 0207 </event> 0208 0209 <event name="state_changed"> 0210 <description summary="window state has been changed"> 0211 This event will be sent as soon as the window state changes. 0212 0213 Values for state argument are described by org_kde_plasma_window_management.state. 0214 </description> 0215 <arg name="flags" type="uint" summary="bitfield of state flags"/> 0216 </event> 0217 0218 <event name="virtual_desktop_changed"> 0219 <description summary="window was moved to another workspace"> 0220 DEPRECATED: use virtual_desktop_entered and virtual_desktop_left instead 0221 This event will be sent when a window is moved to another 0222 virtual desktop. 0223 0224 It is not sent if it becomes visible on all virtual desktops though. 0225 </description> 0226 <arg name="number" type="int" summary="zero based virtual desktop number"/> 0227 </event> 0228 0229 <event name="themed_icon_name_changed"> 0230 <description summary="window's icon name changed"> 0231 This event will be sent whenever the themed icon name changes. May be null. 0232 </description> 0233 <arg name="name" type="string" summary="the new themed icon name"/> 0234 </event> 0235 0236 <event name="unmapped"> 0237 <description summary="window's surface was unmapped"> 0238 This event will be sent immediately after the window is closed 0239 and its surface is unmapped. 0240 </description> 0241 </event> 0242 0243 <event name="initial_state" since="4"> 0244 <description summary="All initial known state is submitted"> 0245 This event will be sent immediately after all initial state been sent to the client. 0246 If the Plasma window is already unmapped, the unmapped event will be sent before the 0247 initial_state event. 0248 </description> 0249 </event> 0250 0251 <event name="parent_window" since="5"> 0252 <description summary="The parent window changed"> 0253 This event will be sent whenever the parent window of this org_kde_plasma_window changes. 0254 The passed parent is another org_kde_plasma_window and this org_kde_plasma_window is a 0255 transient window to the parent window. If the parent argument is null, this 0256 org_kde_plasma_window does not have a parent window. 0257 </description> 0258 <arg name="parent" type="object" interface="org_kde_plasma_window" summary="The parent window" allow-null="true"/> 0259 </event> 0260 0261 <event name="geometry" since="6"> 0262 <description summary="The geometry of this window in absolute coordinates"> 0263 This event will be sent whenever the window geometry of this org_kde_plasma_window changes. 0264 The coordinates are in absolute coordinates of the windowing system. 0265 </description> 0266 <arg name="x" type="int" summary="x position of the org_kde_plasma_window"/> 0267 <arg name="y" type="int" summary="y position of the org_kde_plasma_window"/> 0268 <arg name="width" type="uint" summary="width of the org_kde_plasma_window"/> 0269 <arg name="height" type="uint" summary="height of the org_kde_plasma_window"/> 0270 </event> 0271 0272 <event name="icon_changed" since="7"> 0273 <description summary="The icon of the window changed"> 0274 This event will be sent whenever the icon of the window changes, but there is no themed 0275 icon name. Common examples are Xwayland windows which have a pixmap based icon. 0276 0277 The client can request the icon using get_icon. 0278 </description> 0279 </event> 0280 0281 <event name="pid_changed"> 0282 <description summary="process id of application owning the window has changed"> 0283 This event will be sent when the compositor has set the process id this window belongs to. 0284 This should be set once before the initial_state is sent. 0285 </description> 0286 <arg name="pid" type="uint" summary="process id"/> 0287 </event> 0288 0289 0290 0291 0292 <request name="request_enter_virtual_desktop" since="8"> 0293 <description summary="map window on a virtual desktop"> 0294 Make the window enter a virtual desktop. A window can enter more 0295 than one virtual desktop. if the id is empty or invalid, no action will be performed. 0296 </description> 0297 <arg name="id" type="string" summary="desktop id"/> 0298 </request> 0299 0300 <request name="request_enter_new_virtual_desktop" since="8"> 0301 <description summary="map window on a virtual desktop">RFC: do this with an empty id to request_enter_virtual_desktop? 0302 Make the window enter a new virtual desktop. If the server consents the request, 0303 it will create a new virtual desktop and assign the window to it. 0304 </description> 0305 </request> 0306 0307 <request name="request_leave_virtual_desktop" since="8"> 0308 <description summary="remove a window from a virtual desktop"> 0309 Make the window exit a virtual desktop. If it exits all desktops it will be considered on all of them. 0310 </description> 0311 <arg name="id" type="string" summary="desktop id"/> 0312 </request> 0313 0314 <event name="virtual_desktop_entered" since="8"> 0315 <description summary="the window entered a new virtual desktop"> 0316 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. 0317 </description> 0318 <arg name="id" type="string" summary="desktop id"/> 0319 </event> 0320 0321 <event name="virtual_desktop_left" since="8"> 0322 <description summary="the window left a virtual desktop"> 0323 This event will be sent when the window left a virtual desktop. If the window leaves all desktops, it can be considered on all. 0324 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. 0325 </description> 0326 <arg name="is" type="string" summary="desktop id"/> 0327 </event> 0328 0329 <!-- Version 10 additions --> 0330 0331 <event name="application_menu" since="10"> 0332 <description summary="notify the client that the current appmenu changed"> 0333 This event will be sent after the application menu 0334 for the window has changed. 0335 </description> 0336 <arg name="service_name" type="string" /> 0337 <arg name="object_path" type="string" /> 0338 </event> 0339 0340 <request name="request_enter_activity" since="14"> 0341 <description summary="map window on an activity"> 0342 Make the window enter an activity. A window can enter more activity. If the id is empty or invalid, no action will be performed. 0343 </description> 0344 <arg name="id" type="string" summary="activity id"/> 0345 </request> 0346 0347 <request name="request_leave_activity" since="14"> 0348 <description summary="remove a window from an activity"> 0349 Make the window exit a an activity. If it exits all activities it will be considered on all of them. 0350 </description> 0351 <arg name="id" type="string" summary="activity id"/> 0352 </request> 0353 0354 <event name="activity_entered" since="14"> 0355 <description summary="the window entered an activity"> 0356 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. 0357 </description> 0358 <arg name="id" type="string" summary="activity id"/> 0359 </event> 0360 0361 <event name="activity_left" since="14"> 0362 <description summary="the window left an activity"> 0363 This event will be sent when the window left an activity. If the window leaves all activities, it will be considered on all. 0364 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. 0365 </description> 0366 <arg name="id" type="string" summary="activity id"/> 0367 </event> 0368 0369 <request name="send_to_output" since="15"> 0370 <description summary="send window to specified output"> 0371 Requests this window to be displayed in a specific output. 0372 </description> 0373 <arg name="output" type="object" interface="wl_output"/> 0374 </request> 0375 0376 <event name="resource_name_changed" since="16"> 0377 <description summary="X11 resource name has changed"> 0378 This event will be sent when the X11 resource name of the window has changed. 0379 This is only set for XWayland windows. 0380 </description> 0381 <arg name="resource_name" type="string" summary="resource name"/> 0382 </event> 0383 </interface> 0384 0385 <interface name="org_kde_plasma_activation_feedback" version="1"> 0386 <description summary="activation feedback"> 0387 The activation manager interface provides a way to get notified 0388 when an application is about to be activated. 0389 </description> 0390 0391 <request name="destroy" type="destructor"> 0392 <description summary="destroy the activation manager object"> 0393 Destroy the activation manager object. The activation objects introduced 0394 by this manager object will be unaffected. 0395 </description> 0396 </request> 0397 0398 <event name="activation"> 0399 <description summary="notify that an app is starting"> 0400 Will be issued when an app is set to be activated. It offers 0401 an instance of org_kde_plasma_activation that will tell us the app_id 0402 and the extent of the activation. 0403 </description> 0404 <arg name="id" type="new_id" interface="org_kde_plasma_activation"/> 0405 </event> 0406 </interface> 0407 0408 <interface name="org_kde_plasma_activation" version="1"> 0409 <request name="destroy" type="destructor"> 0410 <description summary="destroy the org_kde_plasma_activation object"> 0411 Notify the compositor that the org_kde_plasma_activation object will no 0412 longer be used. 0413 </description> 0414 </request> 0415 0416 <event name="app_id"> 0417 <description summary="Offers the app_id"></description> 0418 <arg name="app_id" type="string" summary="application id, as described in xdg_activation_v1"/> 0419 </event> 0420 0421 <event name="finished"> 0422 <description summary="Notifies about activation finished, either by activation or because it got invalidated"></description> 0423 </event> 0424 </interface> 0425 </protocol>