xpra icon
Bug tracker and wiki

Opened 9 months ago

Closed 3 months ago

Last modified 3 weeks ago

#2540 closed enhancement (fixed)

add splash screen

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 4.1
Component: client Version: 3.0.x
Keywords: Cc:

Description (last modified by Antoine Martin)

Similar to what happens with the html5 client: we can use this to show progress, from initialization, testing opengl, opening the network connection, authenticating, etc..
Then the window can be faded out.

See also #2571

Change History (8)

comment:1 Changed 9 months ago by Antoine Martin

Status: newassigned
Summary: use opengl probe as splash screenadd splash screen

The opengl probe should still be done in a different subprocess so that we can handle crashes gracefully.

We can keep the splash screen running until we get the "first-ui-event" (ie: first window shown on screen), or just until we are connected.

comment:2 Changed 8 months ago by Antoine Martin

Description: modified (diff)

comment:3 Changed 3 months ago by Antoine Martin

Milestone: 4.04.1

Would help with #2813.

It would be nice if we could show all the steps: server starting, client starting, opengl probing, etc...

comment:4 Changed 3 months ago by Antoine Martin

Added splash screen in r26803.

Still TODO:

  • test on other platforms
  • with xpra start --attach=yes ssh://host/ - we should wait for the hello packet rather than hiding the splash screen as soon as we have established the ssh connection, as starting the server and connecting to it may still take quite a bit of time to complete

comment:5 Changed 3 months ago by Antoine Martin

Resolution: fixed
Status: assignedclosed


  • r26805 use threads, works on win32
  • r26810 show connection established or authentication as we fade out the splash window
  • r26811 add more steps for remote server starts
  • r26812 ignore pipe errors
  • r26813 fake gradual progress during events

Works well enough.

comment:6 Changed 3 months ago by Antoine Martin

One problem: on macos, we have a "nodock" app bundle that uses LSUIElement=true to suppress the dock icon when running the audio subprocess, but this does not work for GTK, probably because GTK uses kProcessTransformToForegroundApplication.
It might work if kProcessTransformToUIElementApplication was used instead (hint found here), but this would require patching GTK..

Maybe setActivationPolicy can do this?


comment:7 Changed 3 months ago by Antoine Martin

macos issues fixed:

  • r26814 POPUP window, disable "startup notification"
  • r26817 cosmetic
  • r26818 force focus on macos
  • r26819 hide macos dock (it shows up very briefly)

comment:8 Changed 3 weeks ago by Antoine Martin

Also used when starting servers now: r27332.

Note: See TracTickets for help on using tickets.