| Makes brltty not show cofusing messages such as 'screen not in text mode' |
| to the user when the api client is not connected. This is needed because |
| it is hard to localize those messages and they don't mean anything to |
| the end user. |
| --- a/Programs/scr_base.c |
| +++ b/Programs/scr_base.c |
| @@ -82,7 +82,7 @@ |
| } |
| } |
| |
| -static const char *text_BaseScreen = "no screen"; |
| +static const char *text_BaseScreen = ""; |
| |
| static int |
| selectVirtualTerminal_BaseScreen (int vt) { |
| --- a/Programs/config.c (revision 7783) |
| +++ b/Programs/config.c (working copy) |
| @@ -1273,7 +1273,7 @@ |
| exitBrailleDriver (void) { |
| if (brailleConstructed) { |
| clearStatusCells(&brl); |
| - message(NULL, gettext("BRLTTY terminated"), MSG_NODELAY|MSG_SILENT); |
| + writeBrailleText("", ""); |
| } |
| |
| stopBrailleDriver(); |
| --- a/Drivers/Screen/Linux/screen.c (revision 7783) |
| +++ b/Drivers/Screen/Linux/screen.c (working copy) |
| @@ -42,14 +42,16 @@ |
| PARM_CHARSET, |
| PARM_HFB, |
| PARM_DEBUGSFM, |
| + PARM_MSGS, |
| } ScreenParameters; |
| -#define SCRPARMS "charset", "hfb", "debugsfm" |
| +#define SCRPARMS "charset", "hfb", "debugsfm", "msgs" |
| |
| #include "scr_driver.h" |
| #include "screen.h" |
| |
| static const char *problemText; |
| static unsigned int debugScreenFontMap = 0; |
| +static unsigned int showProblemText = 1; |
| |
| #define UNICODE_ROW_DIRECT 0XF000 |
| |
| @@ -622,6 +624,15 @@ |
| } |
| } |
| |
| + showProblemText = 1; |
| + if (*parameters[PARM_MSGS]) { |
| + if (!validateYesNo(&showProblemText, parameters[PARM_MSGS])) { |
| + logMessage(LOG_WARNING, "%s: %s", "invalid value for msgs", |
| + parameters[PARM_MSGS]); |
| + showProblemText = 1; |
| + } |
| + } |
| + |
| return 1; |
| } |
| |
| @@ -1021,7 +1032,7 @@ |
| } |
| |
| description->rows = 1; |
| - description->cols = strlen(problemText); |
| + description->cols = showProblemText ? strlen(problemText) : 0; |
| description->posx = 0; |
| description->posy = 0; |
| return 0; |
| @@ -1092,7 +1103,7 @@ |
| if (readScreenDimensions(&columns, &rows)) { |
| if (validateScreenBox(box, columns, rows)) { |
| if (problemText) { |
| - setScreenMessage(box, buffer, problemText); |
| + setScreenMessage(box, buffer, showProblemText ? problemText : ""); |
| return 1; |
| } |
| |