xdg-shell and always centered surfaces

Bill Spitzak 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 mailing list