Skip to content
Snippets Groups Projects
Commit e9c68a67 authored by Eric Oulashin's avatar Eric Oulashin Committed by Rob Swindell
Browse files

DDMsgReader: (Hopefully) improved display of certain ANSI messages

parent 02a3031a
No related branches found
No related tags found
2 merge requests!463MRC mods by Codefenix (2024-10-20),!250DDMsgReader: (Hopefully) improved display of certain ANSI messages
...@@ -85,6 +85,9 @@ ...@@ -85,6 +85,9 @@
* no longer gives the error "Invalid user field: 0"; also, if the sender is * no longer gives the error "Invalid user field: 0"; also, if the sender is
* unknown, prompts the user for a user name/number/email address to send * unknown, prompts the user for a user name/number/email address to send
* the reply to. * the reply to.
* 2023-01-30 Eric Oulashin Version 1.62
* (Hopefully) Improved display of ANSI messages which would previously look
* bad with empty lines evrey other line
*/ */
   
"use strict"; "use strict";
...@@ -189,8 +192,8 @@ var ansiterm = require("ansiterm_lib.js", 'expand_ctrl_a'); ...@@ -189,8 +192,8 @@ var ansiterm = require("ansiterm_lib.js", 'expand_ctrl_a');
   
   
// Reader version information // Reader version information
var READER_VERSION = "1.61"; var READER_VERSION = "1.62";
var READER_DATE = "2023-01-22"; var READER_DATE = "2023-01-30";
   
// Keyboard key codes for displaying on the screen // Keyboard key codes for displaying on the screen
var UP_ARROW = ascii(24); var UP_ARROW = ascii(24);
...@@ -4846,11 +4849,15 @@ function DigDistMsgReader_ReadMessageEnhanced_Scrollable(msgHeader, allowChgMsgA ...@@ -4846,11 +4849,15 @@ function DigDistMsgReader_ReadMessageEnhanced_Scrollable(msgHeader, allowChgMsgA
if (msgHasANSICodes) if (msgHasANSICodes)
{ {
messageText = messageText.replace(/\u001b\[[012]J/gi, ""); messageText = messageText.replace(/\u001b\[[012]J/gi, "");
var graphic = new Graphic(msgAreaWidth, this.msgAreaHeight-1); //var graphic = new Graphic(msgAreaWidth, this.msgAreaHeight-1);
// To help ensure ANSI messages look good, it seems the Graphic object should have
// its with later set to 1 less than the width used to create it.
var graphicWidth = (msgAreaWidth < console.screen_columns ? msgAreaWidth+1 : console.screen_columns);
var graphic = new Graphic(graphicWidth, this.msgAreaHeight-1);
graphic.auto_extend = true; graphic.auto_extend = true;
graphic.ANSI = ansiterm.expand_ctrl_a(messageText); graphic.ANSI = ansiterm.expand_ctrl_a(messageText);
//graphic.normalize(); //graphic.normalize();
//graphic.width = msgAreaWidth; graphic.width = graphicWidth - 1;
//messageText = graphic.MSG.split('\n'); //messageText = graphic.MSG.split('\n');
messageText = graphic.MSG; messageText = graphic.MSG;
} }
...@@ -5928,10 +5935,15 @@ function DigDistMsgReader_ReadMessageEnhanced_Scrollable(msgHeader, allowChgMsgA ...@@ -5928,10 +5935,15 @@ function DigDistMsgReader_ReadMessageEnhanced_Scrollable(msgHeader, allowChgMsgA
// new width // new width
if (msgHasANSICodes) if (msgHasANSICodes)
{ {
var graphic = new Graphic(msgAreaWidth, this.msgAreaHeight-1); //var graphic = new Graphic(msgAreaWidth, this.msgAreaHeight-1);
// To help ensure ANSI messages look good, it seems the Graphic object should have
// its with later set to 1 less than the width used to create it.
var graphicWidth = (msgAreaWidth < console.screen_columns ? msgAreaWidth+1 : console.screen_columns);
var graphic = new Graphic(graphicWidth, this.msgAreaHeight-1);
graphic.auto_extend = true; graphic.auto_extend = true;
graphic.ANSI = ansiterm.expand_ctrl_a(messageText); graphic.ANSI = ansiterm.expand_ctrl_a(messageText);
graphic.width = msgAreaWidth; //graphic.width = msgAreaWidth;
graphic.width = graphicWidth - 1;
messageText = graphic.MSG; messageText = graphic.MSG;
} }
// Display or erase the scrollbar // Display or erase the scrollbar
...@@ -13975,9 +13987,14 @@ function DigDistMsgReader_SaveMsgToFile(pMsgHdr, pFilename) ...@@ -13975,9 +13987,14 @@ function DigDistMsgReader_SaveMsgToFile(pMsgHdr, pFilename)
{ {
if (textHasDrawingChars(msgBody)) if (textHasDrawingChars(msgBody))
{ {
var graphic = new Graphic(this.msgAreaWidth, this.msgAreaHeight); //var graphic = new Graphic(this.msgAreaWidth, this.msgAreaHeight);
// To help ensure ANSI messages look good, it seems the Graphic object should have
// its with later set to 1 less than the width used to create it.
var graphicWidth = (msgAreaWidth < console.screen_columns ? msgAreaWidth+1 : console.screen_columns);
var graphic = new Graphic(graphicWidth, this.msgAreaHeight);
graphic.auto_extend = true; graphic.auto_extend = true;
graphic.ANSI = ansiterm.expand_ctrl_a(msgBody); graphic.ANSI = ansiterm.expand_ctrl_a(msgBody);
graphic.width = graphicWidth - 1;
msgBody = syncAttrCodesToANSI(graphic.MSG); msgBody = syncAttrCodesToANSI(graphic.MSG);
} }
else else
......
Digital Distortion Message Reader Digital Distortion Message Reader
Version 1.61 Version 1.62
Release date: 2023-01-22 Release date: 2023-01-30
by by
......
...@@ -5,6 +5,8 @@ Revision History (change log) ...@@ -5,6 +5,8 @@ Revision History (change log)
============================= =============================
Version Date Description Version Date Description
------- ---- ----------- ------- ---- -----------
1.62 2023-01-30 (Hopefully) Improved display of ANSI messages which would
previously look bad with empty lines evrey other line
1.61 2023-01-22 Fix: When replying to an email with an unknown sender 1.61 2023-01-22 Fix: When replying to an email with an unknown sender
(empty or "All"), no longer gives the error "Invalid user (empty or "All"), no longer gives the error "Invalid user
field: 0"; also, if the sender is unknown, prompts the field: 0"; also, if the sender is unknown, prompts the
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment