diff --git a/main.py b/main.py index 012531d2861933992e09368cb5b05af925cb3605..dd13857ec595d4272dd5f69947049be3a1e5cac0 100644 --- a/main.py +++ b/main.py @@ -106,6 +106,13 @@ def wr_available_widgets(): def wr_get_state(): return json_response({}) # TODO +@app.route("/api/toggle_screen_state", methods=["POST"]) +def wr_toggle_state(): + mainthread_queue.put("TOGGLE_SCREEN_STATE") + return json_response({ + "status": "OK" + }) + @app.route("/api/available_patterns") def wr_available_patterns(): return json_response(PROP_AVAILABLE_PATTERNS) @@ -448,6 +455,13 @@ if __name__ == "__main__": force_change_widget = True elif message == "CYCLE_PATTERN": force_change_pattern = True + elif message == "TOGGLE_SCREEN_STATE": + if screen_state == ScreenState.WIDGET_CYCLE: + screen_state = ScreenState.WIDGET_SINGLE + elif screen_state == ScreenState.WIDGET_SINGLE: + screen_state = ScreenState.WIDGET_CYCLE + else: + pass except queue.Empty: pass