Skip to content

Update "Save Main Configuration" sub-label (bypasses custom save directory) #19211

Description

@davidhedlund

Summary

The "Save Main Configuration" is the only menu item under Main Menu → Configuration File that does not save to the Settings → Directory → Configuration files directory.

Steps to Reproduce

  1. Save Initial Configuration: Navigate to Settings → Directory → Configuration files and select Save Main Configuration. This creates a global configuration file in the default directory (e.g., /home/blues/.var/app/org.libretro.RetroArch/config/retroarch/retroarch.cfg for the Flathub build).
Image
  1. Update Path: Change the Configuration File setting within Settings → Directory to a new destination, such as /home/x/Desktop/.
  2. Attempt to Re-save: Navigate back to Settings → Directory → Configuration files and perform the Save Main Configuration action again.
  3. Issue: Observe that the retroarch.cfg file is not created or updated at the specified custom path (/home/x/Desktop/retroarch.cfg).

Proposed Change

Current sub-label:

Save the current configuration as main configuration.

Proposed:

Saves the current configuration as the global settings file in the application's configuration root.

Why this is needed

  • Prevent Misconfiguration: Users currently have no indication that this action bypasses the directory defined in Settings → Directory → Configuration files. Explicitly stating this behavior prevents users from accidentally losing track of their configuration files.
  • Technical Accuracy: Clearly defining that this saves to the "application's configuration root" provides necessary transparency regarding file system impact.
  • Consistency: Addressing this discrepancy helps maintain a predictable UX, especially for users who expect all configuration-related actions within the Main Menu to respect their custom directory settings.

Optional Improvements for menu consistency

To improve consistency across the menu, the following sub-labels could optionally be updated to explicitly reference the Configuration files directory. These may not strictly need to be updated, as their behavior is generally understood, but including them here provides full clarity regarding the directory structure:

Update Main Menu → Configuration File → Load Configuration

Update:

Load Configuration
Load existing configuration and replace current values.

To:

Load Configuration
Load existing configuration and replace current values from the 'Configuration files' directory.

Update Main Menu → Configuration File → Save Current Configuration

Update:

Save Current Configuration
Overwrite current configuration file.

To:

Save Current Configuration
Overwrite current configuration file to the 'Configuration files' directory.

Update Main Menu → Configuration File → Save New Configuration

Update:

Save New Configuration
Save current configuration to separate file.

To:

Save New Configuration
Saves the current configuration to the 'Configuration files' directory.

Update Main Menu → Configuration File → Save Configuration As

Update:

Save Configuration As
Save current configuration as custom configuration file.

To:

Save Configuration As
Saves the current configuration to the 'Configuration files' directory with a custom filename.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions