Skip to content

[Launcher] #2744 - Improved Avalonia launcher UI.#2931

Closed
ghost wants to merge 5 commits intoxplat-editorfrom
unknown repository
Closed

[Launcher] #2744 - Improved Avalonia launcher UI.#2931
ghost wants to merge 5 commits intoxplat-editorfrom
unknown repository

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Oct 13, 2025

PR Details

Conservatively improved the layout of the Avalonia launcher, bringing it more in line with the current version. Added a tiny amount of logic to control the integrated title-bar as well as focusing the ScrollViewer in the contextual popup so the scroll wheel doesn't try to interact with the ScrollViewer behind it.

Apologies in advance if I've messed anything up in terms of procedures, this is my first open source contribution!

Some screenshots:

stride-launcher-editor-improvements-1 stride-launcher-editor-improvements-2 stride-launcher-editor-improvements-3

Related Issue

#2744

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My change requires a change to the documentation.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • I have built and run the editor to try this change out.

Daniel Cumbor added 3 commits October 13, 2025 16:12
-- Improved MessageBox UX.
-- Improved spacing in engine version minor popup.
-- Integrated window title-bar into window.
Also removed LastChildFill param to conform with other DockPanels
@ghost
Copy link
Copy Markdown
Author

ghost commented Oct 14, 2025

@dotnet-policy-service agree

@dotnet-policy-service agree

@Kryptos-FR Kryptos-FR self-requested a review October 15, 2025 19:34
@Jklawreszuk
Copy link
Copy Markdown
Collaborator

It seems reasonable to me. Though the title bar implementation is missing a few properties on Linux:

  • native title bar still shows up so you have to hide it
  • minimize,maximize and close need to be implemented on linux (they dont show up)

Other than that, I have no comments 😃 Treat above nitpicks as optional

@Kryptos-FR
Copy link
Copy Markdown
Member

Kryptos-FR commented Oct 18, 2025

What's the goal of having this custom title bar ?

Especially MainView isn't a window so it is isn't supposed to have a title bar.
That's why it is embedded within the MainWindow which does have a title bar itself.

edit: ok I see what it does on Windows: it displays the vector icon instead of the image one. Nice attempt, but unfortunately it is not portable and doesn't work on Linux. So I'd prefer to revert that change until Avalonia offers a portable API to do so. It might even behave differently on macOs.

@ghost
Copy link
Copy Markdown
Author

ghost commented Oct 18, 2025

The title-bar change aimed to match the original launcher's appearance. Using MainView for title-bar behaviour seemed practical given the simple window structure, but I failed to consider cross-platform responses of this behaviour. I'll revert this change!

We could implement window chrome in-app (like Steam, Epic, GOG) rather than relying on platform interpretations. The drawback is that it won't adapt to desktop environment conventions like GNOME users would see minimize/maximize buttons despite GNOME typically only showing close. Nor would it be able to use native title-bar features like gesture support, although this might not be that big of a deal if we restrict the launcher's ability to resize.

@Kryptos-FR Kryptos-FR linked an issue Oct 18, 2025 that may be closed by this pull request
@Kryptos-FR
Copy link
Copy Markdown
Member

Kryptos-FR commented Oct 18, 2025

@VeiledSprite thanks. Could you comment on the linked issue so that I can assign it to you?

@ghost
Copy link
Copy Markdown
Author

ghost commented Oct 19, 2025

#2744

@Kryptos-FR
Copy link
Copy Markdown
Member

Sorry I meant to add a comment on the issue itself.

@ghost
Copy link
Copy Markdown
Author

ghost commented Oct 19, 2025

🤦‍♂️ My mistake!

-- Resorted to using even numbers for margins and paddings.
-- Reverted changes to MessageBox.
-- Used double space instead of tab.
-- Added axaml type to be included to editor rules.
Copy link
Copy Markdown
Member

@Kryptos-FR Kryptos-FR left a comment

Choose a reason for hiding this comment

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

Some changes are ok, especially capturing the mouse wheel. However I'm not a fan of the button's margin inside the drop down to select the versions.

Command="{Binding SetAsActiveCommand}"
HorizontalAlignment="Stretch" HorizontalContentAlignment="Left">
HorizontalAlignment="Stretch" HorizontalContentAlignment="Left"
Padding="4" Margin="4">
Copy link
Copy Markdown
Member

@Kryptos-FR Kryptos-FR Oct 26, 2025

Choose a reason for hiding this comment

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

I think this margin is not necessary. It looks a bit ugly. Padding is ok.

@ghost ghost closed this by deleting the head repository Nov 7, 2025
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Launcher Stride Launcher

Projects

Development

Successfully merging this pull request may close these issues.

😊🔵𝐌 Improve Avalonia Launcher

2 participants