retronews

a featureful fork of the luke8086/retronews hn+lobste.rs tui
Log | Files | Refs | README | LICENSE

commit 9fbdb905fb18e7f7bef42d5841f6a0fcb47224c7
parent 63b2a7657e1a449c01c88fa1508bbc837860e194
Author: luke8086 <55237178+luke8086@users.noreply.github.com>
Date:   Sat, 17 Jun 2023 16:31:12 +0000

Improve view for opening external links

Diffstat:
Mretronews.py | 13++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/retronews.py b/retronews.py @@ -1244,22 +1244,25 @@ def app_show_help_screen(app: AppState) -> None: def app_show_links_screen(app: AppState) -> None: - app.screen.erase() - app.screen.addstr(0, 0, "Select link to open:") - app.screen.refresh() - lines = app.selected_message.lines if app.selected_message is not None else [] - keys = "1234567890abcdefghij" + # Max amount of keys is 21 to fit on 25-line terminals + keys = "1234567890abcdefghijk" urls = URL_REX.findall(" ".join(lines)) items = dict(zip((ord(k) for k in keys), urls)) if len(items) == 0: return app_show_flash(app, "No links available for opening") + app.screen.erase() + app.screen.addstr(0, 0, "Select link to open:") + for (i, (key, url)) in enumerate(items.items()): app.screen.addstr(i + 2, 0, f"{chr(key)} - {url}") + app.screen.addstr(i + 4, 0, "To change browser run: BROWSER='firefox %s' ./retronews.py") + app.screen.refresh() + key = app.screen.getch() if key not in items.keys():