mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-05 23:19:43 +02:00
feat(settings): relocate Gesture Control into Input section + release 0.8.2
- Move the Gesture Control (beta) toggle into the existing Input section (alongside Local Echo / CJK Input / Extended Keyboard Bar); remove the duplicate "Input" section header. Hide only the toggle (not the whole section) when CODEMAN_GESTURE=1 is unset. - scripts/codeman-web.service: set CODEMAN_GESTURE=1 so the gesture feature is available on the local install (still gated by the default-OFF toggle). - CLAUDE.md: version sync to 0.8.2 + config/app.js structural-count fixes. - Version packages -> 0.8.2 (changeset covers detach, gesture overlay, multi-monitor, settings toggles, cache-busting). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+10
-12
@@ -933,6 +933,16 @@
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="settings-item settings-item-multiline" id="appSettingsGestureControlItem" title="Enable the camera hand-tracking gesture overlay (applied on reload). The instance must run with CODEMAN_GESTURE=1.">
|
||||
<div class="settings-item-text">
|
||||
<span class="settings-item-label">Gesture Control (beta)</span>
|
||||
<span class="settings-item-desc">Camera hand-tracking overlay (applied on reload)</span>
|
||||
</div>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsGestureControl">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<!-- Header Displays Section -->
|
||||
<div class="settings-section-header">Header Displays</div>
|
||||
@@ -979,18 +989,6 @@
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<!-- Input Section -->
|
||||
<div id="appSettingsInputSection">
|
||||
<div class="settings-section-header">Input</div>
|
||||
<div class="settings-item" title="Enable the camera hand-tracking gesture overlay (applied on reload). The instance must run with CODEMAN_GESTURE=1.">
|
||||
<span class="settings-item-label">Gesture Control (beta)</span>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsGestureControl">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tab Bar Section -->
|
||||
<div class="settings-section-header">Tab Bar</div>
|
||||
<div class="settings-item" title="Show folder path below tab name and allow tab bar to wrap into multiple rows">
|
||||
|
||||
@@ -313,11 +313,12 @@ Object.assign(CodemanApp.prototype, {
|
||||
document.getElementById('appSettingsShowFileBrowser').checked = settings.showFileBrowser ?? defaults.showFileBrowser ?? false;
|
||||
document.getElementById('appSettingsShowSubagents').checked = settings.showSubagents ?? defaults.showSubagents ?? false;
|
||||
document.getElementById('appSettingsShowMultiMonitorButton').checked = settings.showMultiMonitorButton ?? defaults.showMultiMonitorButton ?? false;
|
||||
// Input section: gesture control is only available when the instance runs with
|
||||
// CODEMAN_GESTURE=1 (server sets window.__codemanGestureAvailable). Hide the
|
||||
// whole section otherwise so the toggle can't promise something that won't work.
|
||||
const inputSection = document.getElementById('appSettingsInputSection');
|
||||
if (inputSection) inputSection.style.display = window.__codemanGestureAvailable ? '' : 'none';
|
||||
// Gesture control lives in the Input section (alongside Local Echo / CJK Input)
|
||||
// but is only available when the instance runs with CODEMAN_GESTURE=1 (server sets
|
||||
// window.__codemanGestureAvailable). Hide just this item otherwise so the toggle
|
||||
// can't promise something that won't work.
|
||||
const gestureItem = document.getElementById('appSettingsGestureControlItem');
|
||||
if (gestureItem) gestureItem.style.display = window.__codemanGestureAvailable ? '' : 'none';
|
||||
document.getElementById('appSettingsGestureControl').checked = settings.gestureControlEnabled ?? defaults.gestureControlEnabled ?? false;
|
||||
document.getElementById('appSettingsSubagentTracking').checked = settings.subagentTrackingEnabled ?? defaults.subagentTrackingEnabled ?? true;
|
||||
document.getElementById('appSettingsSubagentActiveTabOnly').checked = settings.subagentActiveTabOnly ?? defaults.subagentActiveTabOnly ?? true;
|
||||
|
||||
Reference in New Issue
Block a user