xdg-shell: add urgency hint
Two new requests are added to xdg_toplevel: set_urgent and unset_urgent. They allow clients to set and unset an urgency hint on their toplevel. The urgency hint can be ignored by the compositor.
This is similar to ICCCM's UrgencyHint in the X11 world. It can be used e.g. by messaging applications when receiving a new message or by terminal emulators when a command completes.
Signed-off-by: Simon Ser email@example.com
Related features intentionally left out:
- Raising toplevels on notification activation (e.g. open a "You have mail" notification and raise the email-client on click): I believe this can be achieved by attaching xdg-foreign tokens to the notification metadata (would require a standardized metadata field). However:
- Sometimes clients may no want to open a notification (draws attention too much).
- Compositors may not support notifications.
- Raising foreign toplevels (e.g. make it so clicking on a link on an e-mail client raises the web browser's window): this requires clients to exchange focus tokens and is being worked on in https://patchwork.freedesktop.org/series/68075/
- Attaching a progressbar to a window (as seen in Unity, elementary OS, Windows - used in the system updates apps for instance)
- Attaching a badge with a count to a window (as seen in Unity and elementary OS - used to display number of unread messages or pending system updates for instance)