- I'd like to add a new splash implementation and would like to get feedback
- slightly as a result of above, but not really, like to propose changing some things about the splash
Differences to current (KSplashML) implementation are:
- doesn't link against Qt, uses only few sources from Qt (Qt3 actually, but there's no point in porting); as such it's up and running very quickly, unlike KSplashML, which links KDE libraries up to libkio, loading of which takes ages under realistic conditions during KDE startup
- KSplashML has been unmaintained for quite some time I also happen to personally think KSplashML is an overdesigned mess, but I guess that doesn't really count when I want to add another implementation using Xlib directly :)
- themes are not C++ code but are created using a simple syntax file, with slightly limited capabilities (see below); I could even add a script to convert KSplashML's Default engine-based themes if wanted.
All what KSplashX can do, basically, is just adding images to the splash window and overlaying animations. That may not seem much, but that happens to be what splashscreens do :). Some seemingly missing features include:
- No text support. Can be still done by preparing images with texts rendered into it. There's no i18n support either, but if needed, could be done by having extra images per language. However, splashes usually tend to display two things, 1) things like "KDE" or "3.5", which are not translated and are part of the images, 2) things like "Initializing peripherals" or "Loading the window manager", which are rather uninteresting and a lie anyway.
Our startup sequence has changed quite a lot since the times this was done (and will most probably still change a bit for KDE4) and the messages no longer match, nor they make that much sense (I still remember the times when people complained about KWin starting way too long just because that message was shown while something else was hogging the system). I'd like to propose to just have, say, 8 or 10 checkpoints at some arbitrary points in the startup and just show progressbars or only icons or whatever depending on the theme for them (not necessarily always as much as 8 or 10).
- No support for locolor. KSplashML first tries a locolor version of the splash for bpp == 8. Do we still need that? Should be simple to add if needed.
- Obviously, since there's no C++ code, there's no way to add arbitrary things like icons jumping on the bottom edge of the screen, but do we really need that anyway?
p.s. The "Simple" and "None" splashscreens are definitely going to stay, of course :)