mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
* 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>
Structure
debug
Applications for factory testing the Flipper.
accessor- Wiegand serverbattery_test_app- Battery debug appblink_test- LED blinkerbt_debug_app- BT test app. Requires full BT stack installeddisplay_test- Various display tests & tweaksfile_browser_test- Test UI for file pickerkeypad_test- Keypad testlfrfid_debug- LF RFID debug tooltext_box_test- UI testsuart_echo- UART mode testunit_tests- Unit testsusb_mouse- USB HID testusb_test- Other USB testsvibro_test- Vibro test
main
Applications for main Flipper menu.
archive- Archive and file managerbad_usb- Bad KB applicationgpio- GPIO application: includes USART bridge and GPIO controlibutton- iButton application, onewire keys and moreinfrared- Infrared application, controls your IR deviceslfrfid- LF RFID applicationnfc- NFC application, HF rfid, EMV and etcsubghz- SubGhz application, 433 fobs and etcu2f- U2F Application
External
External applications deployed to SD Card
clock- Clock applicationdap_link- DAP Link OnChip debuggerhid_app- USB/BT Remote controllermusic_player- Music player app (demo)nfc_magic- NFC MFC Magic card applicationpicopass- Picopass reader / writersignal_generator- Signal generator app: PWM and clock generatorsnake_game- Snake game applicationspi_mem_manager- SPI Memory reader / flasherweather_station- SubGHz weather station
services
Background services providing system APIs to applications.
applications.h- Firmware application list headerbt- BLE service and applicationcli- Console service and APIcrypto- Crypto cli toolsdesktop- Desktop servicedialogs- Dialogs service: GUI Dialogs for your appdolphin- Dolphin service and supplementary appsgui- GUI service and APIinput- Input serviceloader- Application loader servicenotification- Notification servicepower- Power servicerpc- RPC service and APIstorage- Storage service, internal + sdcard
settings
Small applications providing configuration for basic firmware and its services.
about- Small About application that shows flipper infobt_settings_app- Bluetooth optionsdesktop_settings- Desktop configurationdolphin_passport- Dolphin passport appnotification_settings- LCD brightness, sound volume, etc configurationpower_settings_app- Basic power optionsstorage_settings- Storage settings appsystem- System settings
system
Utility apps not visible in other menus, plus few external apps pre-packaged with the firmware.
hid_app- BLE & USB HID remotejs_app- JS engine runnersnake_game- Snake gamestorage_move_to_sd- Data migration tool for internal storageupdater- Update service & application