def setup_window(self): ClientWindowBase.setup_window(self) self.set_app_paintable(True) self.add_events(self.WINDOW_EVENT_MASK) if self._override_redirect: transient_for = self.get_transient_for() type_hint = self.get_type_hint() if transient_for is not None and transient_for.window is not None and type_hint in self.OR_TYPE_HINTS: transient_for._override_redirect_windows.append(self) if not self._override_redirect: self.connect("notify::has-toplevel-focus", self._focus_change) def focus_in(*args): self.debug("focus-in-event for wid=%s", self._id) def focus_out(*args): self.debug("focus-out-event for wid=%s", self._id) self.connect("focus-in-event", focus_in) self.connect("focus-out-event", focus_out) if self._can_set_workspace: self.connect("property-notify-event", self.property_changed) self.connect("window-state-event", self.window_state_updated) self.move(*self._pos) self.set_default_size(*self._size)
def setup_window(self): self.set_app_paintable(True) self.add_events(self.WINDOW_EVENT_MASK) self.set_alpha() if self._override_redirect: transient_for = self.get_transient_for() type_hint = self.get_type_hint() if transient_for is not None and type_hint in self.OR_TYPE_HINTS: transient_for._override_redirect_windows.append(self) if not self._override_redirect: self.connect("notify::has-toplevel-focus", self._focus_change) def focus_in(*args): focuslog("focus-in-event for wid=%s", self._id) def focus_out(*args): focuslog("focus-out-event for wid=%s", self._id) self.connect("focus-in-event", focus_in) self.connect("focus-out-event", focus_out) self.connect("property-notify-event", self.property_changed) self.connect("window-state-event", self.window_state_updated) #this will create the backing: ClientWindowBase.setup_window(self) #honour the initial position if the flag is set #(or just if non zero, for older servers) if self._pos!=(0, 0) or self._set_initial_position: self.move(*self._pos) self.set_default_size(*self._size)
def setup_window(self): ClientWindowBase.setup_window(self) self.set_app_paintable(True) self.add_events(self.WINDOW_EVENT_MASK) if self._override_redirect: transient_for = self.get_transient_for() type_hint = self.get_type_hint() if transient_for is not None and transient_for.window is not None and type_hint in self.OR_TYPE_HINTS: transient_for._override_redirect_windows.append(self) if not self._override_redirect: self.connect("notify::has-toplevel-focus", self._focus_change) def focus_in(*args): focuslog("focus-in-event for wid=%s", self._id) def focus_out(*args): focuslog("focus-out-event for wid=%s", self._id) self.connect("focus-in-event", focus_in) self.connect("focus-out-event", focus_out) if self._can_set_workspace: self.connect("property-notify-event", self.property_changed) self.connect("window-state-event", self.window_state_updated) self.move(*self._pos) self.set_default_size(*self._size)
def setup_window(self): self.set_app_paintable(True) self.add_events(self.WINDOW_EVENT_MASK) self.set_alpha() if self._override_redirect: transient_for = self.get_transient_for() type_hint = self.get_type_hint() if transient_for is not None and type_hint in self.OR_TYPE_HINTS: transient_for._override_redirect_windows.append(self) if not self._override_redirect: self.connect("notify::has-toplevel-focus", self._focus_change) def focus_in(*args): focuslog("focus-in-event for wid=%s", self._id) def focus_out(*args): focuslog("focus-out-event for wid=%s", self._id) self.connect("focus-in-event", focus_in) self.connect("focus-out-event", focus_out) self.connect("property-notify-event", self.property_changed) self.connect("window-state-event", self.window_state_updated) #this will create the backing: ClientWindowBase.setup_window(self) #honour the initial position if the flag is set #(or just if non zero, for older servers) if self._pos != (0, 0) or self._set_initial_position: self.move(*self._pos) self.set_default_size(*self._size)
def setup_window(self): self.set_app_paintable(True) self.add_events(self.WINDOW_EVENT_MASK) #try to enable alpha on this window if needed, #and if the backing class can support it: bc = self.get_backing_class() log("setup_window() has_alpha=%s, %s.HAS_ALPHA=%s", self._has_alpha, bc, bc.HAS_ALPHA) if self._has_alpha and bc.HAS_ALPHA: screen = self.get_screen() rgba = screen.get_rgba_colormap() if rgba is None: log.error("cannot handle window transparency on screen %s", screen) else: self.set_colormap(rgba) self._window_alpha = True if self._override_redirect: transient_for = self.get_transient_for() type_hint = self.get_type_hint() if transient_for is not None and transient_for.window is not None and type_hint in self.OR_TYPE_HINTS: transient_for._override_redirect_windows.append(self) if not self._override_redirect: self.connect("notify::has-toplevel-focus", self._focus_change) def focus_in(*args): focuslog("focus-in-event for wid=%s", self._id) def focus_out(*args): focuslog("focus-out-event for wid=%s", self._id) self.connect("focus-in-event", focus_in) self.connect("focus-out-event", focus_out) if self._can_set_workspace: self.connect("property-notify-event", self.property_changed) self.connect("window-state-event", self.window_state_updated) #this will create the backing: ClientWindowBase.setup_window(self) #honour the initial position if the flag is set #(or just if non zero, for older servers) if self._pos != (0, 0) or self._set_initial_position: self.move(*self._pos) self.set_default_size(*self._size)
def setup_window(self, *args): self.set_alpha() if self._override_redirect: transient_for = self.get_transient_for() type_hint = self.get_type_hint() if transient_for is not None and type_hint in self.OR_TYPE_HINTS: transient_for._override_redirect_windows.append(self) if not self._override_redirect: self.connect("notify::has-toplevel-focus", self._focus_change) def focus_in(*args): focuslog("focus-in-event for wid=%s", self._id) def focus_out(*args): focuslog("focus-out-event for wid=%s", self._id) self.connect("focus-in-event", focus_in) self.connect("focus-out-event", focus_out) self.connect("property-notify-event", self.property_changed) self.connect("window-state-event", self.window_state_updated) #this will create the backing: ClientWindowBase.setup_window(self, *args) #honour the initial position if the flag is set #(or just if non zero, for older servers) if self._pos!=(0, 0) or self._set_initial_position: x,y = self._pos geomlog("setup_window() initial position=%s", self._pos) if not self.is_OR() and self.get_decorated(): #try to adjust for window frame size if we can figure it out: #Note: we cannot just call self.get_window_frame_size() here because #the window is not realized yet, and it may take a while for the window manager #to set the frame-extents property anyway wfs = self._client.get_window_frame_sizes() dx, dy = 0, 0 if wfs: geomlog("setup_window() window frame sizes=%s", wfs) v = wfs.get("offset") if v: dx, dy = v x = max(0, x-dx) y = max(0, y-dy) self._pos = x, y geomlog("setup_window() adjusted initial position=%s", self._pos) self.move(x, y) self.set_default_size(*self._size)
def setup_window(self): self.set_app_paintable(True) self.add_events(self.WINDOW_EVENT_MASK) #try to enable alpha on this window if needed, #and if the backing class can support it: bc = self.get_backing_class() log("setup_window() has_alpha=%s, %s.HAS_ALPHA=%s", self._has_alpha, bc, bc.HAS_ALPHA) if self._has_alpha and bc.HAS_ALPHA: screen = self.get_screen() rgba = screen.get_rgba_colormap() if rgba is None: log.error("cannot handle window transparency on screen %s", screen) else: self.set_colormap(rgba) self._window_alpha = True if self._override_redirect: transient_for = self.get_transient_for() type_hint = self.get_type_hint() if transient_for is not None and transient_for.window is not None and type_hint in self.OR_TYPE_HINTS: transient_for._override_redirect_windows.append(self) if not self._override_redirect: self.connect("notify::has-toplevel-focus", self._focus_change) def focus_in(*args): focuslog("focus-in-event for wid=%s", self._id) def focus_out(*args): focuslog("focus-out-event for wid=%s", self._id) self.connect("focus-in-event", focus_in) self.connect("focus-out-event", focus_out) if self._can_set_workspace: self.connect("property-notify-event", self.property_changed) self.connect("window-state-event", self.window_state_updated) #this will create the backing: ClientWindowBase.setup_window(self) #honour the initial position if the flag is set #(or just if non zero, for older servers) if self._pos!=(0, 0) or self._set_initial_position: self.move(*self._pos) self.set_default_size(*self._size)