- Dec 06, 2021
-
-
The new hint is meant to indicate that the text input already provides an on-screen means to enter data, and that using the system provided input method may not be needed. It should be used when the client presents the user with a custom on-screen input method, like an on-screen keyboard, or perhaps a dropdown list. The new hint is meant to address the issue when the system input method is an on-screen keyboard. Without the hint, the input method would not know that it's not needed, unless the client refrained from using the input method protocol at all. With the hint, the input method can still be enabled, while not displaying a second on-screen keyboard. This allows for the system input method to still provide accessibility services, as well as text completion or prediction. Based on discussion in https://gitlab.gnome.org/GNOME/gtk/merge_requests/978 Signed-off-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
-
- Mar 22, 2021
-
-
IBus update_preedit_string_with_mode feature send the preedit text and the commit mode to the input method module, use preedit_commit_mode event to send the commit mode together with the preeedit text. IBusInputContext specify how input context interact with the keyboard, but sometimes mouse click also interacts with the input context, too. For Firefox, if some preedit text is visible with ibus-hangul input method; after mouse click, the preedit will be committed twice. To fix this issue, ibus-hangul can send preedit text and commit mode together; after mouse click, the preedit is handled directly in input method module of Firefox, and the preedit is committed in the current text widget. For detailed analysis, please read the merge request comments. URL: wayland/wayland-protocols!30 Signed-off-by: Peng Wu <pwu@redhat.com> Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
-
Simon Ser authored
v4 will be used for iterating over the protocol. Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
-
Simon Ser authored
This reverts commit 353ed023. This made a protocol addition without bumping the version. Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
-
- Jun 30, 2020
-
-
Peng Wu authored
IBus update_preedit_string_with_mode feature send the preedit text and the commit mode to the input method module, use preedit_commit_mode event to send the commit mode together with the preeedit text. IBusInputContext specify how input context interact with the keyboard, but sometimes mouse click also interacts with the input context, too. For Firefox, if some preedit text is visible with ibus-hangul input method; after mouse click, the preedit will be committed twice. To fix this issue, ibus-hangul can send preedit text and commit mode together; after mouse click, the preedit is handled directly in input method module of Firefox, and the preedit is committed in the current text widget. For detailed analysis, please read the merge request comments. URL: !30
-
- Jan 22, 2020
-
-
Ivan Molodetskikh authored
This helps binding generators such as the one in wayland-rs. Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com>
-
- Dec 18, 2019
-
-
Simon Ser authored
This converts GOVERNANCE, MEMBERS and README to Markdown documents. These are only cosmetic changes, the actual contents and wording have been retained. GitLab pretty-prints Markdown and adds anchors. We can now add links from one document to another. Unfortunately GOVERNANCE lettered lists have been converted to numbered lists, because Markdown doesn't support the former. Signed-off-by: Simon Ser <contact@emersion.fr> Closes: #3
-
- Nov 21, 2019
-
-
Simon Ser authored
The script runs automated protocol validation checks. The image is generated using fd.o CI templates [1]. [1]: https://gitlab.freedesktop.org/wayland/ci-templates Signed-off-by: Simon Ser <contact@emersion.fr> Closes: wayland/wayland-protocols#5
-
Simon Ser authored
51018825 ("Add governance document") adds a GOVERNANCE document describing development based on GitLab merge requests. Update the README file accordingly. Some information is duplicated across README and GOVERNANCE, this is intentional to make README provide a more human-friendly, less bureaucratic version. GOVERNANCE is still the authoritative version. Signed-off-by: Simon Ser <contact@emersion.fr>
-
- Nov 20, 2019
-
-
Simon Ser authored
This allows editors to pick up the correct indent style for *.xml files. Signed-off-by: Simon Ser <contact@emersion.fr>
-
Simon Ser authored
The idea of a better-defined governance model for wayland-protocols has been discussed for quite a while [1]. A new GOVERNANCE document describes how changes to the wayland-protocols repository are accepted. A set of members representing projects can vote on merge requests sent via GitLab. The initial list of members is available in the MEMBERS file. [1]: https://lists.freedesktop.org/archives/wayland-devel/2019-February/040076.html Signed-off-by: Drew DeVault <sir@cmpwn.com> Signed-off-by: Simon Ser <contact@emersion.fr> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com> Acked-by: Johan Helsing <johan.helsing@qt.io> Acked-by: Roman Gilg <subdiff@gmail.com> Acked-by: Christopher James Halse Rogers <raof@ubuntu.com> Acked-by: Alan Griffiths <alan.griffiths@canonical.com> Acked-by: Jonas Ådahl <jadahl@gmail.com> Cc: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Cc: Carlos Garnacho <carlosg@gnome.org> Cc: David Edmundson <david@davidedmundson.co.uk>
-
- Sep 06, 2019
-
-
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Victor Berger <victor.berger@m4x.org>
-
- Jul 25, 2019
-
-
Jonas Ådahl authored
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
-
The output description is a human-readable text describing the output. Unlike the name which uniquely identifies the output, it's intended to be displayed to the user. It might be desirable for a compositor to update an output's description. For instance, when only one output is plugged in, it's not necessary to dump make, model, serial and connector to the description, something like "Dell U2717D" is enough. However when two identical outputs are plugged in it's necessary to add e.g. the connector type to tell them apart ("Dell U2717D on HDMI"). See [1] for a discussion about this. This commit bumps xdg_output's version to allow compositors to update the property. [1]: https://github.com/swaywm/wlroots/issues/1623 Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Acked-by: Olivier Fourdan <ofourdan@redhat.com>
-
- Jul 17, 2019
-
-
LibreOffice is one big binary with explicit brandings for different application modules. This is represented in X11 by a different WM_CLASS setting for a window. The WM_CLASS is changed based on the loaded document at runtime. As a result LibreOffice already offers multiple desktop files with different icons, StartupWMClass entries and application names. This amendment of the set_app_id request just explicitly specifies the use case to change a surfaces' app ID at runtime, so a compositor implementor is made aware of it. Just as the WM_CLASS, a change of the app ID should result in an update of the propertes of a surface depending on the app ID, like the window icon specified in the desktop file or a re-grouping of the surfaces in a task manager. Signed-off-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Simon Ser <contact@emersion.fr>
-
This allows clients to destroy a gesture object before they disconnect. The request isn't named "destroy", as this would conflict with wayland-scanner's auto-generated destructor (which just destroys the client-side object without sending any request). Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
-
This commit makes it so a wl_output.done event is guaranteed to be sent with a xdg_output.done event. This protocol change has been discussed in a recent xorg-devel discussions [1]. First let's recap why a change is needed: Xwayland listens to both wl_output and xdg_output changes. When an output's properties change, Xwayland expects to receive both a wl_output.done event and an xdg_output.done event. If that's not the case, Xwayland doesn't update its state (so old state is still exposed to X11 clients). Most of the time, both objects will be updated at the same time (e.g. the current mode is changed, so both wl_output.mode and xdg_output.logical_size are sent) so this won't be an issue. However in some situations only one of wl_output or xdg_output changes. For instance: - The mode is changed at the same time as the scale, resulting in the same logical_size. - The compositor doesn't expose the outputs' position via wl_output, so whenever the position changes only xdg_output is updated. Both KDE [2] and wlroots [3] have experienced this issue. For this reason, I'd like to update the xdg-output protocol to make it mandatory to always send a wl_output.done event after xdg_output changes. This effectively makes wl_output.done atomically apply all output state (including the state of add-on objects like xdg_output). This approach is pretty similar to wl_surface.commit: this request will atomically apply surface state including the state of e.g. the xdg_surface object tied to the wl_surface. To update the protocol to reflect this new requirement we can either: - **Bump xdg_output version**. The current protocol doesn't specify that wl_output.done must be sent, adding this new requirement would be a breaking change. We need to fix Xwayland for the current xdg_output version (maybe make it non-atomic for the current version, atomic for the new one?). Should we deprecate xdg_output.done in the new version? - **Don't bump xdg_output version**. This clarifies what is expected in practice by Xwayland, a major xdg_output consumer, and what is currently implemented by all compositors. There's one issue with the "don't bump" approach: indeed in practice compositors always send wl_output.done and xdg_output.done in pairs, however the ordering between those two events is not guaranteed. This means some compositors might send this sequence: wl_output.geometry(…) wl_output.done() xdg_output.logical_position(…) xdg_output.done() In this case the wl_output.done event fails to atomically apply the xdg_output state. For this reason, I think bumping the version is a better approach. This commit also deprecates xdg_output.done, which doesn't have any purpose anymore. [1]: https://lists.x.org/archives/xorg-devel/2019-April/058148.html [2]: https://phabricator.kde.org/D19253 [3]: https://github.com/swaywm/sway/issues/4064 Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
-
- May 22, 2019
-
-
Jonas Ådahl authored
As requested by Mike, update the E-mail address listed in the README. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
-
- May 02, 2019
-
-
DRM_FORMAT_MOD_INVALID means to derive the modifier from the dmabuf. It provides legacy support and makes it easier to replace wl_drm. v3: DRM_FORMAT_MOD_INVALID must be advertised to be supported (which requires a version bump) v4: no version bump, but a note for now Signed-off-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Daniel Stone <daniels@collabora.com>
-
- Jan 17, 2019
-
-
Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
-
- Dec 14, 2018
-
-
Clarify that after zwp_buffer_release_v1 events, otherwise unused buffers can be reused without any additional implicit synchronization. This is in contrast to wl_buffer.release, which doesn't guarantee that implicit synchronization is not required to safely use a buffer after the event is received. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
-
Graphics APIs are expected to use this protocol under the hood, and since there can only be one user of explicit synchronization per surface, warn about using the protocol directly in such cases. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
-
Add opaque EGL buffers to the supported buffer types for use with the explicit synchronization protocol. Opaque EGL buffers rely on the same EGL implementation in both the compositor and clients, which makes it straightforward to manage client expectations about fence support for such buffers. Also make it clearer that implementations are free to support other buffer types beyond the required ones. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
-
- Nov 12, 2018
-
-
Jonas Ådahl authored
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
-
This primary selection is similar in spirit to the eponimous in X11, allowing a quick "select text + middle click" shortcut to copying and pasting. It's otherwise very similar to its Wayland counterpart, and explicitly made consistent with it. Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
-
This protocol enables explicit synchronization of asynchronous graphics operations on buffers on a per-commit basis. Support is currently limited to dmabuf buffers and dma_fence fence FDs. Explicit synchronization provides a more versatile notification mechanism for buffer readiness and availability, and can be used to improve efficiency by integrating with related functionality in display and graphics APIs. This protocol is also useful in ChromeOS ARC++ (running Android apps inside ChromeOS, using Wayland as the communication protocol), where it can enable integration of the ChromeOS compositor with the explicit synchronization mechanisms of the Android display subsystem. Finally, the per-commit nature of the release events provided by this protocol potentially offers a solution to a deficiency of the wl_buffer.release event (see wayland/wayland#46 ). Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Daniel Stone <daniels@collabora.com> [Pekka: dropped Reveman from maintainers] Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
-
- Jul 31, 2018
-
-
Although it would probably default to the license at the root of the repository anyway, it's best to be explicit about it, and also be consistent with the other extensions. The copyright holders have been assembled from git history and the README. Signed-off-by: Johan Klokkhammer Helsing <johan.helsing@qt.io> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
-
- Jul 30, 2018
-
-
Jonas Ådahl authored
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
-
The wording in xdg-shell's `set_*` requests implies the compositor *will* honour the client's request. This would give clients the control over their actual state, while the general expectation is that clients kindly ask for state changes which the compositor may follow. This patch ensures the actual protocol text reflects these expectations. Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
-
The xdg-shell documentation had part of the maximized state render implications in the `set_maximized` request documentation, not the actual state. This moves the relevant lines into the state description. Signed-off-by: Markus Ongyerth <wl@ongy.net> Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
-
This new protocol description is an evolution of v2. - All pre-edit text styling is gone. - Pre-edit cursor can span characters. - No events regarding input panel (OSK) state nor covered rectangle. Compositors are still free to handle situations where the keyboard focus rectangle is covered by the input panel. - No set_preferred_language request for clients. - There is no event to send keysyms. Compositors can use wl_keyboard interface instead. - All state is double-buffered, with specified defaults. - The compositor can be notified about external changes to the state. - The client can detect outdated requests. Signed-off-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Simon Ser <contact@emersion.fr>
-
Jonas Ådahl authored
Pass --strict to wayland-scanner in order to make it exit with failure if something wasn't correct. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr>
-
Jonas Ådahl authored
The wayland-scanner sub-commands private-code and public-code replaced the old code command, so lets use those in the tests instead. This requires at least wayland-scanner 1.15.0. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr>
-
- Jul 16, 2018
-
-
Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
-
- Jul 04, 2018
-
-
Jonas Ådahl authored
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
-
This adds a new protocol to negotiate server-side rendering of window decorations for xdg-toplevels. This allows compositors that want to draw decorations themselves to send their preference to clients, and clients that prefer server-side decorations to request them. This is inspired by a protocol from KDE [1] which has been implemented in KDE and Sway and was submitted for consideration in 2017 [2]. This patch provides an updated protocol with those concerns taken into account. Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Drew DeVault <sir@cmpwn.com> Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Eike Hein <hein@kde.org> Reviewed-by: Alan Griffiths <alan.griffiths@canonical.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> [1] https://github.com/KDE/kwayland/blob/master/src/client/protocols/server-decoration.xml [2] https://lists.freedesktop.org/archives/wayland-devel/2017-October/035564.html
-
It seems that this was partially done in a3cf97ff; this patch just corrects an oversight. Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
-
- Jun 18, 2018
-
-
da331647 added a compatiblity macro for old versions of pkg-config. However, the file in which that macro resides was not included. From the autoconf docs: "Note that if you use aclocal from Automake to generate aclocal.m4, you must also set ACLOCAL_AMFLAGS = -I dir in your top-level Makefile.am.". Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- May 03, 2018
-
-
Jonas Ådahl authored
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
-
This adds two events to the protocol. The goal is to allow clients to give the user the ability to select outputs with the same names the compositor uses and to identify outputs consistently across sessions. The output name is a short and stiff identifier with strict limits on permitted characters, which is suitable for storing in config files, command line arguments, etc. A warmer "description" event is also provided to (optionally) provide a more human readable name, and has much broader restrictions on its form. Signed-off-by: Drew DeVault <sir@cmpwn.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> [Jonas: Fixed formatting and commit subject] Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
-