本文整理汇总了Python中stage.Stage.cancel_unlock_widget方法的典型用法代码示例。如果您正苦于以下问题:Python Stage.cancel_unlock_widget方法的具体用法?Python Stage.cancel_unlock_widget怎么用?Python Stage.cancel_unlock_widget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类stage.Stage
的用法示例。
在下文中一共展示了Stage.cancel_unlock_widget方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ScreensaverManager
# 需要导入模块: from stage import Stage [as 别名]
# 或者: from stage.Stage import cancel_unlock_widget [as 别名]
#.........这里部分代码省略.........
def despawn_stage(self, effect_time=c.STAGE_DESPAWN_TRANSITION, callback=None):
self.stage.transition_out(effect_time, callback)
def on_spawn_stage_complete(self):
self.grab_stage()
status.Active = True
self.emit("active-changed", True)
self.start_timers()
def on_despawn_stage_complete(self):
was_active = status.Active == True
status.Active = False
if was_active:
self.emit("active-changed", False)
self.cancel_timers()
self.stage.destroy_stage()
self.stage = None
def grab_stage(self):
self.grab_helper.move_to_window(self.stage.get_window(), True)
def start_timers(self):
self.activated_timestamp = time.time()
self.start_lock_delay()
def cancel_timers(self):
self.activated_timestamp = 0
self.stop_lock_delay()
def cancel_unlock_widget(self):
self.grab_stage()
self.stage.cancel_unlock_widget();
def on_lock_delay_timeout(self):
status.Locked = True
return False
def start_lock_delay(self):
if not settings.get_idle_lock_enabled():
return
if not utils.user_can_lock():
return
lock_delay = settings.get_idle_lock_delay()
if lock_delay == 0:
self.on_lock_delay_timeout()
else:
trackers.timer_tracker_get().start_seconds("idle-lock-delay",
lock_delay,
self.on_lock_delay_timeout)
def stop_lock_delay(self):
trackers.timer_tracker_get().cancel("idle-lock-delay")
##### EventHandler/GrabHelper/FocusNavigator calls
def queue_dialog_key_event(self, event):
self.stage.queue_dialog_key_event(event)
def propagate_tab_event(self, shifted):
self.focus_nav.navigate(shifted)
def propagate_activation(self):
self.focus_nav.activate_focus()
def get_focused_widget(self):
return self.focus_nav.get_focused_widget()
# Session watcher handler:
def on_session_idle_changed(self, proxy, idle):
if idle and not status.Active:
if self.grab_helper.grab_offscreen(False):
self.spawn_stage("", c.STAGE_IDLE_SPAWN_TRANSITION, self.on_spawn_stage_complete)
else:
print("Can't fade in screensaver, unable to grab the keyboard")
else:
if not status.Active:
if self.stage:
self.despawn_stage(c.STAGE_IDLE_CANCEL_SPAWN_TRANSITION, self.on_despawn_stage_complete)
trackers.timer_tracker_get().start("release-grab-timeout",
c.GRAB_RELEASE_TIMEOUT,
self.on_release_grab_timeout)
def on_release_grab_timeout(self):
if not status.Active:
self.grab_helper.release()
return False
示例2: ScreensaverManager
# 需要导入模块: from stage import Stage [as 别名]
# 或者: from stage.Stage import cancel_unlock_widget [as 别名]
#.........这里部分代码省略.........
self.stage.destroy_stage()
self.stage = None
# Ideal time to check for leaking connections that might prevent GC by python and gobject
if trackers.DEBUG_SIGNALS:
trackers.con_tracker_get().dump_connections_list()
if trackers.DEBUG_TIMERS:
trackers.timer_tracker_get().dump_timer_list()
def grab_stage(self):
"""
Makes a hard grab on the Stage window, all keyboard and mouse events are dispatched or eaten
by us now.
"""
self.grab_helper.move_to_window(self.stage.get_window(), True)
def start_timers(self):
"""
Stamps our current time starts our lock delay timer (the elapsed time to allow after
activation, to lock the computer.)
"""
self.activated_timestamp = time.time()
self.start_lock_delay()
def cancel_timers(self):
"""
Zeros out our activated timestamp and cancels our lock delay timer.
"""
self.activated_timestamp = 0
self.stop_lock_delay()
def cancel_unlock_widget(self):
"""
Return to sleep (not Awake) - hides the pointer and the unlock widget,
which also restarts plugins if necessary.
"""
self.grab_stage()
self.stage.cancel_unlock_widget();
def on_lock_delay_timeout(self):
"""
Updates the lock status when our timer has hit its limit
"""
status.Locked = True
return False
def start_lock_delay(self):
"""
Setup the lock delay timer based on user prefs - if there is
no delay, or if idle locking isn't enabled, we run the callback
immediately, or simply return, respectively.
"""
if not settings.get_idle_lock_enabled():
return
if not utils.user_can_lock():
return
lock_delay = settings.get_idle_lock_delay()
if lock_delay == 0:
self.on_lock_delay_timeout()
else: