commit
9a18221693
145 changed files with 24911 additions and 0 deletions
-
BIN16x16.fnt
-
94Makefile
-
BINback.jpg
-
36boot.config
-
112bsplash.inc
-
116button.inc
-
1619common.inc
-
102dia_bits.inc
-
66dia_dud.inc
-
44dia_help.inc
-
303dia_install.inc
-
222dia_lang.inc
-
52dia_options.inc
-
139dia_profile.inc
-
90dia_splash.inc
-
215dia_video.inc
-
BINgreeting.jpg
-
BINhappysuse.mod
-
BINhead.jpg
-
BINhead_a.jpg
-
130help-boot.bg.html
-
108help-boot.cs.html
-
128help-boot.da.html
-
126help-boot.de.html
-
129help-boot.en.html
-
126help-boot.es.html
-
128help-boot.fi.html
-
107help-boot.fr.html
-
131help-boot.hu.html
-
136help-boot.it.html
-
76help-boot.ja.html
-
104help-boot.nb.html
-
126help-boot.nl.html
-
127help-boot.pl.html
-
110help-boot.pt.html
-
76help-boot.pt_BR.html
-
130help-boot.ro.html
-
126help-boot.sk.html
-
119help-boot.sl.html
-
127help-boot.sv.html
-
107help-boot.uk.html
-
76help-boot.zh_CN.html
-
76help-boot.zh_TW.html
-
326help-install.bg.html
-
289help-install.cs.html
-
377help-install.da.html
-
363help-install.de.html
-
374help-install.el.html
-
380help-install.en.html
-
363help-install.es.html
-
372help-install.fi.html
-
419help-install.fr.html
-
176help-install.hu.html
-
401help-install.it.html
-
232help-install.ja.html
-
281help-install.nb.html
-
359help-install.nl.html
-
374help-install.pl.html
-
291help-install.pt.html
-
232help-install.pt_BR.html
-
363help-install.sl.html
-
376help-install.sv.html
-
287help-install.uk.html
-
232help-install.zh_CN.html
-
232help-install.zh_TW.html
-
696help.inc
-
28install.config
-
28keymap.cs.inc
-
24keymap.da.inc
-
29keymap.de.inc
-
5keymap.el.inc
-
26keymap.es.inc
-
32keymap.fr.inc
-
43keymap.hu.inc
-
25keymap.it.inc
-
24keymap.ja.inc
-
43keymap.nb.inc
-
16keymap.pl.inc
-
22keymap.pt_BR.inc
-
24keymap.pt_PT.inc
-
43keymap.ru.inc
-
24keymap.sk.inc
-
38keymap.sl.inc
-
23keymap.sv.inc
-
29keymap.tr.inc
-
37keymapchars
-
72keytables.inc
-
BINkroete.dat
-
34languages
-
BINldots.jpg
-
BINldots_a.jpg
-
154locale.inc
-
240main.inc
-
204panel.inc
-
BINpanim.jpg
-
BINpanim_a.jpg
-
BINpback.jpg
-
416penguin.inc
-
12penguins/Makefile
-
BINpenguins/panim.png
@ -0,0 +1,94 @@ |
|||
BINDIR := $(shell [ -x ../../mkbootmsg ] && echo ../../ ) |
|||
|
|||
PRODUCT = "SUSE Linux 10.1" |
|||
|
|||
HELP2TXT = $(BINDIR)help2txt |
|||
MKBOOTMSG = $(BINDIR)mkbootmsg |
|||
BFLAGS = -O -v -L ../.. |
|||
INCLUDES = $(wildcard *.inc) |
|||
TRANSLATIONS = $(addsuffix .tr,en $(notdir $(basename $(wildcard po/*.po)))) |
|||
HELPBOOT = $(addsuffix .hlp,$(addprefix boot/,$(subst .,,$(suffix $(basename $(wildcard help-boot.*.html)))))) |
|||
HELPINST = $(addsuffix .hlp,$(addprefix install/,$(subst .,,$(suffix $(basename $(wildcard help-install.*.html)))))) |
|||
|
|||
HELPBOOT_ALL = $(notdir $(HELPBOOT)) |
|||
HELPINST_ALL = $(notdir $(HELPINST)) |
|||
|
|||
DEFAULT_LANG = |
|||
|
|||
PIC_COMMON = back.jpg head{,_a}.jpg {l,r,v}dots{,_a}.jpg |
|||
PIC_INSTALL = greeting.jpg pback.jpg phead.jpg panim{,_a}.jpg |
|||
|
|||
FILES_INST = init languages $(TRANSLATIONS) 16x16.fnt kroete.dat \
|
|||
$(PIC_COMMON) $(PIC_INSTALL) $(HELPINST_ALL) |
|||
|
|||
FILES_BOOT = init languages $(TRANSLATIONS) 16x16.fnt \
|
|||
$(PIC_COMMON) $(HELPBOOT_ALL) |
|||
|
|||
FILES_BOOT_EN = init languages en.tr 16x16.fnt $(PIC_COMMON) en.hlp |
|||
|
|||
INST_EXT = 16x16.fnt $(PIC_COMMON) $(PIC_INSTALL) kroete.dat *.hlp *.tr |
|||
|
|||
ifdef DEFAULT_LANG |
|||
FILES_INST += lang |
|||
FILES_BOOT += lang |
|||
FILES_BOOT_EN += lang $(DEFAULT_LANG).tr $(DEFAULT_LANG).hlp |
|||
endif |
|||
|
|||
boot/%.hlp: help-boot.%.html boot |
|||
$(HELP2TXT) --product=$(PRODUCT) $< >$@ |
|||
|
|||
install/%.hlp: help-install.%.html install |
|||
$(HELP2TXT) --product=$(PRODUCT) $< >$@ |
|||
|
|||
.PHONY: all themes font clean po |
|||
|
|||
all: themes |
|||
|
|||
boot install: po |
|||
mkdir -p $@ |
|||
|
|||
po: |
|||
make -C po |
|||
|
|||
themes: bootdir installdir |
|||
|
|||
bootdir: boot.config $(INCLUDES) $(HELPBOOT) |
|||
@cp -a po/*.tr boot |
|||
@for i in $(FILES_BOOT) ; do [ -f $$i ] && cp $$i boot ; done ; true |
|||
@echo en >boot/languages |
|||
$(MKBOOTMSG) $(BFLAGS) -l boot/log -c $< boot/init |
|||
ifdef DEFAULT_LANG |
|||
@echo $(DEFAULT_LANG) >boot/lang |
|||
@echo $(DEFAULT_LANG) >>boot/languages |
|||
endif |
|||
@sh -c 'cd boot; echo $(FILES_BOOT_EN) | sed -e "s/ /\n/g" | cpio --quiet -o >message' |
|||
|
|||
installdir: install.config $(INCLUDES) $(HELPINST) |
|||
@cp -a po/*.tr install |
|||
@for i in $(FILES_INST) ; do [ -f $$i ] && cp $$i install ; done ; true |
|||
$(MKBOOTMSG) $(BFLAGS) -l install/log -c $< install/init |
|||
ifdef DEFAULT_LANG |
|||
@echo $(DEFAULT_LANG) >install/lang |
|||
endif |
|||
@sh -c 'cd install; chmod +t $(INST_EXT)' |
|||
@sh -c 'cd install; echo $(FILES_INST) | sed -e "s/ /\n/g" | cpio --quiet -o >bootlogo' |
|||
|
|||
font: |
|||
cat po/*.po *.html >tmp.txt |
|||
../../getx11font -v -l 18 -p 2,4 \
|
|||
-c ISO-8859-15 -c ISO-8859-2 -c koi8-r \
|
|||
`./keymapchars keymap.*.inc` \
|
|||
-t tmp.txt \
|
|||
-t install/log -t boot/log \
|
|||
-t languages \
|
|||
-f -efont-fixed-bold-r-normal--16-160-75-75-c-80-iso10646-1 \
|
|||
-f -efont-fixed-bold-r-normal--16-160-75-75-c-160-iso10646-1 \
|
|||
--fsize 16,5 -f '-freetype-haydar unicode-medium-r-normal--17-120-100-100-p-81-iso10646-1' \
|
|||
16x16.fnt >16x16.fnt.log |
|||
rm -f tmp.txt |
|||
|
|||
clean: |
|||
make -C po clean |
|||
rm -f bootdir installdir *~ *.log |
|||
rm -rf boot install |
|||
|
After Width: 800 | Height: 600 | Size: 7.3 KiB |
@ -0,0 +1,36 @@ |
|||
%% include system.inc |
|||
|
|||
/livecd false def |
|||
|
|||
% no splash |
|||
/bsplash.show { } def |
|||
/bsplash.done { } def |
|||
|
|||
% no penguin stuff |
|||
/ptheme.init { } def |
|||
/p.timeout.animate { } def |
|||
/p.call.super { } def |
|||
|
|||
%% include timeout.inc |
|||
%% include common.inc |
|||
|
|||
%% include po/text.inc |
|||
%% include window.inc |
|||
%% include button.inc |
|||
%% include help.inc |
|||
%% include main.inc |
|||
%% include xmenu.inc |
|||
%% include dia_video.inc |
|||
%% include dia_splash.inc |
|||
%% include dia_lang.inc |
|||
%% include dia_dud.inc |
|||
%% include dia_help.inc |
|||
%% include dia_profile.inc |
|||
%% include dia_install.inc |
|||
%% include dia_bits.inc |
|||
%% include dia_options.inc |
|||
%% include panel.inc |
|||
%% include keytables.inc |
|||
%% include locale.inc |
|||
|
|||
|
@ -0,0 +1,112 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Boot loader splash code. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Some global vars. |
|||
|
|||
% Boot loader splash areas to uncover. |
|||
% |
|||
/bsplash.areas [ |
|||
[ 327 230 144 108 true ] |
|||
[ 82 68 131 35 false ] |
|||
[ 205 157 125 32 false ] |
|||
[ 431 77 173 37 false ] |
|||
[ 661 125 61 112 false ] |
|||
[ 62 358 162 51 false ] |
|||
[ 204 461 95 36 false ] |
|||
[ 388 397 127 34 false ] |
|||
[ 560 450 169 39 false ] |
|||
] def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show boot loader splash. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/bsplash.show { |
|||
currentimage |
|||
|
|||
"splash.jpg" findfile /splash.file over def setimage loadpalette |
|||
/max_image_colors max_image_colors image.colors max def |
|||
|
|||
% 0 0 moveto currentpoint 1 1 image getpixel setcolor screen.size fillrect |
|||
|
|||
% 7 0xffffff setpalette |
|||
0 0 moveto 0 0 image.size image |
|||
|
|||
"greeting.jpg" findfile /splash.file2 over def setimage |
|||
|
|||
% center image |
|||
image.size screen.size exch 4 -1 roll sub 2 div 3 1 roll exch sub 2 div |
|||
/bsplash.y exch def |
|||
/bsplash.x exch def |
|||
|
|||
bsplash.areas 0 get |
|||
dup 0 get over 1 get moveto currentpoint bsplash.x bsplash.y rmoveto |
|||
2 index 2 get 3 index 3 get 5 -1 roll pop blendit |
|||
700000 usleep |
|||
|
|||
{ |
|||
bsplash.areas rand over length mod get |
|||
dup 4 get { |
|||
pop |
|||
} { |
|||
dup 0 get over 1 get moveto currentpoint bsplash.x bsplash.y rmoveto |
|||
2 index 2 get 3 index 3 get 5 -1 roll 4 true put blendit |
|||
70000 usleep |
|||
} ifelse |
|||
|
|||
true |
|||
0 1 bsplash.areas length 1 sub { |
|||
bsplash.areas exch get 4 get and |
|||
} for |
|||
{ exit } if |
|||
} loop |
|||
|
|||
setimage |
|||
|
|||
splash.file2 free /splash.file2 .undef def |
|||
splash.file free /splash.file .undef def |
|||
} def |
|||
|
|||
|
|||
/blendit { |
|||
/b.w exch def |
|||
/b.h exch def |
|||
|
|||
moveto |
|||
|
|||
/b.back b.h b.w savescreen def |
|||
/b.mask currentpoint b.h 1 add b.w 1 add unpackimage def |
|||
|
|||
currentpoint |
|||
|
|||
0 0 moveto |
|||
0x303030 b.mask b.back blend |
|||
|
|||
1 1 moveto |
|||
white b.mask b.back blend |
|||
|
|||
moveto |
|||
b.back restorescreen |
|||
|
|||
b.mask free |
|||
b.back free |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Just wait. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/bsplash.done { |
|||
3000000 usleep |
|||
} def |
|||
|
|||
|
@ -0,0 +1,116 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% button handling |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Button templates. |
|||
% |
|||
% [ x y width height label selected hotkey action ] |
|||
% |
|||
/button.ok { [ 0 0 90 25 txt_ok false 0 0 ] } def |
|||
/button.cancel { [ 0 0 90 25 txt_cancel false keyEsc 0 ] } def |
|||
/button.reboot { [ 0 0 90 25 txt_reboot false 0 0 ] } def |
|||
/button.continue { [ 0 0 90 25 txt_continue false 0 0 ] } def |
|||
% /button.eject { [ 0 0 90 25 "Eject" false 0 0 ] } def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Set default button. |
|||
% |
|||
% ( button ) => ( button ) |
|||
% |
|||
/button.default { |
|||
dup 5 true put |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Make it _not_ the default button. |
|||
% |
|||
% ( button ) => ( button ) |
|||
% |
|||
/button.notdefault { |
|||
dup 5 false put |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Set button position. |
|||
% |
|||
% ( button x y ) ==> ( button ) |
|||
% |
|||
/button.moveto { |
|||
rot dup 0 5 -1 roll put exch over 1 rot put |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Assign action to button. |
|||
% |
|||
% ( button action ) => ( button ) |
|||
% |
|||
/button.setaction { |
|||
over 7 rot put |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Draw button. |
|||
% |
|||
% ( button ) ==> ( ) |
|||
% |
|||
/button.show { |
|||
/bt.x over 0 get def |
|||
/bt.y over 1 get def |
|||
/bt.width over 2 get def |
|||
/bt.height over 3 get def |
|||
/bt.text over 4 get def |
|||
/bt.default exch 5 get def |
|||
|
|||
bt.text strsize |
|||
bt.height sub neg 2 div /bt.y.textofs exch def |
|||
bt.width sub neg 2 div /bt.x.textofs exch def |
|||
|
|||
bt.x bt.y moveto |
|||
currentpoint currentpoint currentpoint |
|||
|
|||
currentpoint bt.width bt.height window.current .color.bg get setcolor fillrect moveto |
|||
|
|||
bt.default { |
|||
black black |
|||
} { |
|||
window.current .color.bg get dup |
|||
} ifelse |
|||
bt.width bt.height drawborder |
|||
moveto 1 1 rmoveto white black bt.width 2 sub bt.height 2 sub drawborder |
|||
moveto |
|||
% 2 2 rmoveto white black bt.width 4 sub bt.height 4 sub drawborder |
|||
|
|||
window.current .color.fg get setcolor |
|||
moveto bt.x.textofs bt.y.textofs rmoveto bt.text show |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Press button. |
|||
% |
|||
% ( button ) ==> ( ) |
|||
% |
|||
/button.press { |
|||
/bt.x over 0 get def |
|||
/bt.y over 1 get def |
|||
/bt.width over 2 get def |
|||
/bt.height exch 3 get def |
|||
|
|||
bt.x 3 add bt.y 3 add moveto |
|||
bt.width 7 sub bt.height 7 sub savescreen |
|||
1 1 rmoveto dup restorescreen free |
|||
|
|||
bt.x 1 add bt.y 1 add moveto black white bt.width 2 sub bt.height 2 sub drawborder |
|||
% bt.x 2 add bt.y 2 add moveto black white bt.width 4 sub bt.height 4 sub drawborder |
|||
} def |
|||
|
|||
|
1619
common.inc
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,102 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% 32/64 bit install selection dialog. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Some global vars. |
|||
% |
|||
/bits.default 0 def |
|||
|
|||
/bits.suffix [ |
|||
.undef |
|||
"64" |
|||
] def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Build menu list. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/bits.init { |
|||
/xmenu.bits .xm_size array def |
|||
|
|||
/xmenu xmenu.bits def |
|||
|
|||
xmenu .xm_list [ "32bit" ] put |
|||
|
|||
32+64bit_source { |
|||
64bit { |
|||
/bits.default 1 def |
|||
xmenu .xm_list [ "32bit" "64bit" ] put |
|||
} if |
|||
} if |
|||
|
|||
% no '64' suffix |
|||
32bit_boot_dir 64bit_boot_dir ne { |
|||
bits.suffix 1 .undef put |
|||
} if |
|||
|
|||
xmenu .xm_current bits.default put |
|||
|
|||
pmenu.init |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Update bit selection menu. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/bits.update { |
|||
/xmenu xmenu.bits def |
|||
|
|||
/window.action actRedrawPanel def |
|||
|
|||
pmenu.update |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show bit selection menu. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.bits { |
|||
"bits" help.setcontext |
|||
|
|||
window.xmenu |
|||
dup .xmenu xmenu.bits put |
|||
dup .xmenu.update /bits.update put |
|||
dup window.init |
|||
window.show |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of panel entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.bits.width { |
|||
/xmenu xmenu.bits def |
|||
|
|||
pmenu.width |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.bits.update { |
|||
/xmenu xmenu.bits def |
|||
|
|||
pmenu.panel.update |
|||
} def |
|||
|
|||
|
@ -0,0 +1,66 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Driver update dialog. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show driver update. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/dud.redraw { |
|||
update.pos exch pop 0 exch moveto currentpoint |
|||
txt_dud_ready strsize 7 add exch pop clip.size pop exch |
|||
image |
|||
|
|||
do_driverupdate { |
|||
currentfont |
|||
font.normal setfont |
|||
update.pos moveto 8 3 rmoveto txt_dud_ready |
|||
ptheme { white } { lightblue } ifelse setcolor show |
|||
setfont |
|||
} if |
|||
} def |
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Toggle driver update. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.dud { |
|||
do_driverupdate .undef eq { |
|||
/do_driverupdate 1 def |
|||
} { |
|||
/do_driverupdate .undef def |
|||
} ifelse |
|||
|
|||
dud.redraw |
|||
|
|||
"driverupdate" help.setcontext |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of driver update entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.dud.width { |
|||
txt_driver_update strsize pop |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.dud.update { |
|||
panel.text.moveto |
|||
|
|||
txt_driver_update show |
|||
} def |
|||
|
|||
|
@ -0,0 +1,44 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Panel help entry. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show help window. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.help { |
|||
help.context "opt" eq { |
|||
findbootoption |
|||
help.mapcontext |
|||
dup help.findpage |
|||
"" eq { pop } { help.setcontext } ifelse |
|||
} if |
|||
show_help |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of help entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.help.width { |
|||
txt_help strsize pop |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.help.update { |
|||
panel.text.moveto |
|||
|
|||
txt_help show |
|||
} def |
|||
|
|||
|
@ -0,0 +1,303 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Install mode selection dialog. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Some global vars. |
|||
% |
|||
/install.option 255 string def |
|||
|
|||
% install types |
|||
/.inst_cdrom 0 def |
|||
/.inst_slp 1 def |
|||
/.inst_ftp 2 def |
|||
/.inst_http 3 def |
|||
/.inst_nfs 4 def |
|||
/.inst_smb 5 def |
|||
/.inst_hd 6 def |
|||
|
|||
/install.last .inst_cdrom def |
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Build install mode list. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/install.init { |
|||
/xmenu.install .xm_size array def |
|||
|
|||
/xmenu xmenu.install def |
|||
|
|||
"install" getgfxconfig "slp" eq { |
|||
/install.last .inst_slp def |
|||
} if |
|||
|
|||
install.option install.last .inst_cdrom eq { "" } { "install=slp" } ifelse strcpy |
|||
|
|||
xmenu .xm_current install.last put |
|||
|
|||
% see install types (.inst_*) |
|||
xmenu .xm_list [ is_dvd { "DVD" } { "CD-ROM" } ifelse "SLP" "FTP" "HTTP" "NFS" "SMB / CIFS" ] put |
|||
|
|||
pmenu.init |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Update install mode. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/install.update { |
|||
/xmenu xmenu.install def |
|||
|
|||
xmenu .xm_current get dup .inst_cdrom eq exch .inst_slp eq or { |
|||
/install.last xmenu .xm_current get def |
|||
|
|||
install.option install.last .inst_cdrom eq { "" } { "install=slp" } ifelse strcpy |
|||
|
|||
/window.action actRedrawPanel def |
|||
|
|||
pmenu.update |
|||
} { |
|||
install.dialog |
|||
} |
|||
ifelse |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show install menu. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.install { |
|||
"install_src" help.setcontext |
|||
|
|||
window.xmenu |
|||
dup .xmenu xmenu.install put |
|||
dup .xmenu.update /install.update put |
|||
dup window.init |
|||
window.show |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of panel entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.install.width { |
|||
/xmenu xmenu.install def |
|||
|
|||
pmenu.width |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.install.update { |
|||
/xmenu xmenu.install def |
|||
|
|||
pmenu.panel.update |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
/install.dialog { |
|||
|
|||
/dia window.dialog def |
|||
|
|||
dia .text "" put |
|||
|
|||
xmenu .xm_current get |
|||
|
|||
dup .inst_hd eq { |
|||
input.edit.hd .undef eq { |
|||
/input.edit.hd [ 63 string 127 string ] def |
|||
} if |
|||
|
|||
dia .title txt_harddisk_title put |
|||
|
|||
% Must all be of same size! |
|||
dia .ed.list 2 array put |
|||
dia .ed.buffer.list input.edit.hd put |
|||
dia .ed.text.list [ txt_hd_diskdevice txt_directory ] put |
|||
|
|||
} if |
|||
|
|||
dup .inst_ftp eq { |
|||
input.edit.ftp .undef eq { |
|||
/input.edit.ftp [ 63 string 127 string 31 string 31 string ] def |
|||
} if |
|||
|
|||
dia .title txt_ftp_title put |
|||
|
|||
% Must all be of same size! |
|||
dia .ed.list 4 array put |
|||
dia .ed.buffer.list input.edit.ftp put |
|||
dia .ed.text.list [ txt_server txt_directory txt_user1 txt_password ] put |
|||
|
|||
dia .ed.font font.normal put |
|||
dia .ed.pw_field 3 put |
|||
|
|||
} if |
|||
|
|||
dup .inst_http eq { |
|||
input.edit.http .undef eq { |
|||
/input.edit.http [ 63 string 127 string ] def |
|||
} if |
|||
|
|||
dia .title txt_http_title put |
|||
|
|||
% Must all be of same size! |
|||
dia .ed.list 2 array put |
|||
dia .ed.buffer.list input.edit.http put |
|||
dia .ed.text.list [ txt_server txt_directory ] put |
|||
|
|||
} if |
|||
|
|||
dup .inst_nfs eq { |
|||
input.edit.nfs .undef eq { |
|||
/input.edit.nfs [ 63 string 127 string ] def |
|||
} if |
|||
|
|||
dia .title txt_nfs_title put |
|||
|
|||
% Must all be of same size! |
|||
dia .ed.list 2 array put |
|||
dia .ed.buffer.list input.edit.nfs put |
|||
dia .ed.text.list [ txt_server txt_directory ] put |
|||
|
|||
} if |
|||
|
|||
dup .inst_smb eq { |
|||
input.edit.smb .undef eq { |
|||
/input.edit.smb [ 63 string 127 string 31 string 31 string 31 string ] def |
|||
} if |
|||
|
|||
dia .title txt_smb_title put |
|||
|
|||
% Must all be of same size! |
|||
dia .ed.list 5 array put |
|||
dia .ed.buffer.list input.edit.smb put |
|||
dia .ed.text.list [ txt_server txt_directory txt_domain txt_user2 txt_password ] put |
|||
|
|||
dia .ed.font font.normal put |
|||
dia .ed.pw_field 4 put |
|||
|
|||
} if |
|||
|
|||
pop |
|||
|
|||
dia .ed.focus 0 put |
|||
dia .ed.width 300 put |
|||
|
|||
dia .buttons [ |
|||
button.ok button.default actInstallOK actNoClose or button.setaction |
|||
button.cancel button.notdefault actInstallCancel button.setaction |
|||
] put |
|||
|
|||
dia window.init |
|||
dia window.show |
|||
|
|||
} def |
|||
|
|||
|
|||
|
|||
/install.ok { |
|||
/xmenu xmenu.install def |
|||
|
|||
window.done |
|||
|
|||
/install.last xmenu .xm_current get def |
|||
|
|||
/window.action actRedrawPanel def |
|||
|
|||
pmenu.update |
|||
|
|||
xmenu .xm_current get |
|||
|
|||
dup .inst_hd eq { |
|||
input.edit.hd |
|||
dup 1 get dup 0 get '/' eq { 1 add } if |
|||
exch 0 get dup 0 get '/' eq { 1 add } if |
|||
"install=hd://%s/%s" install.option sprintf |
|||
} if |
|||
|
|||
dup .inst_ftp eq { |
|||
input.edit.ftp |
|||
|
|||
"install=ftp://" install.option sprintf |
|||
|
|||
% add user name & password |
|||
dup 2 get "" ne { |
|||
dup 2 get "%s" install.option dup length add sprintf |
|||
dup 3 get "" ne { |
|||
dup 3 get ":%s" install.option dup length add sprintf |
|||
} if |
|||
"@" install.option dup length add sprintf |
|||
} if |
|||
|
|||
dup 1 get exch 0 get "%s/%s" install.option dup length add sprintf |
|||
} if |
|||
|
|||
dup .inst_http eq { |
|||
input.edit.http |
|||
dup 1 get dup 0 get '/' eq { 1 add } if |
|||
exch 0 get |
|||
"install=http://%s/%s" install.option sprintf |
|||
} if |
|||
|
|||
dup .inst_nfs eq { |
|||
input.edit.nfs |
|||
dup 1 get dup 0 get '/' eq { 1 add } if |
|||
exch 0 get |
|||
"install=nfs://%s/%s" install.option sprintf |
|||
} if |
|||
|
|||
dup .inst_smb eq { |
|||
input.edit.smb |
|||
|
|||
"install=smb://" install.option sprintf |
|||
|
|||
% add domain |
|||
dup 2 get "" ne { |
|||
dup 2 get "%s;" install.option dup length add sprintf |
|||
} if |
|||
|
|||
% add user name & password |
|||
dup 3 get "" ne { |
|||
dup 3 get "%s" install.option dup length add sprintf |
|||
dup 4 get "" ne { |
|||
dup 4 get ":%s" install.option dup length add sprintf |
|||
} if |
|||
"@" install.option dup length add sprintf |
|||
} if |
|||
|
|||
dup 1 get exch 0 get "%s/%s" install.option dup length add sprintf |
|||
} if |
|||
|
|||
pop |
|||
|
|||
} def |
|||
|
|||
|
|||
/install.cancel { |
|||
/xmenu xmenu.install def |
|||
|
|||
xmenu .xm_current install.last put |
|||
|
|||
% /window.action actRedrawPanel def |
|||
% pmenu.update |
|||
} def |
|||
|
@ -0,0 +1,222 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Language selection dialog. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Some global vars. |
|||
% |
|||
|
|||
% fallback if there is no "languages" |
|||
/lang.items [ "en" ] def |
|||
/lang.names [ "English" ] def |
|||
|
|||
/.la.locale 0 def |
|||
/.la.name 1 def |
|||
/lang.defaultnames [ |
|||
% [ "ar" "\u064a\u0628\u0631\u0639" ] |
|||
[ "ar" "\ufef2\ufe91\ufeae\ufecb" ] |
|||
[ "bn" "Bengali" ] |
|||
[ "bg" "ะัะปะณะฐััะบะธ" ] |
|||
[ "cs" "ฤeลกtina" ] |
|||
[ "cy_GB" "Cymraeg" ] |
|||
[ "da" "Dansk" ] |
|||
[ "en" "English" ] |
|||
[ "fr" "Franรงais" ] |
|||
[ "de" "Deutsch" ] |
|||
[ "es" "Espaรฑol" ] |
|||
[ "el" "ฮฮปฮปฮทฮฝฮนฮบฮฌ" ] |
|||
[ "fi" "Suomi" ] |
|||
[ "he" "ืชืืจืืข" ] |
|||
[ "it" "Italiano" ] |
|||
[ "ja" "ๆฅๆฌ่ช" ] |
|||
[ "hr" "Hrvatski" ] |
|||
[ "hu" "Magyar" ] |
|||
[ "ko" "ํ๊ธ" ] |
|||
[ "lt" "Lietuviลณ" ] |
|||
[ "nl" "Nederlands" ] |
|||
[ "nb" "Norsk" ] |
|||
[ "pl" "Polski" ] |
|||
[ "pt_PT" "Portuguรชs" ] |
|||
[ "pt_BR" "Portuguรชs (Brasil)" ] |
|||
[ "pa" "Punjabi" ] |
|||
[ "ro" "Romรขnฤ" ] |
|||
[ "ru" "ะ ัััะบะธะน" ] |
|||
[ "sk" "Slovenฤina" ] |
|||
[ "sl" "Slovenลกฤina" ] |
|||
[ "sr" "Cัะฟัะบะธ" ] |
|||
[ "sv" "Svenska" ] |
|||
[ "tr" "Tรผrkรงe" ] |
|||
[ "uk" "ะฃะบัะฐัะฝััะบะฐ" ] |
|||
[ "zh_CN" "็ฎไฝไธญๆ" ] |
|||
[ "zh_TW" "็น้ซไธญๆ (ๅฐ็ฃ)" ] |
|||
] def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Get language name. |
|||
% |
|||
% Returns locale if not found. |
|||
% |
|||
% ( locale ) ==> ( name ) |
|||
% |
|||
/lang.getdefname { |
|||
lang.defaultnames { |
|||
dup .la.locale get 2 index eq { .la.name get exch pop exit } { pop } ifelse |
|||
} forall |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Parse "languages" file. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/lang.parsedata { |
|||
/lang.default 0 def |
|||
|
|||
"languages" findfile dup { /lang.data exch def } { pop return } ifelse |
|||
|
|||
/la.tmp.datalen lang.data length def |
|||
/la.tmp.str lang.data cvs def |
|||
|
|||
la.tmp.datalen 0 eq { return } if |
|||
la.tmp.str la.tmp.datalen 1 sub get '\n' ne { return } if |
|||
|
|||
'\n' seteotchar |
|||
|
|||
/lang.items [ |
|||
|
|||
/la.tmp.len 0 def |
|||
/la.tmp.cnt 0 def |
|||
{ |
|||
la.tmp.str la.tmp.len add strdup |
|||
dup dup length 0 put |
|||
/la.tmp.len over length 1 add la.tmp.len add def |
|||
|
|||
dup 0 get '*' eq { 1 add /lang.default la.tmp.cnt def } if |
|||
|
|||
la.tmp.len la.tmp.datalen ge { exit } if |
|||
|
|||
/la.tmp.cnt inc |
|||
} loop |
|||
|
|||
] def |
|||
|
|||
' ' seteotchar |
|||
|
|||
/lang.names [ |
|||
|
|||
lang.items { |
|||
|
|||
dup dup length add |
|||
|
|||
dup 0 get { |
|||
dup 0 0 put 1 add |
|||
exch pop |
|||
} { |
|||
pop lang.getdefname |
|||
} ifelse |
|||
|
|||
} forall |
|||
|
|||
] def |
|||
|
|||
0 seteotchar |
|||
|
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Build language list. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/lang.init { |
|||
/xmenu.lang .xm_size array def |
|||
/xmenu xmenu.lang def |
|||
|
|||
lang.parsedata |
|||
|
|||
xmenu .xm_current lang.default put |
|||
xmenu .xm_list lang.names put |
|||
|
|||
xmenu .xm_title /txt_language put |
|||
|
|||
% make menu smaller if there are more than 19 language entries |
|||
%lang.items length 19 gt { |
|||
% xmenu .xm_vspace 2 put |
|||
%} if |
|||
|
|||
% start with current lang |
|||
|
|||
/la.tmp.cnt 0 def |
|||
lang.items { |
|||
config.lang eq { xmenu .xm_current la.tmp.cnt put exit } if |
|||
/la.tmp.cnt inc |
|||
} forall |
|||
|
|||
pmenu.init |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Update language. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/lang.update { |
|||
/xmenu xmenu.lang def |
|||
|
|||
lang.items xmenu .xm_current get get |
|||
dup |
|||
setlang { /window.action actRedraw def } if |
|||
setkeymap |
|||
|
|||
% Why? --> see dia_install.inc; same there. |
|||
window.action actRedraw eq { pmenu.update } if |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show language menu. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.lang { |
|||
"keytable" help.setcontext |
|||
|
|||
window.xmenu |
|||
dup .xmenu xmenu.lang put |
|||
dup .xmenu.update /lang.update put |
|||
dup window.init |
|||
window.show |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of panel entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.lang.width { |
|||
/xmenu xmenu.lang def |
|||
|
|||
pmenu.width |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.lang.update { |
|||
/xmenu xmenu.lang def |
|||
|
|||
pmenu.panel.update |
|||
} def |
|||
|
|||
|
@ -0,0 +1,52 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Panel 'more options' entry. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show help window. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.options { |
|||
/panel panel.full def |
|||
|
|||
boot.show not { |
|||
/boot.show true def |
|||
boot.setup |
|||
|
|||
boot.window .color.fg get setcolor |
|||
boot.window .ed.font get setfont |
|||
|
|||
boot.ed 3 get |
|||
boot.ed over edit.init |
|||
"" ne { boot.ed ' ' edit.input } if |
|||
} if |
|||
|
|||
/window.action actRedraw def |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of options entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.options.width { |
|||
txt_other_options strsize pop |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.options.update { |
|||
panel.text.moveto |
|||
|
|||
txt_other_options show |
|||
} def |
|||
|
|||
|
@ -0,0 +1,139 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Profile selection dialog. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Some global vars. |
|||
% |
|||
|
|||
% fallback if we can't parse "profiles" |
|||
/profile.options [ "" ] def |
|||
/profile.items [ "Broken Profiles" ] def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Parse "profiles" file. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/profile.parsedata { |
|||
/pf.tmp.datalen profile.data length def |
|||
/pf.tmp.str profile.data cvs def |
|||
|
|||
/profile.default 0 def |
|||
|
|||
pf.tmp.datalen 0 eq { return } if |
|||
pf.tmp.str pf.tmp.datalen 1 sub get '\n' ne { return } if |
|||
|
|||
'\n' seteotchar |
|||
|
|||
/profile.items [ |
|||
|
|||
/pf.tmp.len 0 def |
|||
/pf.tmp.cnt 0 def |
|||
{ |
|||
pf.tmp.str pf.tmp.len add strdup |
|||
dup dup length 0 put |
|||
/pf.tmp.len over length 1 add pf.tmp.len add def |
|||
|
|||
dup 0 get '*' eq { 1 add /profile.default pf.tmp.cnt def } if |
|||
|
|||
pf.tmp.len pf.tmp.datalen ge { exit } if |
|||
|
|||
/pf.tmp.cnt inc |
|||
} loop |
|||
|
|||
] def |
|||
|
|||
' ' seteotchar |
|||
|
|||
/profile.options [ |
|||
|
|||
profile.items { |
|||
dup length add |
|||
dup 0 0 put |
|||
1 add |
|||
} forall |
|||
|
|||
] def |
|||
|
|||
0 seteotchar |
|||
|
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Build profile list. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/profile.init { |
|||
/xmenu.profile .xm_size array def |
|||
/xmenu xmenu.profile def |
|||
|
|||
profile.parsedata |
|||
|
|||
xmenu .xm_current profile.default put |
|||
xmenu .xm_list profile.items put |
|||
|
|||
pmenu.init |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Update profile. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/profile.update { |
|||
/xmenu xmenu.profile def |
|||
|
|||
/window.action actRedrawPanel def |
|||
|
|||
pmenu.update |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show profile menu. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.profile { |
|||
"profile" help.setcontext |
|||
|
|||
window.xmenu |
|||
dup .xmenu xmenu.profile put |
|||
dup .xmenu.update /profile.update put |
|||
dup window.init |
|||
window.show |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of panel entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.profile.width { |
|||
/xmenu xmenu.profile def |
|||
|
|||
pmenu.width |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.profile.update { |
|||
/xmenu xmenu.profile def |
|||
|
|||
pmenu.panel.update |
|||
} def |
|||
|
|||
|
@ -0,0 +1,90 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Splash mode selection dialog. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Some global vars. |
|||
% |
|||
/splash.default 2 def |
|||
|
|||
/splash.options [ |
|||
"splash=0" |
|||
"splash=verbose" |
|||
"splash=silent" |
|||
] def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Build splash list. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/splash.init { |
|||
/xmenu.splash .xm_size array def |
|||
|
|||
/xmenu xmenu.splash def |
|||
|
|||
xmenu .xm_current splash.default put |
|||
xmenu .xm_list [ "Native" "Verbose" "Silent" ] put |
|||
|
|||
pmenu.init |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Update splash mode. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/splash.update { |
|||
/xmenu xmenu.splash def |
|||
|
|||
/window.action actRedrawPanel def |
|||
|
|||
pmenu.update |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Show splash menu. |
|||
% |
|||
% ( ) => ( ) |
|||
% |
|||
/panel.splash { |
|||
"startup" help.setcontext |
|||
|
|||
window.xmenu |
|||
dup .xmenu xmenu.splash put |
|||
dup .xmenu.update /splash.update put |
|||
dup window.init |
|||
window.show |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Return width of panel entry. |
|||
% |
|||
% ( ) => ( width ) |
|||
% |
|||
/panel.splash.width { |
|||
/xmenu xmenu.splash def |
|||
|
|||
pmenu.width |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Redraw panel entry. |
|||
% |
|||
% ( panel ) => ( ) |
|||
% |
|||
/panel.splash.update { |
|||
/xmenu xmenu.splash def |
|||
|
|||
pmenu.panel.update |
|||
} def |
|||
|
|||
|
@ -0,0 +1,215 @@ |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% |
|||
% Video mode selection dialog. |
|||
% |
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Some global vars. |
|||
% |
|||
% video mode array fields |
|||
/.vm_mode 0 def |
|||
/.vm_width 1 def |
|||
/.vm_height 2 def |
|||
|
|||
% We have kernel splash images for at least these sizes. |
|||
/video.splashsizes [ |
|||
0 0 % special: for text mode |
|||
1 0 % special: for VESA mode |
|||
800 600 |
|||
1024 768 |
|||
1280 1024 |
|||
] def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Create sort key for video modes. |
|||
% |
|||
% ( vm_index ) ==> ( sort_index ) |
|||
% |
|||
/vmsortindex { |
|||
video.modes.list exch get |
|||
dup |
|||
.vm_width get 16 shl |
|||
exch .vm_height get add |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Swap video mode entries. |
|||
% (Helper for video mode sorting.) |
|||
% |
|||
% ( vm_index_1 vm_index_2 ) ==> ( ) |
|||
% |
|||
/vmsortexch { |
|||
over video.modes.list exch get |
|||
over video.modes.list exch get |
|||
video.modes.list |
|||
5 -1 roll rot put |
|||
video.modes.list 3 1 roll put |
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Check if we have a splash in that resolution. |
|||
% |
|||
% ( video_mode_list_entry ) ==> ( true|false ) |
|||
% |
|||
/video.havesplash { |
|||
false exch |
|||
|
|||
0 2 video.splashsizes length 1 sub { |
|||
over over over |
|||
.vm_height get rot .vm_width get rot video.splashsizes exch get eq |
|||
rot 1 add video.splashsizes exch get rot eq and |
|||
{ exch pop true exch exit } if |
|||
} for |
|||
|
|||
pop |
|||
|
|||
} def |
|||
|
|||
|
|||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|||
% Build video mode list. |
|||
% |
|||
% ( ) ==> ( ) |
|||
% |
|||
/video.init { |
|||
/xmenu.video .xm_size array def |
|||
|
|||
/xmenu xmenu.video def |
|||
|
|||
% build list of video modes |
|||
/video.modes.list [ |
|||
[ -1 0 0 ] % special: text mode |
|||
[ -2 1 0 ] % special: VESA mode (width = 1 to make it sort) |
|||
|
|||
0 1 videomodes { |
|||
videomodeinfo dup .undef eq { |
|||
pop pop pop pop |
|||
} { |
|||
[ |
|||
over 0xbfff and 6 2 roll |
|||
0x4000 and % fb support |
|||
exch 0x10 eq and % 16 color bits |
|||
over 600 ge and % height >= 600 |
|||
2 index 800 ge and % width >= 800 |
|||
{ ] } { pop pop pop pop } ifelse |
|||
} ifelse |
|||
} for |
|||
|
|||
] def |
|||
|
|||
% sort video.modes.list |
|||
|
|||
video.modes.list length 3 gt { |
|||
0 1 video.modes.list length 2 sub { |
|||
dup 1 add 1 video.modes.list length 1 sub { |
|||
over vmsortindex over vmsortindex gt { |
|||
over over vmsortexch |
|||
} if |
|||
pop |
|||
} for |
|||
pop |
|||
} for |
|||
} if |
|||
|
|||
% create mode strings |
|||
|
|||
/video.modes.text [ |
|||
video. |