wf-osk/proto/wayfire-shell-unstable-v2.xml

122 lines
4.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<protocol name="wayfire_shell_unstable_v2">
<interface name="zwf_shell_manager_v2" version="1">
<description summary="DE integration">
This protocol provides additional events and requests for special DE
clients like panels, docks, etc.
It is meant as an addition for protocols like wlr-layer-shell.
</description>
<request name="get_wf_output">
<description summary="Create a zwf_output_v2 for the given wl_output"/>
<arg name="output" type="object" interface="wl_output"/>
<arg name="id" type="new_id" interface="zwf_output_v2"/>
</request>
<request name="get_wf_surface">
<description summary="Create a zwf_surface_v2 for the given wl_surface"/>
<arg name="surface" type="object" interface="wl_surface"/>
<arg name="id" type="new_id" interface="zwf_surface_v2"/>
</request>
</interface>
<interface name="zwf_output_v2" version="1">
<description summary="A wrapper for wl_output">
Represents a single output.
Each output is managed independently from the others.
</description>
<event name="enter_fullscreen">
<description summary="A window was fullscreened">
Emitted when a window gets fullscreened on the given output. In this
mode, windows in the TOP layer are not visible.
There will be no two consecutive enter_fullscreen calls, i.e. if
fullscreen mode is entered it will be exited before going into this mode
again.
</description>
</event>
<event name="leave_fullscreen">
<description summary="A window was fullscreened">
Emitted when the output is no longer in fullscreen mode. Each
leave_fullscreen has a corresponding enter_fullscreen before it.
</description>
</event>
<request name="inhibit_output">
<description summary="Don't render the output">
Request the compositor to not render the output, so the output usually
is cleared to black color. To enable output rendering again, call
inhibit_output_done.
</description>
</request>
<request name="inhibit_output_done">
<description summary="Render the output">
Stop inhibiting the output. This must be called as many times as
inhibit_output was called to actually uninhibit rendering.
The inhibit/inhibit_done requests can be called multiple times, even
from different apps, so don't assume that a call to inhibit_done would
always mean actually starting the rendering process.
</description>
</request>
<enum name="hotspot_edge">
<entry name="top" value="1"/>
<entry name="bottom" value="2"/>
<entry name="left" value="4"/>
<entry name="right" value="8"/>
</enum>
<request name="create_hotspot">
<description summary="Create a hotspot on the output">
A hotspot on the output is an edge or a corner region of the
output where the mouse or touch point has been residing for a given
amount of time.
The hotspot can be used for example for autohiding panels, where the
panel is shown when the input hovers on the edge of the output for a
specific amount of time.
</description>
<arg name="hotspot" type="uint" summary="bitwise or of the edges the output"/>
<arg name="threshold" type="uint" summary="distance from the edge of the output"/>
<arg name="timeout" type="uint" summary="minimum time for the mouse to be in the hotspot"/>
<arg name="id" type="new_id" interface="zwf_hotspot_v2"/>
</request>
</interface>
<interface name="zwf_hotspot_v2" version="1">
<description summary="An edge of the output defined by 1 or 2 edges"/>
<event name="enter">
<description summary="Hotspot was triggered">
Means that the mouse and/or touch finger was inside the indicated
hotspot for the given amount of time.
Emitted at most once for each entry of the input inside the hotspot.
</description>
</event>
<event name="leave">
<description summary="Input left hotspot">
This event indicates that the mouse or touch point has left the hotspot
area.
Emitted only once after each enter.
</description>
</event>
</interface>
<interface name="zwf_surface_v2" version="1">
<description summary="A special surface"/>
<request name="interactive_move">
<description summary="Start an interactive move of the surface"/>
</request>
</interface>
</protocol>