[kde-artists] RFC: KSplash in KDE4
Lubos Lunak
l.lunak at suse.cz
Wed Feb 28 16:02:44 GMT 2007
Hello,
two things related to the splashscreen, related to each other:
- 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
There's branches/work/ksplashx in SVN. It's based on the ksplashx SUSE has
been using since like 9.3 (I don't really remember). There's a README, but in
short, add the subdir to kdebase, build it, the current splash theme is
ported, "ksplashx Default --test" will show it.
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
In practice, most of KSplashML's features shouldn't really matter and the
only real difference should be almost instant startup. I don't really insist
on dumping KSplashML if somebody sees a reason for it to live, but then I
don't see it myself.
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 yes.
- 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?
So, comments, objections, flames?
PS: The "Simple" and "None" splashscreens are definitely going to stay, of
course :).
--
Lubos Lunak
KDE developer
--------------------------------------------------------------
SUSE LINUX, s.r.o. e-mail: l.lunak at suse.cz , l.lunak at kde.org
Lihovarska 1060/12 tel: +420 284 028 972
190 00 Prague 9 fax: +420 284 028 951
Czech Republic http//www.suse.cz
______________________________________________________________________________
kde-artists at kde.org | https://mail.kde.org/mailman/listinfo/kde-artists
More information about the kde-core-devel
mailing list