Add steam-runtime-dialog and steam-runtime-dialog-ui
Loading
Add steam-runtime-dialog, a wrapper for zenity-style UIs
Add steam-runtime-dialog-ui, a fallback UI for steam-runtime-dialog
This implements a small subset of the feature set of zenity, using libraries available in the Steam Runtime (SDL, SDL_ttf, fontconfig, libdbus).
Unfortunately it does not yet work under Gamescope (e.g. on Steam Deck) due to focus-handling issues.
SLR_whatever.sh.in: Use ~/.steam/root/steam-dialog for UI if available
launch-options: Use ~/.steam/root/steam-dialog in preference to zenity
Unlike zenity, this doesn't interpret Pango markup.
dialog-ui: Add a way to force the UI to run even under Gamescope
We can use this while experimenting with whether we can get this to work successfully under Gamescope.
dialog-ui: Allow forcing a different Steam app ID
This will let us debug whether the UI getting stuck on Gamescope is caused by reusing the Steam client's app ID.
steamrt/tasks#376
The high-level goal here is that we can:
steam-runtime-dialog
as part of the Steam client (maybe under the name steam-dialog
), and also in both the LD_LIBRARY_PATH
and container runtimes (perhaps just a symlink steam-dialog -> steam-runtime-dialog
) so that it will be in their PATH
steam-runtime-dialog-ui
as part of the runtimes, or have an actual UI developer write a nicer/more-polished version with the same CLI/usr/bin/steam-dialog-ui
on Steam DeckAnd then we can make everything that currently uses zenity
use steam-dialog
instead:
For the moment, steam-runtime-dialog-ui
is just a "programmer art" version of what we eventually want this to look like, to demonstrate that it's feasible to implement. It's purely SDL and glibc, with no GLib dependency, to make it easy to separate into its own project if that's what Valve want to do.
steamrt/tasks#376