diff --git a/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml b/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml index f1bbe0e..6557174 100644 --- a/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml +++ b/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml @@ -120,7 +120,7 @@ - + A ext_foreign_toplevel_handle_v1 object represents a mapped toplevel window. A single app may have multiple mapped toplevels. @@ -215,5 +215,27 @@ + + + + + This event provides the icon name for the toplevel. The icon name + follows the freedesktop.org icon naming specification, allowing + clients to load the appropriate icon from the current icon theme. + + This event is only sent when the toplevel has set an icon name via + xdg_toplevel_icon_v1.set_name. If the toplevel has not set an icon + name through this mechanism, this event will not be sent. In such + cases, clients should use + ext_foreign_toplevel_icon_image_capture_source_manager_v1 from + the ext-image-capture-source-v1 protocol to capture the toplevel's + icon if it was set via xdg_toplevel_icon_v1.add_buffer. + + The configured state must not be applied immediately. See + ext_foreign_toplevel_handle_v1.done for details. + + + diff --git a/staging/ext-image-capture-source/ext-image-capture-source-v1.xml b/staging/ext-image-capture-source/ext-image-capture-source-v1.xml index e0808c2..0ef42cc 100644 --- a/staging/ext-image-capture-source/ext-image-capture-source-v1.xml +++ b/staging/ext-image-capture-source/ext-image-capture-source-v1.xml @@ -106,4 +106,46 @@ + + + + A manager for creating image capture source objects for capturing the + icon of ext_foreign_toplevel_handle_v1 objects. + + This is intended as a fallback mechanism when the compositor does not + provide icon information via the ext_foreign_toplevel_handle_v1.icon + event. Clients should prefer using the icon event when available, and + only use this capture mechanism when the icon event is not sent. + + + + + Creates a source object for capturing a foreign toplevel's icon. + Images captured from this source will show the icon of the toplevel. + + This capture source is valid in two cases: + 1. The toplevel has not used xdg_toplevel_icon_v1 at all + 2. The toplevel has set an icon using xdg_toplevel_icon_v1.add_buffer + (capturing the explicitly set icon buffer) + + If the toplevel has only used xdg_toplevel_icon_v1.set_name without + add_buffer, the capture source may fail or produce empty/invalid + results, as there is no pixel data to capture. + + Clients should check if the toplevel provides icon information via + the ext_foreign_toplevel_handle_v1.icon event before attempting to + use this capture mechanism. + + + + + + + + Destroys the manager. This request may be sent at any time by the client + and objects created by the manager will remain valid after its + destruction. + + +