WaylandToplevel#
Superclasses: WaylandSurface, Surface, Object
Implemented Interfaces: Toplevel
The Wayland implementation of GdkToplevel.
Beyond the Toplevel API, the Wayland implementation
has API to set up cross-process parent-child relationships between
surfaces with export_handle and
set_transient_for_exported.
Methods#
- class WaylandToplevel
- drop_exported_handle(handle: str) None#
Destroy a handle that was obtained with
export_handle().Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future.
Added in version 4.12.
- Parameters:
handle – the handle to drop
- export_handle(callback: Callable[[WaylandToplevel, str, Any], None], user_data: Any = None) bool#
Asynchronously obtains a handle for a surface that can be passed to other processes.
When the handle has been obtained,
callbackwill be called.It is an error to call this function on a surface that is already exported.
When the handle is no longer needed,
unexport_handleshould be called to clean up resources.The main purpose for obtaining a handle is to mark a surface from another surface as transient for this one, see
set_transient_for_exported.Before 4.12, this API could not safely be used multiple times, since there was no reference counting for handles. Starting with 4.12, every call to this function obtains a new handle, and every call to
drop_exported_handledrops just the handle that it is given.Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future.
- Parameters:
callback – callback to call with the handle
user_data – user data for
callback
- set_application_id(application_id: str) None#
Sets the application id on a
GdkToplevel.- Parameters:
application_id – the application id for the
toplevel
- set_transient_for_exported(parent_handle_str: str) bool#
Marks
toplevelas transient for the surface to which the givenparent_handle_strrefers.Typically, the handle will originate from a
export_handlecall in another process.Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future.
- Parameters:
parent_handle_str – an exported handle for a surface
- unexport_handle() None#
Destroys the handle that was obtained with
export_handle().It is an error to call this function on a surface that does not have a handle.
Since 4.12, this function does nothing. Use
drop_exported_handleinstead to drop a handle that was obtained withexport_handle.Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future.
Deprecated since version 4.12:
- Use
drop_exported_handle instead, this function does nothing
- Use