:right-sidebar: True X11Surface =================================================================== .. currentmodule:: gi.repository.GdkX11 .. class:: X11Surface(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.Gdk.Surface`, :class:`~gi.repository.GObject.Object` :Constructors: :: X11Surface(**properties) Methods ------- .. rst-class:: interim-class .. class:: X11Surface :no-index: .. method:: get_desktop() -> int Gets the number of the workspace ``surface`` is on. .. method:: get_group() -> ~gi.repository.Gdk.Surface | None Returns the group this surface belongs to. .. method:: get_xid() -> int Returns the X resource (surface) belonging to a ``GdkSurface``\. .. classmethod:: lookup_for_display(window: int) -> ~gi.repository.GdkX11.X11Surface Looks up the ``GdkSurface`` that wraps the given native window handle. :param window: an Xlib Window .. method:: move_to_current_desktop() -> None Moves the surface to the correct workspace when running under a window manager that supports multiple workspaces, as described in the `Extended Window Manager Hints `__ specification. Will not do anything if the surface is already on all workspaces. .. method:: move_to_desktop(desktop: int) -> None Moves the surface to the given workspace when running unde a window manager that supports multiple workspaces, as described in the `Extended Window Manager Hints `__ specification. :param desktop: the number of the workspace to move the surface to .. method:: set_frame_sync_enabled(frame_sync_enabled: bool) -> None This function can be used to disable frame synchronization for a surface. Normally frame synchronziation will be enabled or disabled based on whether the system has a compositor that supports frame synchronization, but if the surface is not directly managed by the window manager, then frame synchronziation may need to be disabled. This is the case for a surface embedded via the XEMBED protocol. :param frame_sync_enabled: whether frame-synchronization should be enabled .. method:: set_group(leader: ~gi.repository.Gdk.Surface) -> None Sets the group leader of ``surface`` to be ``leader``\. See the ICCCM for details. :param leader: a ``GdkSurface`` .. method:: set_skip_pager_hint(skips_pager: bool) -> None Sets a hint on ``surface`` that pagers should not display it. See the EWMH for details. :param skips_pager: :const:`True` to skip pagers .. method:: set_skip_taskbar_hint(skips_taskbar: bool) -> None Sets a hint on ``surface`` that taskbars should not display it. See the EWMH for details. :param skips_taskbar: :const:`True` to skip taskbars .. method:: set_theme_variant(variant: str) -> None GTK applications can request a dark theme variant. In order to make other applications - namely window managers using GTK for themeing - aware of this choice, GTK uses this function to export the requested theme variant as _GTK_THEME_VARIANT property on toplevel surfaces. Note that this property is automatically updated by GTK, so this function should only be used by applications which do not use GTK to create toplevel surfaces. :param variant: the theme variant to export .. method:: set_urgency_hint(urgent: bool) -> None Sets a hint on ``surface`` that it needs user attention. See the ICCCM for details. :param urgent: :const:`True` to indicate urgenct attention needed .. method:: set_user_time(timestamp: int) -> None The application can use this call to update the _NET_WM_USER_TIME property on a toplevel surface. This property stores an Xserver time which represents the time of the last user input event received for this surface. This property may be used by the window manager to alter the focus, stacking, and/or placement behavior of surfaces when they are mapped depending on whether the new surface was created by a user action or is a "pop-up" surface activated by a timer or some other event. Note that this property is automatically updated by GDK, so this function should only be used by applications which handle input events bypassing GDK. :param timestamp: An XServer timestamp to which the property should be set .. method:: set_utf8_property(name: str, value: str | None = None) -> None This function modifies or removes an arbitrary X11 window property of type UTF8_STRING. If the given ``surface`` is not a toplevel surface, it is ignored. :param name: Property name, will be interned as an X atom :param value: Property value, or :const:`None` to delete