From c91c061b48e357d912850c318ff7df741cdeaa68 Mon Sep 17 00:00:00 2001 From: kkayam Date: Sun, 16 Feb 2025 14:31:37 +0000 Subject: [PATCH] added settings for cutelauncher --- apps/cutelauncher/app.js | 21 ++++++++++--------- apps/cutelauncher/metadata.json | 6 +++++- apps/cutelauncher/settings.js | 37 +++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 apps/cutelauncher/settings.js diff --git a/apps/cutelauncher/app.js b/apps/cutelauncher/app.js index c5199e7c1..a258f18a1 100644 --- a/apps/cutelauncher/app.js +++ b/apps/cutelauncher/app.js @@ -2,10 +2,9 @@ let settings = Object.assign( { showClocks: false, - showLaunchers: false, - timeOut: 10, + scrollbar: true }, - require('Storage').readJSON('cutelauncher.json', true) || {} + require('Storage').readJSON('cutelauncher.setting.json', true) || {} ); let s = require('Storage'); @@ -183,13 +182,15 @@ } }); - // Update scroll indicator on drag - const updateOnDrag = () => updateScrollIndicator(scroller.scroll); - Bangle.on('drag', updateOnDrag); - // Initialize the scroll indicator - initScrollIndicator(); - // Initial update of scroll indicator - updateScrollIndicator(scroller.scroll); + if (settings.scrollbar) { + // Update scroll indicator on drag + const updateOnDrag = () => updateScrollIndicator(scroller.scroll); + Bangle.on('drag', updateOnDrag); + // Initialize the scroll indicator + initScrollIndicator(); + // Initial update of scroll indicator + updateScrollIndicator(scroller.scroll); + } setWatch(Bangle.showClock, BTN1, { debounce: 100 }); // Add lock handler to show clock when locked diff --git a/apps/cutelauncher/metadata.json b/apps/cutelauncher/metadata.json index d26a74896..cf7b0f03c 100644 --- a/apps/cutelauncher/metadata.json +++ b/apps/cutelauncher/metadata.json @@ -1,7 +1,7 @@ { "id": "cutelauncher", "name": "Cute Launcher", - "version": "0.18", + "version": "0.19", "description": "A simple launcher app for Bangle.js 2 that makes use of the full touchscreen", "icon": "app.png", "type": "launch", @@ -18,6 +18,10 @@ "name": "cutelauncher.img", "url": "app-icon.js", "evaluate": true + }, + { + "name": "cutelauncher.setting.json", + "url": "settings.js" } ] } \ No newline at end of file diff --git a/apps/cutelauncher/settings.js b/apps/cutelauncher/settings.js new file mode 100644 index 000000000..6b37985c3 --- /dev/null +++ b/apps/cutelauncher/settings.js @@ -0,0 +1,37 @@ +(function (back) { + const SETTINGS_FILE = "cutelauncher.setting.json"; + + // initialize with default settings... + const storage = require('Storage'); + let settings = { + showClocks: false, + scrollbar: true + }; + let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings; + for (const key in saved_settings) { + settings[key] = saved_settings[key]; + } + + function save() { + storage.write(SETTINGS_FILE, settings); + } + + E.showMenu({ + '': { 'title': 'Cutelauncher' }, + '< Back': back, + 'Show Clocks': { + value: settings.smallNumeralClock, + onchange: () => { + settings.showClocks = !settings.showClocks; + save(); + } + }, + 'Scrollbar': { + value: settings.smallNumeralClock, + onchange: () => { + settings.scrollbar = !settings.scrollbar; + save(); + } + } + }); +});