Skip to content

fix(ui): make the settings dialog movable - #728

Merged
Cervator merged 1 commit into
masterfrom
fix-settings-window-movable
Sep 28, 2026
Merged

Cervator merged 1 commit into
masterfrom
fix-settings-window-movable

Conversation

@soloturn

Copy link
Copy Markdown
Contributor

Closes #468.

The settings dialog used StageStyle.UNDECORATED - no native title bar means the OS window manager has nothing to let the user drag, so the window is stuck wherever it opens. On a multi-monitor setup that's always the primary display, exactly as reported.

The main launcher window already uses StageStyle.DECORATED, so this brings the settings dialog in line with that (using UTILITY instead - a thinner title bar without minimize/maximize, appropriate for a modal dialog rather than a top-level window). Also set the window title via the existing (already-translated, previously unused) settings_title label key, since UTILITY/DECORATED need a title to not show a blank bar.

No changes to the close/save/cancel behavior - those already close via getWindow().hide() on the button's own scene, independent of stage style.

Test plan:

  • ./gradlew build succeeds

@coderabbitai

coderabbitai Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a387c5e5-0a71-4416-b7e4-87788c18ebc8

📥 Commits

Reviewing files that changed from the base of the PR and between fb3e2bc and 7a07520.

📒 Files selected for processing (1)
  • src/main/java/org/terasology/launcher/ui/ApplicationController.java

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes
    • Updated the settings window to use a native title bar.
    • Added a localized title for the settings window.

Walkthrough

The settings dialog now uses the UTILITY stage style and displays a localized title from the settings_title label.

Changes

Settings dialog

Layer / File(s) Summary
Configure settings dialog window
src/main/java/org/terasology/launcher/ui/ApplicationController.java
The settings dialog uses StageStyle.UTILITY and sets its title from I18N.getLabel("settings_title").

Estimated code review effort: 1 (Trivial) | ~3 minutes

Merge Risk: ⚪ Minimal · up to 7a075

This localized UI change makes the settings dialog movable and gives it a translated title without changing close, save, or cancel behavior; no actionable merge-blocking risk remains beyond normal checks and review.

Poem

A rabbit sees the title glow
The settings window moves just so
A native bar crowns the view
With words translated, crisp and true
Hop, hop—the dialog now can go

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The changes satisfy issue #468 by making the settings dialog movable. They do not address issue #39, which requires displaying the human-readable display version. Implement the display-version requirement from issue #39, or remove issue #39 from the linked issues if it is not part of this pull request.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: making the settings dialog movable.
Description check ✅ Passed The description explains the settings dialog issue, the stage-style change, the localized title, and the build test.
Out of Scope Changes check ✅ Passed The stage-style and localized-title changes directly support the movable settings dialog requirement in issue #468. No unrelated code changes are shown.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-settings-window-movable

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.

@Cervator
Cervator merged commit 732d4ed into master Sep 28, 2026
4 checks passed
@Cervator
Cervator deleted the fix-settings-window-movable branch September 28, 2026 01:29
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.

Settings menu opens in fixed position and cannot be moved

2 participants