feat: taps follow the row, quits exit 2

code_audit_19 and tui_audit_12. A tap ticks a box and opens a choice on a
second tap of the row the screen saw tapped. One list drives the plan's game
data row, save line and data files. The version note, --offline in shown
commands, exit 2 for a chosen quit, legacy mouse reports read from bytes,
colour roles that read their words, the setup list's device column, the
copy browser, a drive two systems fit, WSL's Windows folder, and line mode
wording.
This commit is contained in:
Abdessamad Derraz committed 2026-10-28 03:15:07 +01:00
1 parent a1d094c8b3
commit c8377de90d
27 files changed
+1978 -565

No files matched your search

+4 -3
View File
@@ -721,9 +721,10 @@ class TheOneLinerNarrows(unittest.TestCase):
self.assertFalse((repo.root / '"').exists())
self.assertEqual(len([p for p in card.rglob("*") if p.is_file()]), 5)
def test_q_at_every_menu_stops_on_130(self):
def test_q_at_every_menu_stops_on_the_quit_code(self):
"""`install.sh && retroarch` started RetroArch after a q, which left
with 0 where Ctrl+C and Ctrl+D leave with 130."""
with 0. A quit chosen ends on 2, nothing installed, where Ctrl+C and
Ctrl+D leave with 130 (code_audit_19 P3-1)."""
files = [{"dest": "a.bin", "size": 1, "systems": ["nintendo-gba"]}]
menus = (
lambda: install._choose_platform("Platform:"),
@@ -736,7 +737,7 @@ class TheOneLinerNarrows(unittest.TestCase):
mock.patch("sys.stdout", new_callable=lambda: open(os.devnull, "w")), \
self.assertRaises(SystemExit) as stop:
menu()
self.assertEqual(stop.exception.code, 130)
self.assertEqual(stop.exception.code, install.QUIT_CODE)
@unittest.skipIf(os.name == "nt", "a pseudo-terminal is a POSIX one")
def test_ctrl_d_at_the_first_question_has_nothing_to_carry_on(self):