From 85fe1dc49425679aba6617a88b24bb92a90fb4a7 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Fri, 22 May 2026 00:40:24 +0200 Subject: [PATCH] Added url truncation based on browser width to header and footer --- nomadnet/ui/textui/Browser.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/nomadnet/ui/textui/Browser.py b/nomadnet/ui/textui/Browser.py index 9964177..29649ad 100644 --- a/nomadnet/ui/textui/Browser.py +++ b/nomadnet/ui/textui/Browser.py @@ -192,9 +192,10 @@ class Browser: if can_display: self.link_status_showing = True lt_str = str(link_target) - lmax = 128 - if len(lt_str) > lmax: lt_str = lt_str[:lmax]+"…" - self.browser_footer = urwid.AttrMap(urwid.Pile([urwid.Divider(self.g["divider1"]), urwid.Text("Link to "+lt_str)]), "browser_controls") + lmax = self._content_cols() + lstr = "Link to "+lt_str + if len(lstr) > lmax: lstr = lstr[:lmax-1]+"…" + self.browser_footer = urwid.AttrMap(urwid.Pile([urwid.Divider(self.g["divider1"]), urwid.Text(lstr)]), "browser_controls") self.frame.contents["footer"] = (self.browser_footer, self.frame.options()) if self.page_background_color != None or self.page_foreground_color != None: style_name = make_style(default_state(fg=self.page_foreground_color, bg=self.page_background_color)) @@ -499,8 +500,11 @@ class Browser: return urwid.AttrMap(widget, "browser_controls") def make_control_widget(self): - url_text = urwid.Text(self.g["node"]+" "+self.current_url()) + lstr = self.g["node"]+" "+self.current_url() copy_glyph = self.g.get("copy", "[C]") + lmax = self._content_cols()-len(copy_glyph)-len(copy_glyph)-1 + if len(lstr) > lmax: lstr = lstr[:lmax-1]+"…" + url_text = urwid.Text(lstr) copy_icon = ClickableIcon(copy_glyph, on_click=lambda: self.copy_url()) copy_width = len(copy_glyph) + 2 header_row = urwid.Columns([