From 259f18218c410fc288c55dbe436bb19f651cb8be Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Wed, 11 Mar 2026 21:26:56 +0100 Subject: [PATCH] run_desktop.sh: handle autostart config --- scripts/run_desktop.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/scripts/run_desktop.sh b/scripts/run_desktop.sh index 4c27078e..f8fcfc3b 100755 --- a/scripts/run_desktop.sh +++ b/scripts/run_desktop.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash scriptdir=$(readlink -f "$0") scriptdir=$(dirname "$scriptdir") script="$1" @@ -58,18 +58,28 @@ if [ -f "$script" ]; then echo "Running script $script" "$binary" -v -i "$script" else + CONFIG_FILE="data/com.micropythonos.settings/config.json" if [ ! -z "$script" ]; then - echo "Running app $script" - CONFIG_FILE="data/com.micropythonos.settings/config.json" + echo "run_desktop.sh: running app $script" # Check if config.json exists if [ -f "$CONFIG_FILE" ]; then - # Update the auto_start_app field using sed - sed -i '' -e 's/"auto_start_app": ".*"/"auto_start_app": "'$script'"/' "$CONFIG_FILE" + if grep -q '"auto_start_app"' "$CONFIG_FILE"; then + echo "Updating auto_start_app field using sed" + sed -i.backup -e 's/"auto_start_app": ".*"/"auto_start_app": "'$script'"/' "$CONFIG_FILE" + else + echo "Adding auto_start_app to config file" + sed -i.backup -E 's/[[:space:]]*}[[:space:]]*$/,"auto_start_app": "'$script'"}/' "$CONFIG_FILE" + fi else # If config.json doesn't exist, create it with auto_start_app mkdir -p data/com.micropythonos.settings echo '{"auto_start_app": "'$script'"}' > "$CONFIG_FILE" fi + else + if [ -f "$CONFIG_FILE" ]; then + echo "Removing auto_start_app from config file" + sed -i.backup -E 's/[[:space:]]*,?[[:space:]]*"auto_start_app"[[:space:]]*:[[:space:]]*"[^"]*"[[:space:]]*//g; s/\{[[:space:]]*,/\{/g; s/,[[:space:]]*\}/\}/g' "$CONFIG_FILE" + fi fi "$binary" -X heapsize=$HEAPSIZE -v -i -c "$(cat main.py)" fi