init
This commit is contained in:
commit
1a50f2bf11
23 changed files with 13058 additions and 0 deletions
120
protocols/xx-foreign-toplevel-geometry-v1.xml
Normal file
120
protocols/xx-foreign-toplevel-geometry-v1.xml
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<protocol name="xx_foreign_toplevel_geometry_tracking_v1">
|
||||
<copyright>
|
||||
Copyright © 2026 outfoxxed
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this
|
||||
software and its documentation for any purpose is hereby granted
|
||||
without fee, provided that the above copyright notice appear in
|
||||
all copies and that both that copyright notice and this permission
|
||||
notice appear in supporting documentation, and that the name of
|
||||
the copyright holders not be used in advertising or publicity
|
||||
pertaining to distribution of the software without specific,
|
||||
written prior permission. The copyright holders make no
|
||||
representations about the suitability of this software for any
|
||||
purpose. It is provided "as is" without express or implied
|
||||
warranty.
|
||||
|
||||
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
||||
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
||||
THIS SOFTWARE.
|
||||
</copyright>
|
||||
|
||||
<description summary="protocol to track the geometry of foreign toplevels">
|
||||
This protocol allows clients to track the geometry of toplevels relative
|
||||
to all relevant outputs.
|
||||
|
||||
This protocol is privileged and should be limited to trusted clients.
|
||||
|
||||
The key words "must", "must not", "required", "shall", "shall not",
|
||||
"should", "should not", "recommended", "may", and "optional" in this
|
||||
document are to be interpreted as described in IETF RFC 2119.
|
||||
</description>
|
||||
|
||||
<interface name="xx_foreign_toplevel_geometry_tracking_manager_v1" version="1">
|
||||
<description summary="manager for foreign toplevel geometry trackers">
|
||||
This global can be used to create foreign toplevel geometry trackers.
|
||||
</description>
|
||||
|
||||
<request name="destroy" type="destructor">
|
||||
<description summary="destroy the manager">
|
||||
Destroy the manager. Any objects created by the manager are not affected.
|
||||
</description>
|
||||
</request>
|
||||
|
||||
<request name="get_geometry_tracker">
|
||||
<description summary="create a toplevel geometry tracker">
|
||||
Creates a toplevel geometry tracker for the given foreign toplevel handle.
|
||||
</description>
|
||||
|
||||
<arg name="tracker" type="new_id" interface="xx_foreign_toplevel_geometry_tracker_v1"/>
|
||||
<arg name="toplevel" type="object" interface="ext_foreign_toplevel_handle_v1"/>
|
||||
</request>
|
||||
</interface>
|
||||
|
||||
<interface name="xx_foreign_toplevel_geometry_tracker_v1" version="1">
|
||||
<description summary="tracks geometry of a foreign toplevel relative to outputs">
|
||||
This object tracks the geometry of a foreign toplevel relative to all outputs
|
||||
it is present on.
|
||||
|
||||
Upon creation, a set of 'geometry' events must be sent. Additional event sets
|
||||
should be sent whenever the toplevel is moved.
|
||||
</description>
|
||||
|
||||
<request name="destroy" type="destructor">
|
||||
<description summary="destroy the tracker object">
|
||||
This request destroys the geometry tracker object.
|
||||
</description>
|
||||
</request>
|
||||
|
||||
<event name="finished">
|
||||
<description summary="the compositor has finished with this tracker">
|
||||
This event indicates no more geometry events will be sent for this tracker.
|
||||
The client should destroy the tracker.
|
||||
</description>
|
||||
</event>
|
||||
|
||||
<event name="done">
|
||||
<description summary="end of a toplevel geometry event list">
|
||||
This event marks the end of a set of 'geometry' events for a toplevel.
|
||||
|
||||
The event set may be empty, indicating the toplevel is not present on
|
||||
any output.
|
||||
|
||||
Following this event, 'ext_foreign_toplevel_handle_v1.done' must be sent
|
||||
to allow toplevel geometry updates to be used atomically with other foreign
|
||||
toplevel state changes.
|
||||
</description>
|
||||
</event>
|
||||
|
||||
<event name="geometry">
|
||||
<description summary="monitor relative geometry has changed">
|
||||
This event reports the geometry of the toplevel relative to the output in the
|
||||
output's hardware coordinate space, as reported by 'wl_output.mode'. Geometry
|
||||
should not be clipped to the bounds of the output even if the output does not
|
||||
fully contain the toplevel.
|
||||
|
||||
Clients may use the logical coordinate information reported by `xdg_output`
|
||||
to derive a global position for a toplevel.
|
||||
|
||||
One event may be sent for each output the toplevel is present on, followed by
|
||||
a single 'done' event.
|
||||
|
||||
A series of geometry events should be resent whenever the toplevel is moved,
|
||||
followed by a 'done' event.
|
||||
</description>
|
||||
|
||||
<arg name="output" type="uint" summary="global id of the output"/>
|
||||
<arg name="x" type="int" summary="x coordinate in the output's hardware coordinate space"/>
|
||||
<arg name="y" type="int" summary="y coordinate in the output's hardware coordinate space"/>
|
||||
<arg name="width" type="uint" summary="width in the output's hardware coordinate space"/>
|
||||
<arg name="height" type="uint" summary="height in the output's hardware coordinate space"/>
|
||||
</event>
|
||||
</interface>
|
||||
</protocol>
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue