Browse Source

imported SuSE theme from gfxboot 3.2.5

master
Colin Watson 17 years ago
commit
9a18221693
  1. BIN
      16x16.fnt
  2. 94
      Makefile
  3. BIN
      back.jpg
  4. 36
      boot.config
  5. 112
      bsplash.inc
  6. 116
      button.inc
  7. 1619
      common.inc
  8. 102
      dia_bits.inc
  9. 66
      dia_dud.inc
  10. 44
      dia_help.inc
  11. 303
      dia_install.inc
  12. 222
      dia_lang.inc
  13. 52
      dia_options.inc
  14. 139
      dia_profile.inc
  15. 90
      dia_splash.inc
  16. 215
      dia_video.inc
  17. BIN
      greeting.jpg
  18. BIN
      happysuse.mod
  19. BIN
      head.jpg
  20. BIN
      head_a.jpg
  21. 130
      help-boot.bg.html
  22. 108
      help-boot.cs.html
  23. 128
      help-boot.da.html
  24. 126
      help-boot.de.html
  25. 129
      help-boot.en.html
  26. 126
      help-boot.es.html
  27. 128
      help-boot.fi.html
  28. 107
      help-boot.fr.html
  29. 131
      help-boot.hu.html
  30. 136
      help-boot.it.html
  31. 76
      help-boot.ja.html
  32. 104
      help-boot.nb.html
  33. 126
      help-boot.nl.html
  34. 127
      help-boot.pl.html
  35. 110
      help-boot.pt.html
  36. 76
      help-boot.pt_BR.html
  37. 130
      help-boot.ro.html
  38. 126
      help-boot.sk.html
  39. 119
      help-boot.sl.html
  40. 127
      help-boot.sv.html
  41. 107
      help-boot.uk.html
  42. 76
      help-boot.zh_CN.html
  43. 76
      help-boot.zh_TW.html
  44. 326
      help-install.bg.html
  45. 289
      help-install.cs.html
  46. 377
      help-install.da.html
  47. 363
      help-install.de.html
  48. 374
      help-install.el.html
  49. 380
      help-install.en.html
  50. 363
      help-install.es.html
  51. 372
      help-install.fi.html
  52. 419
      help-install.fr.html
  53. 176
      help-install.hu.html
  54. 401
      help-install.it.html
  55. 232
      help-install.ja.html
  56. 281
      help-install.nb.html
  57. 359
      help-install.nl.html
  58. 374
      help-install.pl.html
  59. 291
      help-install.pt.html
  60. 232
      help-install.pt_BR.html
  61. 363
      help-install.sl.html
  62. 376
      help-install.sv.html
  63. 287
      help-install.uk.html
  64. 232
      help-install.zh_CN.html
  65. 232
      help-install.zh_TW.html
  66. 696
      help.inc
  67. 28
      install.config
  68. 28
      keymap.cs.inc
  69. 24
      keymap.da.inc
  70. 29
      keymap.de.inc
  71. 5
      keymap.el.inc
  72. 26
      keymap.es.inc
  73. 32
      keymap.fr.inc
  74. 43
      keymap.hu.inc
  75. 25
      keymap.it.inc
  76. 24
      keymap.ja.inc
  77. 43
      keymap.nb.inc
  78. 16
      keymap.pl.inc
  79. 22
      keymap.pt_BR.inc
  80. 24
      keymap.pt_PT.inc
  81. 43
      keymap.ru.inc
  82. 24
      keymap.sk.inc
  83. 38
      keymap.sl.inc
  84. 23
      keymap.sv.inc
  85. 29
      keymap.tr.inc
  86. 37
      keymapchars
  87. 72
      keytables.inc
  88. BIN
      kroete.dat
  89. 34
      languages
  90. BIN
      ldots.jpg
  91. BIN
      ldots_a.jpg
  92. 154
      locale.inc
  93. 240
      main.inc
  94. 204
      panel.inc
  95. BIN
      panim.jpg
  96. BIN
      panim_a.jpg
  97. BIN
      pback.jpg
  98. 416
      penguin.inc
  99. 12
      penguins/Makefile
  100. BIN
      penguins/panim.png

BIN
16x16.fnt

94
Makefile

@ -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

BIN
back.jpg

After

Width: 800  |  Height: 600  |  Size: 7.3 KiB

36
boot.config

@ -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

112
bsplash.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

116
button.inc

@ -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

102
dia_bits.inc

@ -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

66
dia_dud.inc

@ -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

44
dia_help.inc

@ -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

303
dia_install.inc

@ -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

222
dia_lang.inc

@ -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

52
dia_options.inc

@ -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

139
dia_profile.inc

@ -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

90
dia_splash.inc

@ -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

215
dia_video.inc

@ -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.