From dac949ab2b7544f5f283df396ffe2e479ba08387 Mon Sep 17 00:00:00 2001 From: Luxferre Date: Thu, 1 Jan 2026 09:37:13 +0200 Subject: [PATCH] optimized bro ui --- app/bro.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/bro.py b/app/bro.py index 481c31e..3d2ddab 100644 --- a/app/bro.py +++ b/app/bro.py @@ -1,5 +1,5 @@ # DeckBro: a simple DeckText/HTML browser for T-DeckARD environment -# Usage: from app.bro import DeckBro +# Usage: from app.bro import bro # Created by Luxferre in 2025-2026, released into public domain import re @@ -38,12 +38,12 @@ class DeckBro: def display(self): curpage = 1 - totalpages = len(self.rendered_pages) menustring = 'g)o r)ef b)ack f)wd n)ext p)rev l)ink or pg#: ' do_new_display = True while True: + totalpages = len(self.rendered_pages) if do_new_display and curpage > 0 and curpage <= totalpages: - print_paged(self.rendered_pages[curpage - 1]) + print_paged('\x1b[2J' + self.rendered_pages[curpage - 1]) print(f'[{self.url}]') user_choice = input(menustring).strip() pgnum = None @@ -77,8 +77,8 @@ class DeckBro: if curpage < 1: # wrap around curpage = totalpages elif ch_letter == 'g': + do_new_display = True self.go(user_opt) - break elif ch_letter == 'l': addr = None try: @@ -89,19 +89,19 @@ class DeckBro: print('Invalid link number entered!') do_new_display = False else: + do_new_display = True self.go(addr) - break elif ch_letter == 'r': + do_new_display = True self.refresh() - break elif ch_letter == 'b': if self.back() is not None: - break + do_new_display = True else: do_new_display = False elif ch_letter == 'f': if self.forward() is not None: - break + do_new_display = True else: do_new_display = False @@ -117,7 +117,7 @@ class DeckBro: if new_url.startswith('/'): new_url = base_url + new_url else: - new_url = current_url + '/' + new_url + new_url = current_url + new_url self.url = re.sub(r'([^:])//+', r'\1/', new_url) status, pagetext = http_fetch(self.url) if status != 200: @@ -131,7 +131,6 @@ class DeckBro: self.history.append(self.url) self.history_pos = len(self.history) - 1 self.render() - self.display() def refresh(self): self.go(self.url, update_history=False) @@ -156,3 +155,4 @@ class DeckBro: def bro(url=None): inst = DeckBro() inst.go(url) + inst.display()