def __init__(self, ptr): self._ptr = ffi.cast("struct wlr_layer_surface_v1 *", ptr) self.destroy_event = Signal(ptr=ffi.addressof(self._ptr.events.destroy)) self.map_event = Signal(ptr=ffi.addressof(self._ptr.events.map)) self.unmap_event = Signal(ptr=ffi.addressof(self._ptr.events.unmap)) self.new_popup_event = Signal(ptr=ffi.addressof(self._ptr.events.new_popup))
def __init__(self, output_layout: OutputLayout) -> None: """Manage a cursor attached to the given output layout Uses the given layout to establish the boundaries and movement semantics of this cursor. Cursors without an output layout allow infinite movement in any direction and do not support absolute input events. :param output_layout: The output layout to attach the cursor to and bound the cursor by. """ ptr = lib.wlr_cursor_create() self._ptr = ffi.gc(ptr, lib.wlr_cursor_destroy) lib.wlr_cursor_attach_output_layout(self._ptr, output_layout._ptr) self.motion_event = Signal(ptr=ffi.addressof(self._ptr.events.motion), data_wrapper=PointerEventMotion) self.motion_absolute_event = Signal( ptr=ffi.addressof(self._ptr.events.motion_absolute), data_wrapper=PointerEventMotionAbsolute, ) self.button_event = Signal(ptr=ffi.addressof(self._ptr.events.button), data_wrapper=PointerEventButton) self.axis_event = Signal(ptr=ffi.addressof(self._ptr.events.axis), data_wrapper=PointerEventAxis) self.frame_event = Signal(ptr=ffi.addressof(self._ptr.events.frame))
def __init__(self, display: Display) -> None: self._ptr = lib.wlr_idle_create(display._ptr) self.activity_notify_event = Signal( ptr=ffi.addressof(self._ptr.events.activity_notify) ) self.destroy_event = Signal(ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, ptr) -> None: self._ptr = ffi.cast("struct wlr_drag_icon *", ptr) self.map_event = Signal(ptr=ffi.addressof(self._ptr.events.map)) self.unmap_event = Signal(ptr=ffi.addressof(self._ptr.events.unmap)) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, display: Display) -> None: """Creates a wlr_input_inhibit_manager""" self._ptr = lib.wlr_input_inhibit_manager_create(display._ptr) self.activate_event = Signal(ptr=ffi.addressof(self._ptr.events.activate)) self.deactivate_event = Signal(ptr=ffi.addressof(self._ptr.events.deactivate)) self.destroy_event = Signal(ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, display: Display, *, backend_type=BackendType.AUTO) -> None: """Create a backend to interact with a Wayland display :param display: The Wayland server display to create the backend against. If this display is destroyed, the backend will be automatically cleaned-up. :param backend_type: The type of the backend to create. The default (auto-detection) will use environment variables, including $DISPLAY (for X11 nested backends), $WAYLAND_DISPLAY (for Wayland backends), and $WLR_BACKENDS (to set the available backends). """ if backend_type == BackendType.AUTO: ptr = lib.wlr_backend_autocreate(display._ptr) elif backend_type == BackendType.HEADLESS: ptr = lib.wlr_headless_backend_create(display._ptr) else: raise ValueError(f"Unknown backend type: {backend_type}") if ptr == ffi.NULL: raise RuntimeError("Failed to create wlroots backend") self._ptr = ffi.gc(ptr, lib.wlr_backend_destroy) self._weak_display = weakref.ref(display) self.destroy_event = Signal(ptr=ffi.addressof(self._ptr.events.destroy)) self.new_input_event = Signal( ptr=ffi.addressof(self._ptr.events.new_input), data_wrapper=InputDevice ) self.new_output_event = Signal( ptr=ffi.addressof(self._ptr.events.new_output), data_wrapper=Output )
def __init__(self, display: Display) -> None: """Create an wlr_xdg_output_manager_v1""" self._ptr = lib.wlr_layer_shell_v1_create(display._ptr) self.new_surface_event = Signal( ptr=ffi.addressof(self._ptr.events.new_surface), data_wrapper=LayerSurfaceV1 ) self.destroy_event = Signal(ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, ptr) -> None: """struct wlr_xdg_toplevel_decoration_v1""" self._ptr = ffi.cast("struct wlr_xdg_toplevel_decoration_v1 *", ptr) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy)) self.request_mode_event = Signal( ptr=ffi.addressof(self._ptr.events.request_mode))
def __init__(self, display: Display) -> None: self._ptr = lib.wlr_idle_inhibit_v1_create(display._ptr) self.new_inhibitor_event = Signal( ptr=ffi.addressof(self._ptr.events.new_inhibitor), data_wrapper=IdleInhibitorV1, ) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, display: Display) -> None: self._ptr = lib.wlr_output_power_manager_v1_create(display._ptr) self.set_mode_event = Signal( ptr=ffi.addressof(self._ptr.events.set_mode), data_wrapper=OutputPowerV1SetModeEvent, ) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, display: Display) -> None: """A wlr_virtual_keyboard_manager_v1 instance.""" self._ptr = lib.wlr_virtual_keyboard_manager_v1_create(display._ptr) self.new_virtual_keyboard_event = Signal( ptr=ffi.addressof(self._ptr.events.new_virtual_keyboard), data_wrapper=VirtualKeyboardV1, ) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, display: Display, options: ServerOptions) -> None: ptr = lib.wlr_xwayland_server_create(display._ptr, options._ptr) if ptr == ffi.NULL: raise RuntimeError("Unable to create a wlr_xwayland_server.") self._ptr = ffi.gc(ptr, lib.wlr_xwayland_server_destroy) self.ready_event = Signal(ptr=ffi.addressof(self._ptr.events.ready)) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, display: Display) -> None: """A wlr_virtual_pointer_manager_v1 struct.""" self._ptr = lib.wlr_virtual_pointer_manager_v1_create(display._ptr) self.new_virtual_pointer_event = Signal( ptr=ffi.addressof(self._ptr.events.new_virtual_pointer), data_wrapper=VirtualPointerV1NewPointerEvent, ) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, ptr) -> None: """An XDG decoration manager: wlr_xdg_decoration_manager_v1.""" self._ptr = ffi.cast("struct wlr_xdg_decoration_manager_v1 *", ptr) self.new_toplevel_decoration_event = Signal( ptr=ffi.addressof(self._ptr.events.new_toplevel_decoration), data_wrapper=XdgToplevelDecorationV1, ) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, ptr) -> None: """A top level surface object :param ptr: The wlr_xdg_toplevel cdata pointer """ self._ptr = ptr self.request_maximize_event = Signal( ptr=ffi.addressof(self._ptr.events.request_maximize)) self.request_fullscreen_event = Signal( ptr=ffi.addressof(self._ptr.events.request_fullscreen), data_wrapper=XdgTopLevelSetFullscreenEvent, ) self.request_minimize_event = Signal( ptr=ffi.addressof(self._ptr.events.request_minimize)) self.request_move_event = Signal( ptr=ffi.addressof(self._ptr.events.request_move), data_wrapper=XdgTopLevelMoveEvent, ) self.request_resize_event = Signal( ptr=ffi.addressof(self._ptr.events.request_resize), data_wrapper=XdgTopLevelResizeEvent, ) self.request_show_window_menu_event = Signal( ptr=ffi.addressof(self._ptr.events.request_show_window_menu), data_wrapper=XdgTopLevelShowWindowMenuEvent, ) self.set_parent_event = Signal( ptr=ffi.addressof(self._ptr.events.set_parent)) self.set_title_event = Signal( ptr=ffi.addressof(self._ptr.events.set_title)) self.set_app_id_event = Signal( ptr=ffi.addressof(self._ptr.events.set_app_id))
def __init__(self, ptr): """The Keyboard wlroots object :param ptr: The wlr_keyboard cdata pointer for the given keyboard """ self._ptr = ptr self.modifiers_event = Signal( ptr=ffi.addressof(self._ptr.events.modifiers)) self.key_event = Signal(ptr=ffi.addressof(self._ptr.events.key))
def __init__(self, ptr) -> None: """A `struct wlr_pointer_constraint_v1` instance.""" self._ptr = ffi.cast("struct wlr_pointer_constraint_v1 *", ptr) self.set_region_event = Signal( ptr=ffi.addressof(self._ptr.events.set_region), ) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy), data_wrapper=PointerConstraintV1, )
def __init__(self, ptr) -> None: """A user interface element requiring management by the compositor """ self._ptr = ffi.cast("struct wlr_layer_surface_v1 *", ptr) self.map_event = Signal(ptr=ffi.addressof(self._ptr.events.map)) self.unmap_event = Signal(ptr=ffi.addressof(self._ptr.events.unmap)) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy)) self.new_popup_event = Signal( ptr=ffi.addressof(self._ptr.events.new_popup))
def __init__(self, display: Display) -> None: """Create the shell for protocol windows :param display: The Wayland server display to create the shell on. """ self._ptr = lib.wlr_xdg_shell_create(display._ptr) self.new_surface_event = Signal( ptr=ffi.addressof(self._ptr.events.new_surface), data_wrapper=XdgSurface ) self.destroy_event = Signal(ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, ptr): """A wlroots subsurface :param ptr: The cdata for the given subsurface """ self._ptr = ffi.cast("struct wlr_subsurface *", ptr) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy)) self.map_event = Signal(ptr=ffi.addressof(self._ptr.events.map)) self.unmap_event = Signal(ptr=ffi.addressof(self._ptr.events.unmap))
def __init__(self, display: Display) -> None: """Create the shell for Graphical Elements :param display: The Wayland server display to create the shell on. """ self._ptr = lib.wlr_layer_shell_v1_create(display._ptr) self.new_surface_event = Signal(ptr=ffi.addressof( self._ptr.events.new_surface), data_wrapper=LayerSurface) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, ptr): """Create a wlroots Surface :param ptr: The cdata for the given surface """ self._ptr = ptr self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit)) self.new_subsurface_event = Signal( ptr=ffi.addressof(self._ptr.events.new_subsurface)) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self) -> None: """Creates an output layout to work with a layout of screens Creates a output layout, which can be used to describing outputs in physical space relative to one another, and perform various useful operations on that state. """ ptr = lib.wlr_output_layout_create() self._ptr = ffi.gc(ptr, lib.wlr_output_layout_destroy) self.add_event = Signal(ptr=ffi.addressof(ptr.events.add)) self.change_event = Signal(ptr=ffi.addressof(ptr.events.change)) self.destroy_event = Signal(ptr=ffi.addressof(ptr.events.destroy))
def __init__(self, ptr) -> None: self._ptr = ffi.cast("struct wlr_drag *", ptr) self.focus_event = Signal(ptr=ffi.addressof(self._ptr.events.focus)) self.motion_event = Signal( ptr=ffi.addressof(self._ptr.events.motion), data_wrapper=DragMotionEvent, ) self.drop_event = Signal( ptr=ffi.addressof(self._ptr.events.drop), data_wrapper=DragDropEvent, ) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy))
def __init__(self, display: Display) -> None: """Create a wlr_output_manager_v1 Create a new output manager. The compositor is responsible for calling `wlr_output_manager_v1_set_configuration` whenever the current output configuration changes. """ self._ptr = lib.wlr_output_manager_v1_create(display._ptr) self.apply_event = Signal( ptr=ffi.addressof(self._ptr.events.apply), data_wrapper=OutputConfigurationV1, ) self.test_event = Signal(ptr=ffi.addressof(self._ptr.events.test), data_wrapper=OutputConfigurationV1)
def __init__(self, display: Display) -> None: """A global interface used for getting the relative pointer object for a given pointer. :param display: The display to manage relative pointer events on. """ self._ptr = lib.wlr_relative_pointer_manager_v1_create(display._ptr) self.destroy_event = Signal(ptr=ffi.addressof( self._ptr.events.destroy), ) self.new_relative_pointer_event = Signal( ptr=ffi.addressof(self._ptr.events.new_relative_pointer), data_wrapper=RelativePointerV1, )
def __init__(self, ptr) -> None: """A wlr_virtual_keyboard_v1 instance.""" self._ptr = ffi.cast("struct wlr_virtual_keyboard_v1 *", ptr) self.destroy_event = Signal(ptr=ffi.addressof( self._ptr.events.destroy), data_wrapper=VirtualKeyboardV1)
def __init__(self, display: "Display") -> None: """Create a wlr_screencopy_manager_v1""" self._ptr = lib.wlr_screencopy_manager_v1_create(display._ptr) self.destroy_event = Signal( ptr=ffi.addressof(self._ptr.events.destroy) )
def __init__(self, display: Display, compositor: Compositor, lazy: bool) -> None: ptr = lib.wlr_xwayland_create(display._ptr, compositor._ptr, lazy) if ptr == ffi.NULL: raise RuntimeError("Unable to create a wlr_xwayland.") self._ptr = ffi.gc(ptr, lib.wlr_xwayland_destroy) self.ready_event = Signal(ptr=ffi.addressof(self._ptr.events.ready)) self.new_surface_event = Signal( ptr=ffi.addressof(self._ptr.events.new_surface), data_wrapper=Surface, ) self.remove_startup_info_event = Signal( ptr=ffi.addressof(self._ptr.events.remove_startup_info))
def __init__(self, ptr) -> None: """A wlr_virtual_pointer_v1 struct.""" self._ptr = ffi.cast("struct wlr_virtual_pointer_v1 *", ptr) self.destroy_event = Signal(ptr=ffi.addressof( self._ptr.events.destroy), data_wrapper=VirtualPointerV1)