start_launcher(): empty screen stack

This commit is contained in:
Thomas Farstrike
2025-05-24 10:04:02 +02:00
parent 8c33b5794e
commit d891edaacd
4 changed files with 24 additions and 8 deletions
+2 -1
View File
@@ -32,7 +32,7 @@ def execute_script(script_source, is_file, is_launcher, is_graphical):
prevscreen = lv.screen_active()
newscreen=lv.obj()
newscreen.set_size(lv.pct(100),lv.pct(100))
lv.screen_load(newscreen)
mpos.ui.load_screen(newscreen)
script_globals = {
'lv': lv,
'th': mpos.ui.th,
@@ -111,6 +111,7 @@ def start_app(app_dir, is_launcher=False):
mpos.ui.close_bar()
def restart_launcher():
mpos.ui.empty_screen_stack()
# No need to stop the other launcher first, because it exits after building the screen
start_app_by_name("com.example.launcher", True)
+5 -1
View File
@@ -428,6 +428,10 @@ def clean_top_layer():
screen_stack = []
def empty_screen_stack():
global screen_stack
screen_stack.clear()
def load_screen(screen):
global screen_stack
topscreen = None
@@ -447,7 +451,7 @@ def back_screen():
#print("Adding notification bar and drawer to top layer")
#mpos.ui.create_notification_bar()
#mpos.ui.create_drawer()
close_top_layer_msgboxes()
close_top_layer_msgboxes() # would be nicer to "cancel" all input events
print("Loading previous screen")
screen_stack.pop() # Remove current screen