Commit Graph

63 Commits

Author SHA1 Message Date
tototo31
8754b327c3 GUI: Add Sreen Settings shortcut to Control Center brightness click (#487)
* 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>
2025-11-30 01:47:20 +01:00
WillyJL
d6c6d7d850 MNTM: Consistent display of main menu apps when adding new ones 2025-08-23 23:35:29 +02:00
Alexander Bays
0e3e1b352b Desktop / MNTM Settings: Directories and generic files support for Keybinds / Main Menu (#331)
* 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>
2025-07-22 01:51:33 +00:00
Aaron Tulino
b33456d243 MNTM Settings: Add Skip Sliding Animations option for Lockscreen (#436)
* 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>
2025-07-20 00:46:11 +00:00
Alexander Bays
16fb7e44df GUI: Checkerboard overlay behind popup elements (#380)
* 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>
2025-04-13 03:59:28 +01:00
Alexander Bays
c3bfebb6e6 GUI: Add marquee 'Text Scroll' option (#363)
* 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>
2025-03-02 04:50:56 +00:00
Alexander Bays
adc66d78da Clock: 12 hour "midnight format" (#341)
* 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>
2025-03-02 04:20:38 +00:00
Willy-JL
2f376edd7d Merge remote-tracking branch 'ul/dev' into mntm-dev 2025-02-28 05:04:24 +00:00
Willy-JL
c4d1328acc Lock on boot by default if SD is missing
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)
2025-02-05 02:10:54 +00:00
jay candel
5e33a20c4b Main Menu: Add 'Menu Style' submenu (#359)
* submenu on ok

* Avoid potential deadlock

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-01-22 03:45:41 +00:00
Willy-JL
b03b0ac292 shhhh you saw nothing --nobuild 2025-01-21 23:37:56 +00:00
Alexander Bays
b9c0289847 Archive: Add dynamic paths to browser tab (#322)
* 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>
2025-01-17 01:44:11 +00:00
Cody Tolene
530f3d4f22 Main Menu: Add coverflow menu style (#314)
* Add coverflow menu style.

* Update with new canvas extended function `canvas_draw_icon_animation_ex`
2025-01-16 23:50:33 +00:00
Alexander Bays
34379f1fbe Lockscreen: Separate 'Allow RPC While Locked' for USB/BLE (#343)
* 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>
2025-01-13 02:40:36 +00:00
Willy-JL
3eab261ec2 MNTM: Lock dolphin butthurt if happy mode 2024-09-07 19:20:23 +02:00
Willy-JL
1c66d42d5c MNTM Settings: Hide hidden folders from asset packs 2024-08-27 01:32:57 +02:00
Willy-JL
962b10b2a0 MNTM Settings: Misc code fixes 2024-08-24 03:01:30 +02:00
Willy-JL
9d39ac13fa MNTM Settings: Allow setting Dolphin XP manually 2024-08-24 02:58:24 +02:00
Willy-JL
37f6003a3e MNTM Settings: Fix Show Momentum Intro button 2024-08-22 19:41:20 +02:00
Willy-JL
add094f4f1 MNTM Settings: Fix UI desync after reset mainmenu 2024-08-22 19:40:23 +02:00
Willy-JL
57858bd846 Format and remove view_dispatcher_enable_queue() 2024-08-14 04:30:46 +02:00
Willy-JL
dfbba6a593 GUI: NumberInput allow empty default and show pressing 0 2024-08-14 03:43:04 +02:00
Willy-JL
cdc1a631bc MNTM: SubGHz freq add screen uses new NumberInput view 2024-08-14 02:32:53 +02:00
Willy-JL
574304f715 Final merge fixes 2024-08-14 02:01:04 +02:00
Willy-JL
1a1b3f117a Merge Power service refactor, rework power settings
- 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())
2024-08-13 21:32:46 +02:00
Willy-JL
98e2a221d5 Format images 2024-08-12 18:34:41 +02:00
Willy-JL
6acfd65697 Cleanup API symbols
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
2024-08-10 03:01:40 +02:00
Willy-JL
1137bd651c Fix some app name migrations 2024-08-09 22:06:45 +02:00
Willy-JL
2b77091cac Desktop settings merge and refactor, keybinds improvements
- 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
2024-08-08 05:18:20 +02:00
Willy-JL
06cb63f4bf Apply dolphin customizations without reboot 2024-08-07 21:26:41 +02:00
WillyJL
aa6d4de9fe Asset Packs: Optimize icon loader (#164)
* 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
2024-07-18 03:35:21 +01:00
WillyJL
b67544391a Main Menu: Unload when opening apps (#161)
* 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
2024-07-18 03:33:49 +01:00
Willy-JL
2eaf1ffc95 New formatting 2024-07-15 22:32:17 +01:00
Willy-JL
ad9490ac8b MNTM: Ok to choose Asset Pack from full-screen list 2024-06-09 04:27:20 +02:00
HaxSam
2319475dd0 VGM/RPC: Rework custom colors, smoother config, better rainbow support (#53)
* 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>
2024-06-02 08:41:47 +01:00
Willy-JL
cb2714ebe5 Consistent version/branch info, fix gitorigin
- 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
2024-06-01 08:31:53 +01:00
Willy-JL
63fbdc4e59 MNTM: Fix version title alignment 2024-05-26 10:07:48 +01:00
Willy-JL
17a4fe5106 GUI: Some text and UI fixes 2024-05-26 09:21:05 +01:00
Willy-JL
858639fa94 MNTM: Confirm screen for SubGHz bypass 2024-05-16 07:06:36 +01:00
Willy-JL
d06ab5fe8f MNTM: Confirm screen for SubGHz extend 2024-05-16 07:06:10 +01:00
Willy-JL
c39629ade6 MNTM: RGB Backlight behaves like a toggle with warning 2024-05-16 06:13:57 +01:00
Willy-JL
e982c31d06 Ignore unknown apps when editing main menu apps 2024-05-04 07:20:26 +01:00
Willy-JL
2d90599164 Fix annoying array formatting --nobuild 2024-04-30 02:57:04 +01:00
Zachary Weiss
9d4a6e6788 Fix MNTM-DEV git hash formatting (#104)
* 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>
2024-04-22 02:44:06 +01:00
Willy-JL
73e8c632d7 MNTM: Add flipper Shell Color spoofing support 2024-04-07 20:43:12 +01:00
Willy-JL
6fc6d50904 MNTM: Refactor device name to Spoof submenu 2024-04-07 20:42:17 +01:00
Willy-JL
245ee64b44 Fix crash on adding external app to menu 2024-03-22 01:36:45 +00:00
Willy-JL
4719460e27 Fix "reset menu" still importing from xfw app list
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
2024-03-21 04:43:53 +00:00
Willy-JL
42af1a788e Initial fixes for new canvas + furi checks 2024-03-20 05:51:39 +00:00
Sil
0111d85236 SubGHz: Manual region bypass (#47)
* 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>
2024-03-20 01:00:46 +00:00