From f9c9f292a20aeff74e0481c4e1324861685c7f0a Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Debian Linux)" <rob@synchro.net>
Date: Fri, 18 Oct 2024 13:43:23 -0700
Subject: [PATCH] Use ansiterm_lib.js for constructing ANSI mouse reporting
 set/clear sequences

Code beautification, no functional change other than we're not clearing mouse
mode 1016 since I don't have a definiton for that mode yet.
---
 xtrn/minesweeper/minesweeper.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xtrn/minesweeper/minesweeper.js b/xtrn/minesweeper/minesweeper.js
index 2e42bb73ba..bf8c28fcdf 100644
--- a/xtrn/minesweeper/minesweeper.js
+++ b/xtrn/minesweeper/minesweeper.js
@@ -118,7 +118,7 @@ log(LOG_DEBUG, title + " options: " + JSON.stringify(options));
 function mouse_enable(enable)
 {
 	if (graph) {
-		console.write("\x1b[?1003;1006"+(enable ? 'h' : 'l'));
+		ansiterm.send('mouse', enable ? 'set' : 'clear', ['any_events', 'extended_coord']);
 		return;
 	}
 	const mouse_passthru = (CON_MOUSE_CLK_PASSTHRU | CON_MOUSE_REL_PASSTHRU);
@@ -1245,7 +1245,8 @@ function detect_graphics()
 	console.ctrlkey_passthru = tmpckpt;
 	if (graph) {
 		console.mouse_mode = false;
-		console.write("\x1b[?9;1000;1001;1002;1004;1005;1007;1015;1016l\x1b[?1003;1006h");
+		ansiterm.send('mouse', 'clear', 'all');
+		ansiterm.send('mouse', 'set', ['any_events', 'extended_coord']);
 		js.on_exit("console.write('\x1b[?1003;1006l;'); console.mouse_mode = orig_mouse; user.misc = orig_misc; console.autoterm = orig_autoterm;");
 	}
 }
-- 
GitLab