From 040427884b99f93fde4db57c3e41081e7e6ccfa5 Mon Sep 17 00:00:00 2001 From: Dan Schwarz Date: Mon, 13 Mar 2023 20:50:23 -0400 Subject: [PATCH] Make button widget unicode-aware (spacing) --- toot/tui/widgets.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/toot/tui/widgets.py b/toot/tui/widgets.py index 6f46fb3..f2ae4b8 100644 --- a/toot/tui/widgets.py +++ b/toot/tui/widgets.py @@ -1,4 +1,5 @@ import urwid +from wcwidth import wcswidth class Clickable: @@ -40,12 +41,12 @@ class Button(urwid.AttrWrap): """Styled button.""" def __init__(self, *args, **kwargs): button = urwid.Button(*args, **kwargs) - padding = urwid.Padding(button, width=len(args[0]) + 4) + padding = urwid.Padding(button, width=wcswidth(args[0]) + 4) return super().__init__(padding, "button", "button_focused") def set_label(self, *args, **kwargs): self.original_widget.original_widget.set_label(*args, **kwargs) - self.original_widget.width = len(args[0]) + 4 + self.original_widget.width = wcswidth(args[0]) + 4 class CheckBox(urwid.AttrWrap):