diff -urN MoinMoin_orig/action/togglesplash.py MoinMoin_patched/action/togglesplash.py
--- MoinMoin_orig/action/togglesplash.py	1970-01-01 01:00:00.000000000 +0100
+++ MoinMoin_patched/action/togglesplash.py	2007-01-20 23:08:24.000000000 +0100
@@ -0,0 +1,35 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - togglesplash action
+
+    This is the backend of the ToggleSplash macro
+    
+    @copyright: 2007 by Oliver Siemoneit
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from MoinMoin.Page import Page
+from MoinMoin import wikiutil
+
+def execute(pagename, request):
+    _ = request.getText
+    page = Page(request, pagename)
+     
+    if not request.user.valid:
+        return page.send_page(request,
+            msg = _('Please log in first.'))
+
+    if request.form.has_key('action') and request.form.has_key('ticket'):
+        if not wikiutil.checkTicket(request, request.form['ticket'][0]):
+            return page.send_page(request,
+                msg = _('Please use the interactive user interface.'))
+        if request.form.has_key('toggle_splash'):
+            request.user.show_splash = request.cfg.show_splash
+            request.user.save()
+            return page.send_page(request, msg = _("User preferences saved!"))
+        else:
+            request.user.show_splash = ''
+            request.user.save()
+            return page.send_page(request, msg = _("User preferences saved!"))
+
+    return page.send_page(request, msg = _('Please use the interactive user interface.'))
diff -urN MoinMoin_orig/config/multiconfig.py MoinMoin_patched/config/multiconfig.py
--- MoinMoin_orig/config/multiconfig.py	2006-12-10 16:18:40.000000000 +0100
+++ MoinMoin_patched/config/multiconfig.py	2007-01-19 16:16:48.000000000 +0100
@@ -379,6 +379,7 @@
     show_section_numbers = 0
     show_timings = False
     show_version = False
+    show_splash = ''
     siteid = 'default'
     stylesheets = [] # list of tuples (media, csshref) to insert after theme css, before user css
     subscribed_pages_default = [] # preload user subscribed pages with this page list
diff -urN MoinMoin_orig/macro/ToggleSplash.py MoinMoin_patched/macro/ToggleSplash.py
--- MoinMoin_orig/macro/ToggleSplash.py	1970-01-01 01:00:00.000000000 +0100
+++ MoinMoin_patched/macro/ToggleSplash.py	2007-01-19 16:24:30.000000000 +0100
@@ -0,0 +1,57 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - ToggleSplash form
+    
+    Syntax:
+       [[ToggleSplash]]
+
+    @copyright: 2007 by Oliver Siemoneit
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from MoinMoin import wikiutil
+
+def execute(macro, args):
+    request = macro.request
+    _ = request.getText
+
+    if not request.user.valid:
+        return
+        
+    ticket = wikiutil.createTicket(request)
+    
+    sn = request.getScriptname()
+    pi = request.getPathinfo()
+    action = u"%s%s" % (sn, pi)
+ 
+    lang_attr = request.theme.ui_lang_attr()
+    buttontext = _('Save')
+    label = _("Don't show this page again")
+
+    if request.user.show_splash != request.cfg.show_splash:
+        checked = ''
+        value = '0'
+    else:
+        checked = 'checked'
+        value = '1'
+        
+    return '''
+<form action="%(action)s" method="POST">
+<div class="userpref" %(lang_attr)s>
+<input type="hidden" name="action" value="togglesplash">
+<input type="hidden" name="ticket" value="%(ticket)s">
+<table border="0">
+<tr>
+<td><input type="checkbox" name="toggle_splash" id="chktoggle_splash" value="%(value)s" %(checked)s></td>
+<td><label for="chktoggle_splash">%(label)s</label></td>
+<td><input type="submit" name="save_toggle" value="%(buttontext)s"></td>
+</tr>
+</table>
+</form>''' % { 'action': action,
+               'lang_attr': lang_attr,
+               'ticket': ticket,
+               'value': value,
+               'checked': checked,            
+               'label': label,
+               'buttontext': buttontext, }
+
diff -urN MoinMoin_orig/request/__init__.py MoinMoin_patched/request/__init__.py
--- MoinMoin_orig/request/__init__.py	2007-01-14 15:34:48.000000000 +0100
+++ MoinMoin_patched/request/__init__.py	2007-01-19 16:17:32.000000000 +0100
@@ -1088,7 +1088,14 @@
                 page = wikiutil.getSysPage(self, 'UserPreferences')
                 page.send_page(self, msg=msg)
 
-            # 2. Or jump to page where user left off
+            # 2. If show_splash is activated in wikiconfig.py and user hasn't turned
+            # of splash screen, show it
+            elif not pagename and self.cfg.show_splash != '' and (self.user.show_splash != self.cfg.show_splash):
+                splash = Page(self, self.cfg.show_splash).url(self, escape=0, relative=False)
+                self.http_redirect(splash)
+                return self.finish()
+                
+            # 3. Or jump to page where user left off
             elif not pagename and self.user.remember_last_visit:
                 pagetrail = self.user.getTrail()
                 if pagetrail:
@@ -1104,7 +1111,7 @@
                 self.http_redirect(url)
                 return self.finish()
 
-            # 3. Or handle action
+            # 4. Or handle action
             else:
                 # pagename could be empty after normalization e.g. '///' -> ''
                 # Use localized FrontPage if pagename is empty
