From c6f26c05d7280d852550c5a6f96eb589fa9c087a Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Tue, 10 Jan 2017 22:19:00 +0200 Subject: [PATCH] Accessibility: option to prevent status line updates Apparently some screen readers keep reading the status lines at the bottom of the screen when parts of those change. Add an option to prevent updates to those lines. --- doc/Guidebook.mn | 6 ++++++ doc/Guidebook.tex | 8 ++++++++ doc/fixes36.1 | 1 + include/flag.h | 1 + src/botl.c | 4 ++-- src/options.c | 1 + 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/doc/Guidebook.mn b/doc/Guidebook.mn index f5adc8b6..de4e6c01 100644 --- a/doc/Guidebook.mn +++ b/doc/Guidebook.mn @@ -2859,6 +2859,8 @@ Boldface monsters and ``\fB--More--\fP'' (default off). Persistent. .lp statushilites Enable coloring of status fields (default off). See ``Configuring Status Hilites'' for further information. +.lp status_updates +Allow updates to the status lines at the bottom of the screen (default true). .lp suppress_alert This option may be set to a NetHack version level to suppress alert notification messages about feature changes for that @@ -3707,6 +3709,10 @@ was interrupted. .lp whatis_coord:compass When targeting with cursor, describe the cursor position with coordinates relative to your character. +.lp nostatus_updates +Prevent updates to the status lines at the bottom of the screen, if +your screen-reader reads those lines. The same information can be +seen via the #attributes command. .hn 2 Global Configuration for System Administrators .pg diff --git a/doc/Guidebook.tex b/doc/Guidebook.tex index 0f3c8350..7c2d3e6f 100644 --- a/doc/Guidebook.tex +++ b/doc/Guidebook.tex @@ -3479,6 +3479,9 @@ Boldface monsters and ``{\tt --More--}'' (default off). Persistent. Enable coloring of status fields (default off). See ``{\it Configuring Status Hilites\/}'' for further information. %.lp +\item[\ib{status\verb+_+updates}] +Allow updates to the status lines at the bottom of the screen (default true). +%.lp \item[\ib{suppress\verb+_+alert}] This option may be set to a NetHack version level to suppress alert notification messages about feature changes for that @@ -4509,6 +4512,11 @@ was interrupted. \item[\ib{whatis\verb+_+coord:compass}] When targeting with cursor, describe the cursor position with coordinates relative to your character. +%.lp +\item[\ib{nostatus\verb+_+updates}] +Prevent updates to the status lines at the bottom of the screen, if +your screen-reader reads those lines. The same information can be +seen via the #attributes command. \elist %.hn2 diff --git a/doc/fixes36.1 b/doc/fixes36.1 index 290a9d4a..56916b68 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -365,6 +365,7 @@ some death by the-poison-was-deadly situations left stale non-zero HP shown when sitting at a trap spot: You sit down. You step on a level teleporter. (likewise for polymorph trap, and similar issue for web) show all statusline information in #attributes +add option status_updates to prevent bottom of screen status line updates Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository diff --git a/include/flag.h b/include/flag.h index 4927cb63..612a1472 100644 --- a/include/flag.h +++ b/include/flag.h @@ -232,6 +232,7 @@ struct instance_flags { boolean echo; /* 1 to echo characters */ boolean use_menu_color; /* use color in menus; only if wc_color */ boolean use_status_hilites; /* use color in status line */ + boolean status_updates; /* allow updates to bottom status lines */ boolean use_background_glyph; /* use background glyph when appropriate */ boolean hilite_pile; /* mark piles of objects with a hilite */ boolean autodescribe; /* autodescribe mode in getpos() */ diff --git a/src/botl.c b/src/botl.c index 8fc6ab52..f3908617 100644 --- a/src/botl.c +++ b/src/botl.c @@ -213,7 +213,7 @@ bot2() void bot() { - if (youmonst.data) { + if (youmonst.data && iflags.status_updates) { bot1(); bot2(); } @@ -436,7 +436,7 @@ bot() if (!blinit) panic("bot before init."); - if (!youmonst.data) { + if (!youmonst.data || !iflags.status_updates) { context.botl = context.botlx = 0; update_all = FALSE; return; diff --git a/src/options.c b/src/options.c index 9b610f3d..d49102dd 100644 --- a/src/options.c +++ b/src/options.c @@ -208,6 +208,7 @@ static struct Bool_Opt { #else { "statushilites", &iflags.use_status_hilites, FALSE, DISP_IN_GAME }, #endif + { "status_updates", &iflags.status_updates, TRUE, DISP_IN_GAME }, { "tiled_map", &iflags.wc_tiled_map, PREFER_TILED, DISP_IN_GAME }, /*WC*/ { "time", &flags.time, FALSE, SET_IN_GAME }, #ifdef TIMED_DELAY -- 2.11.4.GIT