def run(self): if self._cancel: return if self._first: self._first = False gdi.add_scheduler(4, self.run) else: cx = self._dlg.get_x() + 2 self._dlg.set_position(cx, self._dlg.get_y()) ar = gdi.get_screen_size() if cx >= ar["width"]: self._dlg.hide() else: gdi.add_scheduler(0.05, self.run)
def _move_y_timer(self): if self._move_y is not None: mp = gdi.get_mouse_position() ar = gdi.get_screen_size() if mp["x"] <= ar["width"] - self._dlg.get_width(): self._move_y = None else: ny = mp["y"] - self._move_y if ny >= 0 and ny <= ar["height"] - 120 and self._dlg.get_y( ) != ny: self._dlg.set_position(self._dlg.get_x(), ny) self._dlg_y_gap = ar["height"] - ny self._skip_click = True gdi.add_scheduler(0.1, self._move_y_timer)
def update(self): bok = False if self._sessions_last_update != self._sessions: bok = True else: for k in self._list: if self._visible_cmps_last_update[k] != self._visible_cmps[k]: bok = True ar = gdi.get_screen_size() if self._screen_w != ar["width"] or self._screen_h != ar["height"]: self._screen_w = ar["width"] self._screen_h = ar["height"] bok = True if bok: if self._hide_effect is not None: self._hide_effect.cancel() if self._sessions: self._dlg_h = 22 for k in self._list: if self._visible_cmps[k]: self._cmps[k].set_position(3, self._dlg_h) self._cmps[k].set_visible(True) self._dlg_h += 18 else: self._cmps[k].set_visible(False) self._dlg.set_position(self._screen_w - self._dlg_w, self._screen_h - self._dlg_y_gap) self._dlg.set_size(self._dlg_w, self._dlg_h) self._dlg.show() if self._parent._monitor_desktop_notification == "autohide": self._hide_effect = NotifyActivitiesHideEffect(self._dlg) self._hide_effect.run() else: self._dlg.hide() for k in self._list: self._visible_cmps[k] = False self._cmps[k].set_visible(False) self._sessions_last_update = self._sessions self._visible_cmps_last_update = self._visible_cmps.copy()
def update(self): bok = False if self._sessions_last_update != self._sessions: bok = True else: for k in self._list: if self._visible_cmps_last_update[k] != self._visible_cmps[k]: bok = True ar = gdi.get_screen_size() if self._screen_w != ar["width"] or self._screen_h != ar["height"]: self._screen_w = ar["width"] self._screen_h = ar["height"] bok = True if bok: if self._sessions: self._dlg_h = 28 for k in self._list: if self._visible_cmps[k]: self._cmps[k].set_position(5, self._dlg_h) self._cmps[k].set_visible(True) self._dlg_h += 20 else: self._cmps[k].set_visible(False) if self._dlg_h == 28: self._dlg_h = 26 ygap = 100 if is_mac(): ygap = 140 self._dlg.set_position(self._screen_w - self._dlg_w, self._screen_h - self._dlg_h - ygap) self._dlg.set_size(self._dlg_w, self._dlg_h) self._dlg.show() else: self._dlg.hide() for k in self._list: self._visible_cmps[k] = False self._sessions_last_update = self._sessions self._visible_cmps_last_update = self._visible_cmps.copy()