From df207cbd4609a4f83c309a69c13a7c7442e4a717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 6 Jul 2023 12:41:23 +0200 Subject: [PATCH] Add staging system bell protocol MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is meant to let applications ring the system bell. It needs to be a Wayland protocol because a system bell is not necessarily audiable; for for example accessibility reasons, it might need be a visual feedback, which may be tied to a specific window. Accessibility features are usually configured globally, and one likely wants identical visual feedback for all system bell ringings, so it doesn't fit as a client side only feature. This aims to replaced and deprecate the `gtk_shell1.system_bell` request. Signed-off-by: Jonas Ådahl --- meson.build | 1 + staging/xdg-system-bell/README | 5 ++ .../xdg-system-bell/xdg-system-bell-v1.xml | 58 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 staging/xdg-system-bell/README create mode 100644 staging/xdg-system-bell/xdg-system-bell-v1.xml diff --git a/meson.build b/meson.build index 6b663a7..df0fc72 100644 --- a/meson.build +++ b/meson.build @@ -57,6 +57,7 @@ staging_protocols = { 'tearing-control': ['v1'], 'xdg-activation': ['v1'], 'xdg-dialog': ['v1'], + 'xdg-system-bell': ['v1'], 'xdg-toplevel-drag': ['v1'], 'xdg-toplevel-icon': ['v1'], 'xwayland-shell': ['v1'], diff --git a/staging/xdg-system-bell/README b/staging/xdg-system-bell/README new file mode 100644 index 0000000..a9276e1 --- /dev/null +++ b/staging/xdg-system-bell/README @@ -0,0 +1,5 @@ +system_bell protocol + +Maintainers: +Jonas Ådahl +Carlos Garnacho diff --git a/staging/xdg-system-bell/xdg-system-bell-v1.xml b/staging/xdg-system-bell/xdg-system-bell-v1.xml new file mode 100644 index 0000000..f00508d --- /dev/null +++ b/staging/xdg-system-bell/xdg-system-bell-v1.xml @@ -0,0 +1,58 @@ + + + + Copyright © 2016, 2023 Red Hat + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + This global interface enables clients to ring the system bell. + + Warning! The protocol described in this file is currently in the testing + phase. Backward compatible changes may be added together with the + corresponding interface version bump. Backward incompatible changes can + only be done by creating a new major version of the extension. + + + + + Notify that the object will no longer be used. + + + + + + This requests rings the system bell on behalf of a client. How ringing + the bell is implemented is up to the compositor. It may be an audible + sound, a visual feedback of some kind, or any other thing including + nothing. + + The passed surface should correspond to a toplevel like surface role, + or be null, meaning the client doesn't have a particular toplevel it + wants to associate the bell ringing with. See the xdg-shell protocol + extension for a toplevel like surface role. + + + + +