Future of desktop splash screens - some thoughts



When I apt-get upgraded my Ubuntu system today, I noriced that they
added a new splash screen I totally dislike. Not that I disliked the
aesthetic aspects, but having naked people greeting me everyday doesn't
seem to improve productivity, instead I've found it a pretty
impertinent.

So I decided to change the splash screen. The current procedure is quiet
unacceptable for end users, since they have to mess with GConf Editor to
change that theme aspect of their desktop.

For that reason, I've concluded to write a little utility (attached, not
yet cleaned up) for manipulating the gconf settings, that could be
included in gcc; it comes with a built-in splash screen preview. The
problem is that /apps/gnome-session/options/splash_image specifies its
splash paths relatively to $PREFIXDIR/pixmaps, while splash screens
usually reside in $PREFIXDIR/pixmaps/splash. My utility currently picks
up all regular files in $PREFIXDIR/pixmaps/splash, because displaying
those in $PREFIXDIR/pixmaps as well is pretty confusing (hundrets of
images, no way to distinguish splash screens from other images). This
difficulty would be resolvabkle pretty easily, though - one could try to
"/splash" prefix from gconf keys (if existing), add the image filename
specified by the splash_image key to the list as well, etc.

There are some more aspects to consider, though:
- GUI splash screen selectors demand for useful splash screen
names/descriptions, similar to what we have for themes
- What about theme integration? Should themes be able to provide their
own splash screen?
- Is it worth the effort? Is changing splash screens a common case?

Some alternatives (feel free to add more):

A keep current state
 - pro
   - no work
 - con
   - not user-friendly
     - no GUI
     - no user-visible names/i18n

B introduce a concept similar to icon-spec
 - pro
   - will be fdo'ed => may be picked up by other DEs as well
   - fdo theme integration
 - con
   - much work required: elaborate on meta-info for icon layout,
			 progress bars, etc instead of just doing
			 some intransparent (but working) widget layout
			 voodoo; spec needs to be written.

C introduce a gconf-based concept (see below)
 - pro
   - uses gconf => integration into GNOME
   - very simple i18n
   - very simple implementation
 - con
   - no collaborative effort (gconf, anti-fdo), still layout vodoo

gconf-based concept:

each theme installs a key that applies
to /desktop/gnome/interface/splash-screens/blob, where the key name blob
is the theme id and the value is a string specifying a filename
("gnome-splash.png") which is then checked against $PREFIX/prefix/splash
and $HOME/.gnome2/splash. The obligatory <short> and <long> information
can easily be optionally i18n'ed using intltool and used for the
name/description GUI information. /desktop/gnome/interface/splash-screen
specifies the splash screen id to use (i.e. "blob"). All keys
in /desktop/gnome/interface/splash-screens are checked against it. If
any of them matches, it is used.

Comments, additions, opinions, anybody?

regs,
 Chris

Attachment: splash-prefs.tbz2
Description: application/bzip



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]