Skip to content

Commit 6482071

Browse files
committed
include xdg-toplevel-tag protocol as private
until we have more recent wayland-protocols version in Mint
1 parent cff0984 commit 6482071

2 files changed

Lines changed: 86 additions & 1 deletion

File tree

src/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ if have_wayland
816816
['xdg-foreign', 'unstable', 'v2', ],
817817
['xdg-output', 'unstable', 'v1', ],
818818
['xdg-shell', 'stable', ],
819-
['xdg-toplevel-tag', 'staging', 'v1', ],
819+
['xdg-toplevel-tag-v1', 'private', ],
820820
['xwayland-keyboard-grab', 'unstable', 'v1', ],
821821
]
822822
if have_wayland_eglstream
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<protocol name="xdg_toplevel_tag_v1">
3+
<copyright>
4+
Copyright © 2024 Xaver Hugl
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a
7+
copy of this software and associated documentation files (the "Software"),
8+
to deal in the Software without restriction, including without limitation
9+
the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+
and/or sell copies of the Software, and to permit persons to whom the
11+
Software is furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice (including the next
14+
paragraph) shall be included in all copies or substantial portions of the
15+
Software.
16+
17+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+
DEALINGS IN THE SOFTWARE.
24+
</copyright>
25+
26+
<interface name="xdg_toplevel_tag_manager_v1" version="1">
27+
<description summary="protocol for setting toplevel tags">
28+
In order to make some window properties like position, size,
29+
"always on top" or user defined rules for window behavior persistent, the
30+
compositor needs some way to identify windows even after the application
31+
has been restarted.
32+
This protocol allows clients to make this possible by setting a tag for
33+
toplevels.
34+
35+
Warning! The protocol described in this file is currently in the testing
36+
phase. Backward compatible changes may be added together with the
37+
corresponding interface version bump. Backward incompatible changes can
38+
only be done by creating a new major version of the extension.
39+
</description>
40+
41+
<request name="destroy" type="destructor">
42+
<description summary="destroy toplevel tag object">
43+
Destroy this toplevel tag manager object. This request has no other
44+
effects.
45+
</description>
46+
</request>
47+
48+
<request name="set_toplevel_tag">
49+
<description summary="set tag">
50+
Set a tag for a toplevel. The tag may be shown to the user in UI, so
51+
it's preferable for it to be human readable, but it must be suitable
52+
for configuration files and should not be translated.
53+
Suitable tags would for example be "main window", "settings",
54+
"e-mail composer" or similar.
55+
56+
The tag does not need to be unique across applications, and the client
57+
may set the same tag for multiple windows, for example if the user has
58+
opened the same UI twice. How the potentially resulting conflicts are
59+
handled is compositor policy.
60+
61+
The client should set the tag as part of the initial commit on the
62+
associated toplevel, but it may set it at any time afterwards as well,
63+
for example if the purpose of the toplevel changes.
64+
</description>
65+
<arg name="toplevel" type="object" interface="xdg_toplevel"/>
66+
<arg name="tag" type="string" summary="untranslated tag"/>
67+
</request>
68+
69+
<request name="set_toplevel_description">
70+
<description summary="set description">
71+
Set a description for a toplevel. This description may be shown to the
72+
user in UI or read by a screen reader for accessibility purposes, and
73+
should be translated.
74+
It is recommended to make the description the translation of the tag.
75+
76+
The client should set the description as part of the initial commit on
77+
the associated toplevel, but it may set it at any time afterwards as
78+
well, for example if the purpose of the toplevel changes.
79+
</description>
80+
<arg name="toplevel" type="object" interface="xdg_toplevel"/>
81+
<arg name="description" type="string" summary="translated description"/>
82+
</request>
83+
</interface>
84+
85+
</protocol>

0 commit comments

Comments
 (0)