Per-ROM Settings, Layout Scaling & External Display Logic
This version expands customization and display flexibility, adding per-ROM external display settings, custom ROM naming, and smarter layout scaling.
It also improves multi-display handling, this and has been successfully tested on the Ayaneo Pocket DS.
New Features
1. Per-ROM External Display & Layout Settings
- Users can now configure external screen mode and layout per ROM.
- Added support for:
externalScreen: Top, Bottom, or CustomexternalLayoutId: custom layout ID for external screen
- UI includes new selectors and layout pickers (
ExternalLayoutSelectorActivityandFragment). - If no per-ROM setting is found, the app falls back to global preferences.
2. Layout Scaling
- If an exact layout match for the current screen size isn’t available, the app will now scale a matching layout variant (based on orientation).
- Enables better reusability of existing layouts across various resolutions.
3. Custom ROM Names
- Users can now set a custom name per ROM (displayed in list and emulator UI).
- Includes:
- "ROM Display Name" setting in ROM config
- Option to show filename instead of ROM title in general settings
- Support for editing/deleting via
TextInputDialog
Improvements & Fixes
- App now detects if it was launched on the external screen and adjusts presentation target accordingly:
- If launched on internal screen → targets external display
- If launched on external display → targets internal screen
- This replaces the previous behavior that forced the app to run only on the primary display.