help message command added
This commit is contained in:
@@ -31,6 +31,7 @@ Global Commands
|
||||
`q` : Quit the program.
|
||||
`o` : Open the url of the selected item in the default web
|
||||
browser.
|
||||
`?` : Show the help message.
|
||||
|
||||
Subreddit Mode
|
||||
Right or `Enter` : Open the currently selected submission in a new page.
|
||||
|
||||
@@ -6,7 +6,7 @@ import six
|
||||
|
||||
from .content import SubmissionContent
|
||||
from .page import BasePage
|
||||
from .utils import LoadScreen, Color, ESCAPE
|
||||
from .utils import LoadScreen, Color, ESCAPE, display_message, help_msg
|
||||
|
||||
class SubmissionPage(BasePage):
|
||||
|
||||
@@ -54,6 +54,9 @@ class SubmissionPage(BasePage):
|
||||
elif cmd in (ESCAPE, curses.KEY_LEFT, ord('h')):
|
||||
break
|
||||
|
||||
elif cmd == ord('?'):
|
||||
display_message(self.stdscr, help_msg)
|
||||
|
||||
elif cmd == ord('q'):
|
||||
sys.exit()
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ from .errors import SubredditNameError
|
||||
from .page import BasePage
|
||||
from .submission import SubmissionPage
|
||||
from .content import SubredditContent
|
||||
from .utils import LoadScreen, text_input, display_message, Color, ESCAPE
|
||||
from .utils import LoadScreen, text_input, display_message, Color, ESCAPE, help_msg
|
||||
|
||||
class SubredditPage(BasePage):
|
||||
|
||||
@@ -52,6 +52,9 @@ class SubredditPage(BasePage):
|
||||
elif cmd == curses.KEY_RESIZE:
|
||||
self.draw()
|
||||
|
||||
elif cmd == ord('?'):
|
||||
display_message(self.stdscr, help_msg)
|
||||
|
||||
elif cmd == ord('q'):
|
||||
sys.exit()
|
||||
|
||||
|
||||
41
rtv/utils.py
41
rtv/utils.py
@@ -16,6 +16,27 @@ from .errors import EscapePressed
|
||||
|
||||
ESCAPE = 27
|
||||
|
||||
help_msg = """Global Commands
|
||||
Arrow Keys or `hjkl`: Navigations.
|
||||
`r` or `F5` : Refresh the current page.
|
||||
`q` : Quit the program.
|
||||
`o` : Open the url of the selected item in the default web
|
||||
browser.
|
||||
`?` : Show this help message.
|
||||
|
||||
Subreddit Mode
|
||||
Right or `Enter` : Open the currently selected submission in a new page.
|
||||
`/` : Open a prompt to switch to a different subreddit.
|
||||
|
||||
Submission Mode
|
||||
Right or `Enter` : Toggle the currently selected comment between hidden
|
||||
and visible.
|
||||
Left : Exit the submission page and return to the subreddit.
|
||||
"""
|
||||
|
||||
help_msg = help_msg.split("\n")
|
||||
|
||||
|
||||
class Color(object):
|
||||
|
||||
COLORS = {
|
||||
@@ -118,17 +139,29 @@ def text_input(window):
|
||||
def display_message(stdscr, message):
|
||||
"Display a message box at the center of the screen and wait for a keypress"
|
||||
|
||||
message_len = len(message)
|
||||
n_rows, n_cols = stdscr.getmaxyx()
|
||||
|
||||
if type(message) == list:
|
||||
message_len = max(map(len, message))
|
||||
s_row = (n_rows - len(message)) // 2
|
||||
s_col = (n_cols - message_len - 1) // 2
|
||||
window = stdscr.derwin(len(message) + 2, message_len + 3, s_row, s_col)
|
||||
else:
|
||||
message_len = len(message)
|
||||
s_row = (n_rows - 2) // 2
|
||||
s_col = (n_cols - message_len - 1) // 2
|
||||
window = stdscr.derwin(3, message_len+2, s_row, s_col)
|
||||
window = stdscr.derwin(10, 3, s_row, s_col)
|
||||
|
||||
window.erase()
|
||||
window.border()
|
||||
window.addstr(1, 1, message)
|
||||
window.refresh()
|
||||
|
||||
if type(message) == list:
|
||||
for i in range(len(message)):
|
||||
window.addstr(i + 1, 1, message[i])
|
||||
else:
|
||||
window.addstr(1, 1, message)
|
||||
|
||||
window.refresh()
|
||||
stdscr.getch()
|
||||
|
||||
window.clear()
|
||||
|
||||
Reference in New Issue
Block a user