If hidden-timeout=1 is set in gfxboot.cfg, then try to display a splash

window before the main window, displaying the contents of access.pcx at
the bottom of the screen.  If the timeout expires on this screen, then
the default menu item will be booted without ever showing the main menu;
conversely, any key press will show the main menu.  The idea of this is
to avoid everyone having to see a complicated main menu, while offering
a visual indication that you need to press a key to get to it.
master
Colin Watson 14 years ago
parent 81f8157964
commit dc9518ee13

@ -24,5 +24,6 @@
%% include keytables.inc
%% include langnames.inc
%% include locale.inc
%% include splash.inc

@ -476,26 +476,47 @@
] def
pop
} { pop } ifelse
"hidden-timeout" getgfxconfig dup .undef ne {
% display just the main and access logos and wait for a keypress; if
% timeout expires, boot without showing the menu
pop /timeout.hidden true def
} { pop } ifelse
% Move the logo down 84 pixels to centre it. This is obviously a gross
% hack. To fix this, we need to move to smaller logo images which are
% positioned on the screen in code, rather than doing the positioning in
% the image files.
timeout.hidden {
0 0 moveto 0 0 0 84 image
0 84
} { 0 0 } ifelse
moveto 0 0 clip.size image
/menu.args exch def
/menu.texts exch def
/menu.humans exch def
window.main
dup window.init
window.show
timeout.hidden {
window.splash
dup window.init
window.show
} {
window.main
dup window.init
window.show
32+64bit_source not {
32+64bit_source not {
64bit {
64bit_source not { notimeout 32bit_popup } if
} {
64bit_source { notimeout 64bit_popup } if
} ifelse
64bit {
64bit_source not { notimeout /timeout.hidden false def 32bit_popup } if
} {
64bit_source { notimeout /timeout.hidden false def 64bit_popup } if
} ifelse
} if
} if
lang.displayed not { panel.lang } if
lang.displayed not { panel.lang } if
} ifelse
50 sound.setvolume
"startup.mod" findfile dup .undef ne {
@ -925,8 +946,6 @@
} def
/init {
0 0 moveto currentpoint clip.size image
small_layout {
/head.x 70 def
/head.y 141 def
@ -1321,6 +1340,13 @@
/small_layout screen.size pop 640 eq def
/access.file "access.pcx" findfile def
access.file dup .undef ne {
setimage image.size /access.height exch def /access.width exch def
} {
pop /access.height .undef def /access.height .undef def
} ifelse
"splash.pcx" findfile
dup .undef eq { pop "back.jpg" findfile } if
/background.file over def setimage loadpalette

7
debian/changelog vendored

@ -4,6 +4,13 @@ gfxboot-theme-ubuntu (0.9.3) UNRELEASED; urgency=low
* Change "Ubuntu Netbook Remix" strings to "Ubuntu Netbook" (LP: #518718).
Adjust translations where I could do so accurately.
* Remove unused imgsize, showlogo, and readimage functions.
* If hidden-timeout=1 is set in gfxboot.cfg, then try to display a splash
window before the main window, displaying the contents of access.pcx at
the bottom of the screen. If the timeout expires on this screen, then
the default menu item will be booted without ever showing the main menu;
conversely, any key press will show the main menu. The idea of this is
to avoid everyone having to see a complicated main menu, while offering
a visual indication that you need to press a key to get to it.
-- Colin Watson <cjwatson@ubuntu.com> Thu, 25 Feb 2010 12:48:21 +0000

@ -24,4 +24,5 @@
%% include keytables.inc
%% include langnames.inc
%% include locale.inc
%% include splash.inc

@ -0,0 +1,61 @@
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
% Splash screen (hidden-timeout mode).
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Create new splash window.
%
% ( ) ==> ( window )
%
/window.splash {
widget.size array
dup .type t_splash put
} def
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Initialize splash window.
%
% ( window ) ==> ( )
%
/splash.init {
pop
} def
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Draw splash window.
%
% ( window ) ==> ( )
%
/splash.show {
window.push
access.file dup .undef ne {
setimage
screen.size exch access.width sub 2 div exch access.height sub
moveto 0 0 access.width access.height image
background.file setimage
} { pop } ifelse
} def
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Handle keyboard input.
%
% ( key_in ) ==> ( key_out )
%
/splash.input {
/timeout.hidden false def
0 0 moveto background.file setimage 0 0 image.size image
window.done
window.main
dup window.init
window.show
lang.displayed not { panel.lang } if
pop 0
} def

@ -12,6 +12,7 @@
timeout.seconds timeout.current eq { return } if
/timeout.current timeout.seconds def
timeout.hidden { return } if
white setcolor
@ -43,3 +44,4 @@
/timeout.x { head.x } def
/timeout.y { head.y } def
/timeout.hidden false def

@ -101,8 +101,9 @@
% window types
/t_dialog 100 def
/t_help 101 def
/t_main 102 def
/t_xmenu 103 def
/t_splash 102 def
/t_main 103 def
/t_xmenu 104 def
% actions
/actNothing 0 def
@ -151,6 +152,7 @@
window.current .type get
dup t_dialog eq { exch dialog.input exch } if
dup t_help eq { exch help.input exch } if
dup t_splash eq { exch splash.input exch } if
dup t_main eq { exch main.input exch } if
dup t_xmenu eq { exch xmenu.input exch } if
pop
@ -181,6 +183,7 @@
dup .type get
dup t_dialog eq { pop dialog.init return } if
dup t_help eq { pop help.init return } if
dup t_splash eq { pop splash.init return } if
dup t_main eq { pop main.init return } if
dup t_xmenu eq { pop xmenu.init return } if
pop
@ -196,6 +199,7 @@
dup .type get
dup t_dialog eq { pop dialog.show return } if
dup t_help eq { pop help.show return } if
dup t_splash eq { pop splash.show return } if
dup t_main eq { pop main.show return } if
dup t_xmenu eq { pop xmenu.show return } if
pop

Loading…
Cancel
Save