xdg-shell and always centered surfaces
spitzak at gmail.com
Tue Apr 14 16:41:36 PDT 2015
Lots of applications take a long time before they can generate the
initial window image, so they show a "splash screen" so the user knows
the application started. They are also often required to display
legally-required information (branding, copyright, etc) without
cluttering the main window with this. These screens usually are filled
with an image, have no border, and are much smaller than the initial window.
To make this look attractive it is desirable that the splash screen
location be centered (or at least inset) inside the future location of
the main screen. It is common to just position them in the middle of a
monitor, on the assumption that the main window is so large that it will
be pretty much centered on that same monitor, but I have seen examples
where they take the future location of the main window into account.
I suspect any logic would be equivalent to that used to position a child
window, so it may require an api where you can say "position as though
it was a child of a window of this size that has yet to be created".
It would be nice if there could be a requirement that the parent window
be created (though no buffer attached yet) so this could be a real
child. But I suspect that would require unacceptable amounts of
rewriting of existing applications (some of them run a small program
that only shows the splash screen and then exec the main program).
On 04/13/2015 09:03 AM, Jasper St. Pierre wrote:
> Currently it's not possible to specify initial window location. Can
> you give your exact use case here so we can think about how it would
> work? Is it centering dialogs? You mentioned something about splash
> screens, but I'm not sure what that means.
More information about the wayland-devel