From 94b26f760612fe7b8dd8850688e33d588f88ec67 Mon Sep 17 00:00:00 2001 From: Ark0N Date: Mon, 8 Jun 2026 06:01:15 +0200 Subject: [PATCH] feat(settings): toggle gesture control + multi-monitor button (off by default) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make the two experimental header features opt-in via App Settings instead of forced on. Both default OFF. - App Settings → Display → 'Header Displays' gains a 'Multi-monitor Button' toggle (setting: showMultiMonitorButton). The button is hidden in the template by default; the server reveals it at render when enabled, and applyHeaderVisibilitySettings handles live toggles from a save. - App Settings → Display → new 'Input' section gains a 'Gesture Control' toggle (setting: gestureControlEnabled). The gesture overlay is injected at page render, so renderIndexHtml (now async) reads settings.json and injects the bundle only when enabled; toggling reloads the page. CODEMAN_GESTURE=1 stays the instance-level 'feature available' gate (CSP + assets) and exposes window.__codemanGestureAvailable so the Input section only shows when usable. - The retired notification bell stays hidden regardless of notification state. Both settings added to SettingsUpdateSchema and the mobile defaults. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/web/public/index.html | 21 ++++++++++++++- src/web/public/settings-ui.js | 43 ++++++++++++++++++++++++++++--- src/web/schemas.ts | 3 +++ src/web/server.ts | 48 ++++++++++++++++++++++++++++------- 4 files changed, 102 insertions(+), 13 deletions(-) diff --git a/src/web/public/index.html b/src/web/public/index.html index b5473817..405804e3 100644 --- a/src/web/public/index.html +++ b/src/web/public/index.html @@ -105,7 +105,7 @@ - +