本文整理汇总了Python中window.Window.scroll方法的典型用法代码示例。如果您正苦于以下问题:Python Window.scroll方法的具体用法?Python Window.scroll怎么用?Python Window.scroll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类window.Window
的用法示例。
在下文中一共展示了Window.scroll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: start_client
# 需要导入模块: from window import Window [as 别名]
# 或者: from window.Window import scroll [as 别名]
def start_client(sc, origin, pubkey, subkey, channel):
global MSG_CURSOR
global AUTO_PUBLISH
# Set locale encoding
import locale
locale.setlocale(locale.LC_ALL, '')
code = locale.getpreferredencoding()
MAXY, MAXX = sc.getmaxyx()
curses.use_default_colors()
curses.init_pair(1, curses.COLOR_WHITE, COLOR_DEFAULT)
curses.init_pair(2, curses.COLOR_CYAN, COLOR_DEFAULT)
curses.init_pair(3, curses.COLOR_YELLOW, COLOR_DEFAULT)
curses.init_pair(4, curses.COLOR_MAGENTA, COLOR_DEFAULT)
# Check for min terminal height
if MAXY < 46:
sc.addstr(0, 0, "Your terminal window is too small. Please make it taller and try again. Press any key to continue...", curses.color_pair(3))
sc.getch()
return 1
draw_header(sc, origin, pubkey, subkey, channel)
# Draw winows
sub_win = Window(sc, HEADER_LINES + 1, SUB_WINDOW_LINES, "Messages:")
presence_win = Window(sc, HEADER_LINES + SUB_LINES + PUB_LINES + 1, PRESENCE_LINES, "Presence:")
history_win = Window(sc, HISTORY_Y, HISTORY_LINES, "History:")
# Draw Subscribe controls
sc.addstr(SUB_Y, 22, "Scroll", curses.color_pair(1))
sc.addch(SUB_Y, 29, curses.ACS_UARROW, curses.color_pair(2))
sc.addch(SUB_Y, 31, curses.ACS_DARROW, curses.color_pair(2))
# Draw history controls
sc.addstr(HISTORY_Y, 10, "Refresh", curses.color_pair(1))
sc.addstr(HISTORY_Y, 18, "(h)", curses.color_pair(2))
sc.addstr(HISTORY_Y, 22, "Scroll", curses.color_pair(1))
sc.addstr(HISTORY_Y, 29, "(j)", curses.color_pair(2))
sc.addstr(HISTORY_Y, 33, "(k)", curses.color_pair(2))
# Draw publish controls
sc.addstr(PUB_Y, 0, "Publish: Re-Publish last", curses.color_pair(1))
sc.addstr(PUB_Y, 9, "(Ctrl-G)", curses.color_pair(2))
sc.addstr(PUB_Y, 34, "(r)", curses.color_pair(2))
auto_publish_state(sc, "info")
pub_win, pub_text = draw_pubbox(sc)
# Setup stdscr
sc.refresh()
sub_win.refresh()
pub_win.refresh()
presence_win.refresh()
history_win.refresh()
logger = threading.Thread(target=message_log, args=(sub_win,))
logger.daemon=True
logger.start()
log_parser = threading.Thread(target=parse_logs, args=(sc,))
log_parser.daemon = True
log_parser.start()
subscriber = threading.Thread(target=subscribe, args=(origin, subkey, channel))
subscriber.daemon = True
subscriber.start()
presence_thread = threading.Thread(target=presence, args=(origin, subkey, channel, presence_win))
presence_thread.daemon = True
presence_thread.start()
history(origin, subkey, channel, history_win)
while True:
cmd = sc.getch()
if cmd == ord('q'):
break
# Clear windows
elif cmd == ord('c'):
sub_win.clear()
history_win.clear()
presence_win.clear()
elif cmd == ord('p'):
#TODO: redrawing all is overkill
pub_win, pub_text = draw_pubbox(sc)
publish(origin, pubkey, subkey, channel, pub_text.edit())
# Re-publish
elif cmd == ord('r'):
publish(origin, pubkey, subkey, channel, pub_text.gather())
# Subscribe pane scrolling
elif cmd == curses.KEY_UP:
sub_win.scroll(-1)
elif cmd == curses.KEY_DOWN:
#.........这里部分代码省略.........