X11Surface

class X11Surface(**properties: Any)

Superclasses: Surface, Object

Constructors:

X11Surface(**properties)

Methods

class X11Surface
get_desktop() int

Gets the number of the workspace surface is on.

get_group() Surface | None

Returns the group this surface belongs to.

get_xid() int

Returns the X resource (surface) belonging to a GdkSurface.

lookup_for_display(display: X11Display, window: int) X11Surface

Looks up the GdkSurface that wraps the given native window handle.

Parameters:
  • display – the GdkDisplay corresponding to the window handle

  • window – an Xlib Window

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.

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.

Parameters:

desktop – the number of the workspace to move the surface to

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.

Parameters:

frame_sync_enabled – whether frame-synchronization should be enabled

set_group(leader: Surface) None

Sets the group leader of surface to be leader. See the ICCCM for details.

Parameters:

leader – a GdkSurface

set_skip_pager_hint(skips_pager: bool) None

Sets a hint on surface that pagers should not display it. See the EWMH for details.

Parameters:

skips_pagerTrue to skip pagers

set_skip_taskbar_hint(skips_taskbar: bool) None

Sets a hint on surface that taskbars should not display it. See the EWMH for details.

Parameters:

skips_taskbarTrue to skip taskbars

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.

Parameters:

variant – the theme variant to export

set_urgency_hint(urgent: bool) None

Sets a hint on surface that it needs user attention. See the ICCCM for details.

Parameters:

urgentTrue to indicate urgenct attention needed

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.

Parameters:

timestamp – An XServer timestamp to which the property should be set

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.

Parameters:
  • name – Property name, will be interned as an X atom

  • value – Property value, or None to delete