本文整理汇总了Python中display.Display.update_screen_size方法的典型用法代码示例。如果您正苦于以下问题:Python Display.update_screen_size方法的具体用法?Python Display.update_screen_size怎么用?Python Display.update_screen_size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类display.Display
的用法示例。
在下文中一共展示了Display.update_screen_size方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Percol
# 需要导入模块: from display import Display [as 别名]
# 或者: from display.Display import update_screen_size [as 别名]
#.........这里部分代码省略.........
if not self.result_updating_timer is None:
# clear timer
self.result_updating_timer.cancel()
self.result_updating_timer = None
# with bounce
t = threading.Timer(self.SEARCH_DELAY, search_and_refresh_display)
self.result_updating_timer = t
t.start()
self.view.refresh_display()
except TerminateLoop as e:
return e.value
# ============================================================ #
# Key Handling
# ============================================================ #
keymap = {
"C-i" : lambda percol: percol.switch_model(),
# text
"C-h" : lambda percol: percol.command.delete_backward_char(),
"<backspace>" : lambda percol: percol.command.delete_backward_char(),
"C-w" : lambda percol: percol.command.delete_backward_word(),
"C-u" : lambda percol: percol.command.clear_query(),
"<dc>" : lambda percol: percol.command.delete_forward_char(),
# caret
"<left>" : lambda percol: percol.command.backward_char(),
"<right>" : lambda percol: percol.command.forward_char(),
# line
"<down>" : lambda percol: percol.command.select_next(),
"<up>" : lambda percol: percol.command.select_previous(),
# page
"<npage>" : lambda percol: percol.command.select_next_page(),
"<ppage>" : lambda percol: percol.command.select_previous_page(),
# top / bottom
"<home>" : lambda percol: percol.command.select_top(),
"<end>" : lambda percol: percol.command.select_bottom(),
# mark
"C-SPC" : lambda percol: percol.command.toggle_mark_and_next(),
# finish
"RET" : lambda percol: percol.finish(), # Is RET never sent?
"C-j" : lambda percol: percol.finish(),
"C-c" : lambda percol: percol.cancel()
}
def import_keymap(self, keymap, reset = False):
if reset:
self.keymap = {}
else:
self.keymap = dict(self.keymap)
for key, cmd in keymap.iteritems():
self.keymap[key] = cmd
# default
last_key = None
def handle_key(self, ch):
if ch == curses.KEY_RESIZE:
self.last_key = self.handle_resize(ch)
elif ch != -1 and self.keyhandler.is_utf8_multibyte_key(ch):
self.last_key = self.handle_utf8(ch)
else:
self.last_key = self.handle_normal_key(ch)
def handle_resize(self, ch):
self.display.update_screen_size()
# XXX: trash -1 (it seems that resize key sends -1)
self.keyhandler.get_key_for(self.screen.getch())
return key.SPECIAL_KEYS[ch]
def handle_utf8(self, ch):
ukey = self.keyhandler.get_utf8_key_for(ch)
self.model.insert_string(ukey)
return ukey.encode(self.encoding)
def handle_normal_key(self, ch):
k = self.keyhandler.get_key_for(ch)
if self.keymap.has_key(k):
self.keymap[k](self)
elif self.keyhandler.is_displayable_key(ch):
self.model.insert_char(ch)
return k
# ------------------------------------------------------------ #
# Finish / Cancel
# ------------------------------------------------------------ #
def finish(self):
# save selected candidates and use them later (in execute_action)
raise TerminateLoop(self.finish_with_exit_code()) # success
def cancel(self):
raise TerminateLoop(self.cancel_with_exit_code()) # failure
def finish_with_exit_code(self):
self.args_for_action = self.model_candidate.get_selected_results_with_index()
return 0
def cancel_with_exit_code(self):
return 1