From 8ece6948e5e6ff2de391599b7dcd8b1b3b67729c Mon Sep 17 00:00:00 2001 From: Guillaume ARM Date: Thu, 23 May 2024 23:19:56 +0200 Subject: [PATCH] fix(CountersSelector): better window clear strategy --- libs/ui/CountersSelector.lua | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libs/ui/CountersSelector.lua b/libs/ui/CountersSelector.lua index 5d26825..bb45133 100644 --- a/libs/ui/CountersSelector.lua +++ b/libs/ui/CountersSelector.lua @@ -206,13 +206,14 @@ local function CountersSelector(initialCountersMap, config) local topHeight = 1 - term.clear() + -- term.clear() local width, height = term.getSize() local mainHeight = height - topHeight local nbOfElemsPerPage = mainHeight local mainWin = window.create(term.current(), 1, 1 + topHeight, width, mainHeight) local titleWin = window.create(term.current(), 1, 1, width, 1 + topHeight) + local forceExited = false local shouldContinue = true while shouldContinue do renderTitle(titleWin, countersMap, selectedCounter, titleFn) @@ -253,10 +254,18 @@ local function CountersSelector(initialCountersMap, config) shouldContinue = false elseif keyPressed == keys.q then os.pullEvent('key_up') -- fix to avoid writing a 'q' in the terminal on exit - return nil + shouldContinue = false + forceExited = true end end + mainWin.clear() + titleWin.clear() + + if forceExited then + return nil + end + return countersMap, selectedCounter end