diff --git a/CHANGELOG.md b/CHANGELOG.md index cc8b11a78..8538680ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -114,7 +114,9 @@ - Input Settings: Add Vibro Trigger option (#429 by @956MB) - Archive: Support opening and favoriting Picopass files (by @WillyJL) - Bad KB: Colemak keyboard layout (#466 by @Ashe-Sterling) -- OFW: GUI: Add date/time input module (by @aaronjamt) +- GUI: + - GUI: Add Sreen Settings shortcut to Control Center brightness click (#487 by @tototo31) + - OFW: Add date/time input module (by @aaronjamt) ### Updated: - Apps: diff --git a/applications/main/momentum_app/momentum_app.c b/applications/main/momentum_app/momentum_app.c index 030fb9ada..a81ae0fbe 100644 --- a/applications/main/momentum_app/momentum_app.c +++ b/applications/main/momentum_app/momentum_app.c @@ -1,4 +1,5 @@ #include "momentum_app.h" +#include static bool momentum_app_custom_event_callback(void* context, uint32_t event) { furi_assert(context); @@ -483,9 +484,17 @@ void momentum_app_free(MomentumApp* app) { } extern int32_t momentum_app(void* p) { - UNUSED(p); MomentumApp* app = momentum_app_alloc(); - scene_manager_next_scene(app->scene_manager, MomentumAppSceneStart); + + // Check for command line arguments to navigate to specific scenes + uint32_t first_scene = MomentumAppSceneStart; + if(p && strlen(p)) { + if(!strcmp(p, "MiscScreen")) { + first_scene = MomentumAppSceneMiscScreen; + } + } + + scene_manager_next_scene(app->scene_manager, first_scene); view_dispatcher_run(app->view_dispatcher); momentum_app_free(app); return 0; diff --git a/applications/services/desktop/scenes/desktop_scene_lock_menu.c b/applications/services/desktop/scenes/desktop_scene_lock_menu.c index d3987b6ee..f7e199e7e 100644 --- a/applications/services/desktop/scenes/desktop_scene_lock_menu.c +++ b/applications/services/desktop/scenes/desktop_scene_lock_menu.c @@ -121,6 +121,11 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) { loader_start_detached_with_gui_error(desktop->loader, "Momentum", NULL); consumed = true; break; + case DesktopLockMenuEventScreenSettings: + desktop_scene_lock_menu_save_settings(desktop); + loader_start_detached_with_gui_error(desktop->loader, "Momentum", "MiscScreen"); + consumed = true; + break; case DesktopLockMenuEventStealthModeOn: desktop_set_stealth_mode_state(desktop, true); break; diff --git a/applications/services/desktop/views/desktop_events.h b/applications/services/desktop/views/desktop_events.h index 3f2896912..4b4bb73d1 100644 --- a/applications/services/desktop/views/desktop_events.h +++ b/applications/services/desktop/views/desktop_events.h @@ -65,4 +65,5 @@ typedef enum { DesktopLockMenuEventLockKeypad, DesktopLockMenuEventLockPinOff, DesktopLockMenuEventMomentum, + DesktopLockMenuEventScreenSettings, } DesktopEvent; diff --git a/applications/services/desktop/views/desktop_view_lock_menu.c b/applications/services/desktop/views/desktop_view_lock_menu.c index d6e5ffd34..bdff4c40c 100644 --- a/applications/services/desktop/views/desktop_view_lock_menu.c +++ b/applications/services/desktop/views/desktop_view_lock_menu.c @@ -307,6 +307,9 @@ bool desktop_lock_menu_input_callback(InputEvent* event, void* context) { case DesktopLockMenuIndexMomentum: desktop_event = DesktopLockMenuEventMomentum; break; + case DesktopLockMenuIndexBrightness: + desktop_event = DesktopLockMenuEventScreenSettings; + break; case DesktopLockMenuIndexVolume: desktop_event = stealth_mode ? DesktopLockMenuEventStealthModeOff : DesktopLockMenuEventStealthModeOn;