diff --git a/debian/changelog b/debian/changelog index 55720cc..8b9dc24 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ gfxboot-theme-ubuntu (0.5.17) UNRELEASED; urgency=low * Add a header to the language and keymap menus; this seems to make it feel like less of an accident when the language menu is displayed automatically on startup. + * Don't display "Press F4 to select alternative start-up and installation + modes" until the initial language menu has been dismissed (LP: #197260). -- Colin Watson Mon, 07 Apr 2008 12:41:45 +0100 diff --git a/dia_lang.inc b/dia_lang.inc index 5a0b61f..6024a66 100644 --- a/dia_lang.inc +++ b/dia_lang.inc @@ -12,6 +12,7 @@ % fallback if there is no "langlist" /lang.items [ "en" ] def /lang.names [ "English" ] def +/lang.displayed false def /.la.language 0 def /.la.locale 1 def @@ -179,6 +180,22 @@ } def +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +% Clean up after language menu has been undrawn. +% +% ( ) => ( ) +% +/lang.cleanup { + lang.displayed not { + boot.show not { + boot.pos moveto boot.label.len neg 0 rmoveto + txt_modes_help show + } if + /lang.displayed true def + } if +} def + + % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % Show language menu. % @@ -190,6 +207,7 @@ window.xmenu dup .xmenu xmenu.lang put dup .xmenu.update /lang.update put + dup .xmenu.cleanup /lang.cleanup put dup window.init window.show } def diff --git a/main.inc b/main.inc index 8f03823..db6e480 100644 --- a/main.inc +++ b/main.inc @@ -74,8 +74,10 @@ settransparency boot.ed edit.redraw } { - boot.label.len neg 0 rmoveto - txt_modes_help show + lang.displayed { + boot.label.len neg 0 rmoveto + txt_modes_help show + } if } ifelse } def diff --git a/window.inc b/window.inc index c44b496..282475d 100644 --- a/window.inc +++ b/window.inc @@ -96,6 +96,7 @@ /.xmenu.change newfield % like update but the window remains shown /.xmenu.select newfield /.xmenu.input newfield +/.xmenu.cleanup newfield % window types /t_dialog 100 def @@ -258,6 +259,10 @@ dup .saved.areas get free dup .saved.areas .undef put } if + % specific cleanup actions + window.current dup .type get + dup t_xmenu eq { xmenu.cleanup } if + pop % free input field memory dup .ed get .undef ne { dup .ed get 2 get free % background diff --git a/xmenu.inc b/xmenu.inc index ac098fe..c4f2c64 100644 --- a/xmenu.inc +++ b/xmenu.inc @@ -271,6 +271,16 @@ small_layout { } def +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +% Clean up after menu has been undrawn. +% +% ( ) ==> ( ) +% +/xmenu.cleanup { + window.current .xmenu.cleanup get dup .undef ne { exec } { pop } ifelse +} def + + % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % Draw xmenu. %