feat: implement MCP drawing as screensaver instead of standalone app
- Add ScreensaverType::McpScreen to DisplaySettings enum, toString/fromString - Add 'MCP Screen' option to the Display settings screensaver dropdown - New McpScreensaver (Screensaver subclass): creates full-screen lv_canvas on the overlay, allocates framebuffer in SPIRAM, registers canvas pointer in McpSystemState, shows 'Waiting for LLM...' until first draw command arrives - Wire McpScreensaver into DisplayIdle::activateScreensaver() switch - McpSystem::ensureOverrideScreen() now calls displayidle::findService()-> startScreensaver() instead of launching McpOverrideApp — canvas appears automatically on any LLM draw command - Remove McpOverrideApp (replaced by screensaver), deregister from Tactility.cpp - Remove mcpOverrideEnabled from McpSettings — no longer needed - Simplify McpSettingsApp: remove Screen Override toggle, update info text to direct users to Settings -> Display -> Screensaver -> MCP Screen
This commit is contained in:
@@ -18,6 +18,7 @@ enum class ScreensaverType {
|
||||
Mystify,
|
||||
MatrixRain,
|
||||
StackChan,
|
||||
McpScreen, // MCP LLM-driven canvas
|
||||
Count // Sentinel for bounds checking - must be last
|
||||
};
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ namespace tt::settings::mcp {
|
||||
|
||||
struct McpSettings {
|
||||
bool mcpEnabled = false; // Enable MCP server endpoints on system web server
|
||||
bool mcpOverrideEnabled = true; // Automatically switch to override screen on drawing commands
|
||||
};
|
||||
|
||||
bool load(McpSettings& settings);
|
||||
|
||||
Reference in New Issue
Block a user