def __init__( self, core: Core, qtile: Qtile, surface: SurfaceType, wid: int, ): base.Static.__init__(self) self.core = core self.qtile = qtile self.surface = surface self.subsurfaces: List[SubSurface] = [] self._wid = wid self._mapped: bool = False self.x = 0 self.y = 0 self._width = 0 self._height = 0 self.borderwidth: int = 0 self.bordercolor: List[ffi.CData] = [_rgb((0, 0, 0, 1))] self.opacity: float = 1.0 self._outputs: Set[Output] = set() self._float_state = FloatStates.FLOATING self.is_layer = False self._app_id: Optional[str] = None # Not used by layer-shell surfaces self.add_listener(surface.map_event, self._on_map) self.add_listener(surface.unmap_event, self._on_unmap) self.add_listener(surface.destroy_event, self._on_destroy) self.add_listener(surface.surface.commit_event, self._on_commit) if isinstance(surface, LayerSurfaceV1): self.is_layer = True if surface.output is None: surface.output = core.output_layout.output_at( core.cursor.x, core.cursor.y) self.output = core.output_from_wlr_output(surface.output) self.screen = self.output.screen self.mapped = True self._outputs.add(self.output) else: if surface.toplevel.title: self.name = surface.toplevel.title self._app_id = surface.toplevel.app_id self.add_listener(surface.toplevel.set_title_event, self._on_set_title) self.add_listener(surface.toplevel.set_app_id_event, self._on_set_app_id) self.ftm_handle = surface.data assert self.ftm_handle self.add_listener(self.ftm_handle.request_close_event, self._on_foreign_request_close) self._find_outputs() self.screen = qtile.current_screen
def __init__( self, core: Core, qtile: Qtile, surface: SurfaceType, wid: int, ): base.Static.__init__(self) self.core = core self.qtile = qtile self._group: Optional[_Group] = None self.surface = surface self.subsurfaces: List[SubSurface] = [] self._wid = wid self._mapped: bool = False self.x = 0 self.y = 0 self.borderwidth: int = 0 self.bordercolor: ffi.CData = _rgb((0, 0, 0, 1)) self.opacity: float = 1.0 self._outputs: List[Output] = [] self._float_state = FloatStates.FLOATING self.defunct = True self.is_layer = False self.screen = qtile.current_screen self.add_listener(surface.map_event, self._on_map) self.add_listener(surface.unmap_event, self._on_unmap) self.add_listener(surface.destroy_event, self._on_destroy) self.add_listener(surface.surface.commit_event, self._on_commit) if isinstance(surface, LayerSurfaceV1): self.is_layer = True if surface.output is None: surface.output = core.output_layout.output_at( core.cursor.x, core.cursor.y) self.output = core.output_from_wlr_output(surface.output) self.screen = self.output.screen self.mapped = True self._outputs.append(self.output) else: self._find_outputs()
def __init__( self, core: Core, qtile: Qtile, surface: SurfaceType, wid: int, ): base.Static.__init__(self) self.core = core self.qtile = qtile self._group = 0 self.surface = surface self._wid = wid self.screen = None self.mapped = False self.x = 0 self.y = 0 self.borderwidth: int = 0 self.bordercolor: ffi.CData = _rgb((0, 0, 0, 1)) self.opacity: float = 1.0 self._float_state = FloatStates.FLOATING self.defunct = True self.is_layer = False self.add_listener(surface.map_event, self._on_map) self.add_listener(surface.unmap_event, self._on_unmap) self.add_listener(surface.destroy_event, self._on_destroy) self.add_listener(surface.surface.commit_event, self._on_commit) if isinstance(surface, LayerSurfaceV1): self.is_layer = True if surface.output is None: surface.output = core.output_layout.output_at(core.cursor.x, core.cursor.y) self.output = core.output_from_wlr_output(surface.output) self.output.layers[surface.client_pending.layer].append(self) self.output.organise_layers()
def __init__( self, core: Core, qtile: Qtile, surface: SurfaceType, wid: int, idle_inhibitor_count: int = 0, ): base.Static.__init__(self) self.core = core self.qtile = qtile self.surface = surface self.screen = qtile.current_screen self._idle_inhibitors_count = idle_inhibitor_count self.subsurfaces: list[SubSurface] = [] self._wid = wid self._mapped: bool = False self.x = 0 self.y = 0 self._width = 0 self._height = 0 self.borderwidth: int = 0 self.bordercolor: list[ffi.CData] = [_rgb((0, 0, 0, 1))] self.opacity: float = 1.0 self._outputs: set[Output] = set() self._float_state = FloatStates.FLOATING self.is_layer = False self._app_id: str | None = None self.add_listener(surface.map_event, self._on_map) self.add_listener(surface.unmap_event, self._on_unmap) self.add_listener(surface.destroy_event, self._on_destroy) self.add_listener(surface.surface.commit_event, self._on_commit) if isinstance(surface, LayerSurfaceV1): self.is_layer = True self._layer = LayerShellV1Layer.BACKGROUND self.desired_width = 0 self.desired_height = 0 if surface.output is None: surface.output = core.output_layout.output_at(core.cursor.x, core.cursor.y) self.output = core.output_from_wlr_output(surface.output) self.screen = self.output.screen self.mapped = True self._outputs.add(self.output) elif isinstance(surface, XdgSurface): if surface.toplevel.title: self.name = surface.toplevel.title self._app_id = surface.toplevel.app_id self.add_listener(surface.toplevel.set_title_event, self._on_set_title) self.add_listener(surface.toplevel.set_app_id_event, self._on_set_app_id) self._find_outputs() else: # xwayland.Surface self._app_id = surface.wm_class self._find_outputs() if surface.data: self.ftm_handle = surface.data self.add_listener(self.ftm_handle.request_close_event, self._on_foreign_request_close)