* Enhance momentum app to support command line arguments for scene navigation and add RGB settings event to desktop lock menu.
* Rename to ScreenSettings
* Format
* Update changelog
* ugh
* ugh
* Update changelog again
---------
Co-authored-by: tototo31 <Recipient7966@proton.me>
Co-authored-by: WillyJL <me@willyjl.dev>
* feat(Desktop): Directories support for keybinds
- Adds *RIGHT* button select in the file browser dialogs and changing the `Open File` action to `Open File/Directory` in `Settings > Desktop > Keybinds Setup`. This adds the ability to open to any directory in the Archive app, in addition to the default behavior of opening a file in it's default app.
* line order mixup
* Main Menu: Allow adding JS files (or any file)
- Normal files and directories are now able to be added to then main menu and are run in their appropriate apps.
- e.g. .txt files shown in text viewer, .js files are run in the JS Runner app, and folders are navigated to by the Archive app. All similar to the desktop keybinds functionality.
- Icons are also assigned appropriately based on the extensions, though more could probably be added to the `loader_menu_get_ext_icon` function.
- Also replaced some of the long arduous is_dir checks and just used the `storage_dir_exists` function since its already there and does the same.
* should be checking `ext` for NULL
* Move select_right at end of structs for binary compatibility
apps may blindly reach into these structs so need to keep the basics in same structure
for DialogsFileBrowserOptions this is even in public api and after compilation this would be incompatible with other firmwares even without reaching into private structs
* Select menu item / folder for directories too
* Move api below too
* Keep ofw order here too
* Refactor starting archive into desktop, less FuriString passing around
* Dont leave main menu when launching archive
* Simplify/fix a few things
* Handle folders in run_with_default_app()
* Update App -> Item naming in MNTM settings
* Fix build
* Explain pressing right
* Update changelog
---------
Co-authored-by: WillyJL <me@willyjl.dev>
* Add Fast Lock/Unlock
The cover animation takes time and blocks input while animating, so add options to skip the animations.
* Combine options into "Skip Sliding Animation"
* Update changelog
* Wording
---------
Co-authored-by: WillyJL <me@willyjl.dev>
* GUI: Checkerboard overlay behind popup elements
Adds setting 'Popup Overlay' (default ON) which draws a checkerboard pattern behind popups, like the Archive actions menu, keypad/pin lock modal, and the varitemlist locked message. Gives the illusion of separation from the popup element and the background content and is an aesthetic improvement.
* Refactor
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* GUI: Add marquee 'Text Scroll' option
- Adds the tiny `Text Scroll` option under `MNTM > Interface > General` to either use the standard scroll, or a new marquee style back and forth on any scrollable text.
- `elements_scrollable_text_line_centered` renamed to `elements_scrollable_text_line_ex` to be more general. Has `bool marquee`.
* Unnecessary switch here
* Apply setting internally
* Revert a few usages
* Update changelog
* Last thing
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* Clock: 12 hour midnight format
- References #317 and adds the options `12:XX` and `00:XX` in `Settings > System > Midnight Format` to display the preferred clock format past midnight on all clocks (Desktop, Main Menu MNTM style, Lock screen and Nightstand clock app). "12:30 AM" -> "00:30" OR "12:30".
* Fix: Move midnight format setting out of furi_rtc
- Also felt like the midnight format setting was too out of place in `MNTM > Interface` with the 5 other submenu entries, so I put it in Misc for now.
* clock app external
* Moved midnight format setting into new `Interface > General`
* Update applications/main/momentum_app/scenes/momentum_app_scene_interface_general.c
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
Setting defaults to ON, so removing SD card will lock on boot if PIN is set
Also changes that lock on boot will not apply if PIN is not set (what if no PIN set and no SD card, then lock keypad always? bad idea)
* feat(Archive): Adds dynamic paths to browser tab
I thought it would be cool to be able to see when I was in say the
`apps_data/flipchess` folder, or some other nested folder, and have
"flipchess" be shown rather than the just "Browser" all the time. It's
not a huge or really crucial change, just a personal modification that
some people may also find useful.
* fix(Archive): Clean up, built-ins, safer
Cleaned up `archive_update_formatted_path` function using switch case,
and also using the built in furi functions where possible. Also removed
the arbitrary and unnecessary `path_buf[256]`, making formatting the
path in the Brief section more memory safe.
* Rename setting and use setting_enum()
* Remove prev_path
* Enum names
* Single text draw call
* Rename to statusbar title
* Revert "Rename to statusbar title"
This reverts commit 243f2a754f.
* Revert "Single text draw call"
This reverts commit 3bbe30449b.
* Simpler fix
* Shorter setting label
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* Lockscreen: Separate 'Allow RPC While Locked' for USB/Bluetooth (BLE)
- #330, split of the `allow_locked_rpc_commands` bool into `allow_locked_rpc_usb` and `allow_locked_rpc_ble` to allow the connections separately.
* Shorter wording
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
- Merge OFW power service refactor stuff
- Move charge cap variable to service
- Mirror settings usage of desktop and bt services for power settings
- Proper power settings struct, no more weird settings pubsub
- Load power settings on SD insert
- Set shutdown on idle time in main power settings menu, not in submenu
- Update battery icon visibility in power tick event
- Remove unused power functions (power_trigger_ui_update(), power_set_battery_icon_enabled())
Services expose same sdk_headers as OFW
Since settings apps use some of those symbols, need to include them
Workaround is mock imports by #include the .c code
Not ideal, but we only need access to basic load/save functions, and these apps are bundled with firmware anyway, so should be fine
Not exposing via API and instead bundling via FAP also means less flash used, and RAM is not a concern with settings apps
- Keybinds in own code helper files
- Keybinds as flipper format, loaded only when ran, no limit on length
- Migrate from old keybinds
- Merge desktop settings refactors after LFS removal PR
- Statusbar clock setting in desktop settings like OFW
- Hand orient setting in system settings like OFW
* Original pointer can be const
* Back to const icons
* Missed this one
* Simpler string alloc
* Single allocation and header struct for static icons
* Shared allocation and meta struct for animated icons
* Only try to load if dir exists
* Restructure momentum lib
* Use some internal headers
* Swap icons at draw
* Properly init and free, no more original in icon struct
* Detached close event
* Consistency
* Unload main menu when opening apps
* Refactor LoaderMenu with ViewHolder
* Show loading icon
* Remember selected items after reloading menu
* Consistency
* Similar code structure to ofw
* Load/unload custom app list with main menu
* Fix momentum app for new mainmenu logic
* first poc works
* rainbow mode now works over rpc
still not done refrash rate from flipper change and is slow so the rainbow mode doesnt look good
* transmit VgmMode
* use all the 32bit
* some config stuff
* sync apps
* Change protobuf repo
* Some lib naming changes and cleanup
* Format protobuf
* Update from RGB backlight if enabled
* Remove old expansion toggling
* Update settings UI
* Fix searching previous value
* VGM Tool: Add new RGB firmware
* Update changelog
* These are unused
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
- Dev dist: mntm-(branch)-(commit)
- Dev version: mntm-dev
- Dev gitbranch: (branch)
- Tag dist: mntm-(ver)
- Tag version: mntm-(ver)
- Tag gitbranch: mntm-(ver)
- Consistent between CI and local
- Gitorigin falls back based on context
- MNTM settings header won't clip with custom branch names
- About fw info page shows dirty flag and branch when custom, in same layout as OFW
* Fix max length of git hash
* Fix editor auto-reformat that causes it to fail lint
* Found it...
* Revert "Found it..."
This reverts commit c7cb790716.
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
Previously, it deleted the file then rebooted
This caused a new, default list to be generated
However, since the xfw list file is kept, it will migrate it
Instead, generate on the spot, rather than deleting and rebooting
* Subghz: brought back manual region bypass
* MNTM: change frequency check
this allows to add "extended" frequencies to your custom added frequencies
* MNTM: reboot when changing extended frequencies
* Fix regio typo
* Show bypass before extend
* Consistency with OFW and UL api for region, version, otp
* Fix API symbols
* Restrict only on TX
* Oops
* Improve bypass/extend UI
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>