Warning, /libraries/plasma-wayland-protocols/src/protocols/kde-screen-edge-v1.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <protocol name="kde_screen_edge_v1">
0003   <copyright>
0004     SPDX-FileCopyrightText: 2023 Vlad Zahorodnii
0005 
0006     SPDX-License-Identifier: MIT-CMU
0007   </copyright>
0008 
0009   <interface name="kde_screen_edge_manager_v1" version="1">
0010     <description summary="screen edge manager">
0011       This interface allows clients to associate actions with screen edges. For
0012       example, showing a surface by moving the pointer to a screen edge.
0013 
0014       Potential ways to trigger the screen edge are subject to compositor
0015       policies. As an example, the compositor may consider the screen edge to be
0016       triggered if the pointer hits its associated screen border. Other ways may
0017       include using touchscreen or touchpad gestures.
0018     </description>
0019 
0020     <enum name="error">
0021       <entry name="invalid_border" value="0"
0022              summary="the specified border value is invalid"/>
0023       <entry name="invalid_role" value="1"
0024              summary="the surface has invalid role"/>
0025       <entry name="already_constructed" value="2"
0026              summary="the surface already has a screen edge"/>
0027     </enum>
0028 
0029     <request name="destroy" type="destructor">
0030       <description summary="destroy the screen edge manager">
0031         Destroy the screen edge manager. This doesn't destroy objects created
0032         with this manager.
0033       </description>
0034     </request>
0035 
0036     <enum name="border">
0037       <description summary="screen border">
0038         These values describe possible screen borders.
0039       </description>
0040       <entry name="top" value="1" summary="top screen edge"/>
0041       <entry name="bottom" value="2" summary="bottom screen edge"/>
0042       <entry name="left" value="3" summary="left screen edge"/>
0043       <entry name="right" value="4" summary="right screen edge"/>
0044     </enum>
0045 
0046     <request name="get_auto_hide_screen_edge">
0047       <description summary="create an auto hide edge">
0048         Create a new auto hide screen edge object associated with the specified
0049         surface and the border.
0050 
0051         Creating a kde_auto_hide_screen_edge_v1 object does not change the
0052         visibility of the surface. The kde_auto_hide_screen_edge_v1.activate
0053         request must be issued in order to hide the surface.
0054 
0055         The "border" argument must be a valid enum entry, otherwise the
0056         invalid_border protocol error is raised.
0057 
0058         The invalid_role protocol error will be raised if the specified surface
0059         does not have layer_surface role.
0060       </description>
0061       <arg name="id" type="new_id" interface="kde_auto_hide_screen_edge_v1"
0062            summary="the new screen edge"/>
0063       <arg name="border" type="uint" enum="border"
0064            summary="the associated screen border"/>
0065       <arg name="surface" type="object" interface="wl_surface"
0066            summary="the surface"/>
0067     </request>
0068   </interface>
0069 
0070   <interface name="kde_auto_hide_screen_edge_v1" version="1">
0071     <description summary="auto hide screen edge">
0072       The auto hide screen edge object allows to hide the surface and make it
0073       visible by triggering the screen edge. The screen edge is inactive and
0074       the surface is visible by default.
0075 
0076       This interface can be used to implement user interface elements such as
0077       auto-hide panels or docks.
0078 
0079       kde_auto_hide_screen_edge_v1.activate activates the screen edge and makes
0080       the surface hidden. The surface can be made visible by triggering the
0081       screen edge or calling kde_auto_hide_screen_edge_v1.deactivate.
0082 
0083       If the screen edge has been triggered, it won't be re-activated again.
0084       Another kde_auto_hide_screen_edge_v1.activate request must be made by the
0085       client to activate the screen edge.
0086     </description>
0087 
0088     <request name="destroy" type="destructor">
0089       <description summary="destroy the auto hide screen edge object">
0090         Destroy the auto hide screen edge object. If the screen edge is active,
0091         it will be deactivated and the surface will be made visible.
0092       </description>
0093     </request>
0094 
0095     <request name="deactivate">
0096       <description summary="deactivate the screen edge">
0097         Deactivate the screen edge. The surface will be made visible.
0098       </description>
0099     </request>
0100 
0101     <request name="activate">
0102       <description summary="activate the screen edge">
0103         Activate the screen edge. The surface will be hidden until the screen
0104         edge is triggered.
0105       </description>
0106     </request>
0107   </interface>
0108 </protocol>