From 363524fbafd021161bf0a65a828e7e2900e6a26b Mon Sep 17 00:00:00 2001 From: Bill Ferguson Date: Sat, 15 Feb 2025 20:19:29 -0500 Subject: [PATCH] tools/script_manager - added a start queue for scripts that start at start up to allow for including and using libraries in other than the default path. Scripts are now started after all directories are scanned instead of being started as they were found. --- tools/script_manager.lua | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/script_manager.lua b/tools/script_manager.lua index 573f182..d1ab17e 100644 --- a/tools/script_manager.lua +++ b/tools/script_manager.lua @@ -178,6 +178,7 @@ sm.log_level = DEFAULT_LOG_LEVEL ]] sm.scripts = {} +sm.start_queue = {} sm.page_status = {} sm.page_status.num_buttons = DEFAULT_BUTTONS_PER_PAGE sm.page_status.buttons_created = 0 @@ -595,6 +596,17 @@ local function deactivate(script) restore_log_level(old_log_level) end +local function start_scripts() + for _, script in ipairs(sm.start_queue) do + activate(script) + end + sm.start_queue = {} +end + +local function queue_script_to_start(script) + table.insert(sm.start_queue, script) +end + local function add_script_name(name, path, folder) local old_log_level = set_log_level(sm.log_level) @@ -614,7 +626,7 @@ local function add_script_name(name, path, folder) table.insert(sm.scripts[folder], script) if pref_read(script.script_name, "bool") then - activate(script) + queue_script_to_start(script) else pref_write(script.script_name, "bool", false) end @@ -821,6 +833,7 @@ local function scan_repositories() end end + start_scripts() update_script_update_choices() restore_log_level(old_log_level)