Skip to content

Simplify settings screen copywriting#1175

Open
jerryjappinen wants to merge 5 commits intoutkarshdalal:masterfrom
jerryjappinen:master
Open

Simplify settings screen copywriting#1175
jerryjappinen wants to merge 5 commits intoutkarshdalal:masterfrom
jerryjappinen:master

Conversation

@jerryjappinen
Copy link
Copy Markdown

@jerryjappinen jerryjappinen commented Apr 10, 2026

Description

This is a very "conservative" PR with focus on minor copywriting aspects to clean up clutter in the settings screen, and making it easier to scroll, glance and navigate.

A couple of subtitles in the settings screen have been removed to decrease clutter in the settings screen. This should spotting their titles easier, and proper nouns like Box64 and FEXCore stand out better.

No information has really been lost, especially where a dialog still contains further details (like Driver Manager). People tend to scan titles and ignore additional descriptions anyway.

A couple of the text descriptions have been shortened. The decorative settings icon at the top has also been removed, because it looks a bit like a button but isn't one, and isn't really needed either.

I moved the external storage option below "Steam Download Server". The former is often disabled, and can expose additional options, so it's more natural to have it as the last menu item of the group.

Other notes

  • I was getting some warnings about unused variables, properties, imports etc. but did not start cleaning them up as part of this PR as they seem unrelated to any of the changes here
  • I would wrap download options into its own group, but did not want to do it in this PR as it needs more changes than the very simple ones I wanted to focus on in this PR
  • I did remove the culled strings from values/strings.xml, but I did NOT touch translations
  • What are the spelling rules for menu items and buttons? It seems like there is a mix of Title Case and Sentence case used, but it's not clear to me if the current labels are correctly or incorrectely spelled. In this PR, I did not make changes related to this but it does seem slightly inconsistent now.

Recording

gamenative-settings.mp4

Checklist

  • If I have access to #code-changes, I have discussed this change there and it has been green-lighted. If I do not have access, I have still provided clear context in this PR. If I skip both, I accept that this change may face delays in review, may not be reviewed at all, or may be closed.
  • I have attached a recording of the change.
  • I have read and agree to the contribution guidelines in CONTRIBUTING.md.

Summary by cubic

Simplifies the settings screen language and layout to reduce clutter and improve scanability. Removes redundant subtitles, cleans the header, tightens labels, and makes the download server setting service-agnostic while keeping it above External storage.

  • Refactors
    • Removed non-essential subtitles in Emulation, Interface, and Info; dialogs still provide details.
    • Shortened labels and descriptions in strings.xml (e.g., “Custom Wine/Proton versions”, “Open links in external browser”); removed unused strings.
    • Removed the decorative header icon and secondary subtitle.
    • Renamed the download server setting to be service-agnostic and kept it above External storage.
    • Wine debug channels: shortened dialog title and display selected channels as "a, b, c".

Written for commit affad69. Summary will update on new commits.

Summary by CodeRabbit

  • UI Improvements

    • Streamlined Settings header for a cleaner appearance.
    • Repositioned Steam download server selection within Settings.
    • Removed many secondary/subtitle descriptions across Emulation, Info, and Interface groups to declutter options.
    • Minor subtitle formatting change for Wine debug channel display (uses comma + space).
  • Documentation / Text

    • Updated or removed multiple Settings-related strings for clarity and consistency.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 10, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 80a055e6-c000-4645-a3c5-956279c827a6

📥 Commits

Reviewing files that changed from the base of the PR and between 430c767 and affad69.

📒 Files selected for processing (1)
  • app/src/main/res/values/strings.xml
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/src/main/res/values/strings.xml

📝 Walkthrough

Walkthrough

Removes multiple subtitle composables and a header decoration from the settings UI, repositions the Steam download server link, trims string resources and wording, and adjusts the Wine debug channel subtitle to join entries with a comma plus space.

Changes

Cohort / File(s) Summary
Settings subtitle removals
app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupEmulation.kt, app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupInfo.kt, app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupInterface.kt
Removed subtitle composables from multiple SettingsMenuLink/SettingsSwitch entries (emulation presets, driver/contents/wine-proton managers, ask-tip, source/libraries/privacy links, external links).
Settings header cleanup
app/src/main/java/app/gamenative/ui/screen/settings/SettingsScreen.kt
Deleted header subtitle text, spacer, and decorative settings icon; header now only shows back button and main title column.
Wine debug formatting
app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupDebug.kt
Changed rendering of selected Wine debug channels to join entries with ", " (comma + space) instead of ",".
Steam server link moved
app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupInterface.kt
Repositioned Steam download server SettingsMenuLink earlier within the downloads section and set its computed subtitle to the selected region label (or default).
String resource updates
app/src/main/res/values/strings.xml
Removed several subtitle string resources and the global settings subtitle; updated wording for multiple settings strings (Wine label, emulation/interface wording, save logcat subtitle, icon style, etc.).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 I nibbled commas, set them right,
Removed small whispers from the night,
Pulled a ribbon from the header space,
Moved a server link to a warmer place,
Now settings hum with simpler grace. ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: simplifying copywriting on the settings screen by removing subtitles and reducing clutter.
Description check ✅ Passed The description is comprehensive, explaining the rationale for changes, noting what was removed vs. kept, and addressing potential concerns. All checklist items are marked complete with a recording attached.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
app/src/main/res/values/strings.xml (1)

446-446: Plan a follow-up localization sync for updated English strings.

The base copy changed in several keys, so a translation refresh would prevent wording drift across non-English locales.

Also applies to: 782-782, 788-788, 816-816, 818-818, 825-825, 859-859, 861-861, 864-864

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/src/main/res/values/strings.xml` at line 446, Update the localization
process to refresh translations for any changed base English
strings—specifically ensure a translation-sync is scheduled for the updated keys
such as settings_save_logcat_subtitle and the other modified string resource
keys (the ones flagged in the review comment) so non-English locales receive the
new wording; run your usual localization export/import workflow (or notify
translators) to regenerate .xml translations and verify the updated
English-to-localized mappings are applied project-wide.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@app/src/main/res/values/strings.xml`:
- Line 446: Update the localization process to refresh translations for any
changed base English strings—specifically ensure a translation-sync is scheduled
for the updated keys such as settings_save_logcat_subtitle and the other
modified string resource keys (the ones flagged in the review comment) so
non-English locales receive the new wording; run your usual localization
export/import workflow (or notify translators) to regenerate .xml translations
and verify the updated English-to-localized mappings are applied project-wide.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3c4303fc-2a52-440f-8143-e24a3b36fb54

📥 Commits

Reviewing files that changed from the base of the PR and between 55c0796 and 6bdded1.

📒 Files selected for processing (6)
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupDebug.kt
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupEmulation.kt
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupInfo.kt
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupInterface.kt
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsScreen.kt
  • app/src/main/res/values/strings.xml
💤 Files with no reviewable changes (3)
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupInfo.kt
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsScreen.kt
  • app/src/main/java/app/gamenative/ui/screen/settings/SettingsGroupEmulation.kt

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 6 files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant