[WIP] Use native file pickers on linux#57
Draft
ZadenRB wants to merge 6 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
A more proper fix for project-slippi/slippi-launcher#543.
Adds the
xdgdesktopportalplatform theme to the AppImage. Also updateslinuxdeploy-plugin-qtto the continuous build. This update was needed because the oldlinuxdeploy-plugin-qtversion added a script inapprun-hookswhich setQT_QPA_PLATFORMTHEME=gtk2. The newer version skips this addition for QT6.Edit to add:
It may be nice to still do the launcher environment fix linked above to cover any cases where xdg isn't working for whatever reason. But sort of depends on the answer to the question below.
What should the default platform theme be?
What I've done here is added a bit to
linux-env.shthat sets QT_QPA_PLATFORMTHEME to xdgdesktopportal automatically if a portal is available. This may be overly defensive - can we safely assume all users have a desktop portal running?Another option that I got working locally was bundling
qt6ctplatform theme & styles, which allows users to configure what dialogs are used. This is nice in theory, but is a weird end user experience since qt6ct will show all styles/themes that the host system has installed, but only options that are also bundled in the AppImage will actually work (effectively fusion, windows, builtin qt6ct styles & xdg desktop portal for dialogs). When other choices are selected the app will be full-default light mode fusion.