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>