From 0afe81873c9621b863611d91d838243d788d6991 Mon Sep 17 00:00:00 2001 From: InspectorCaracal <51038201+InspectorCaracal@users.noreply.github.com> Date: Fri, 5 Jan 2024 15:14:31 -0700 Subject: [PATCH] Update evmenu.py --- evennia/utils/evmenu.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/evennia/utils/evmenu.py b/evennia/utils/evmenu.py index ff2804415..ecf21c2c0 100644 --- a/evennia/utils/evmenu.py +++ b/evennia/utils/evmenu.py @@ -1206,7 +1206,16 @@ class EvMenu: else: # add a default white color to key table.append(f" |lc{raw_key}|lt|w{key}|n|le{desc_string}") - ncols = _MAX_TEXT_WIDTH // table_width_max # number of columns + + # check if the caller is using a screenreader + screenreader_mode = False + if session := getattr(self.caller, 'session', None): + screenreader_mode = session.protocol_flags.get("SCREENREADER") + # the caller doesn't have a session; check it directly + elif hasattr(self.caller, 'protocol_flags'): + screenreader_mode = self.caller.protocol_flags.get("SCREENREADER") + + ncols = 1 if screenreader_mode else _MAX_TEXT_WIDTH // table_width_max if ncols < 0: # no visible options at all