window:
	res:
		windowType	wstandard
	endres:
endwindow:
close:
	res:
		bitmapPath	$(bitmaps)
		bitmapFile	CLOSE::CBM
	endres:
endclose:
title:
	res:
		leftLabel	v^VKo^iVAj
		leftKanjiFont	$(kanjiFont)
		leftFont	$(kanaFont)
		switch $(COLOR)
			case MONO:
				bitmapPath	$(bitmaps)
				backgroundFile	GRAY3
				transparent	false
				break
		endswitch
	endres:
endtitle:
dialog: dialogs
	res:
		defaultDistance		#(fWidth)
		dialogType		modeless
	endres:
	ditem: name_label
		res:
			itemType	bitmap
			label		v^F
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
		endres:
	endditem:
	ditem: name
		res:
			itemType	text
			fromHoriz	name_label
			vertDistance	#(fWidth)
			horizDistance	4
			width		#(fWidth)*20+4
			height		#(fHeight)
			length		20
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(line)
			put $(line)@0 $(TMP_PRINTER_NAME)
		endact:
	endditem:
	ditem: list_label
		res:
			itemType	bitmap
			fromVert	name_label
			leftLabel	'fF'
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			leftKanjiFont	$(kanjiFont)
			leftFont	$(kanaFont)
			autoAdjust	true
		endres:
	endditem:
	ditem: list
		res:
			itemType	scrtext
			fromVert	list_label
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*20
			height		#(lHeight)*7+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			bind1		select1
			bind2		select2
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(TMP_PRINTER_MODEL)
		endact:
	endditem:
	ditem: select
		res:
			itemType	button
			fromVert	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		' I@ '
		endres:
		act:
			job select
		endact:
	endditem:
	ditem: ch_label
		res:
			itemType	bitmap
			fromVert	list_label
			fromHoriz	list
			vertDistance	4
			horizDistance	#(fWidth)*2
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		`l@F
		endres:
	endditem:
	ditem: ch
		res:
			itemType	button
			fromVert	list_label
			fromHoriz	ch_label
			vertDistance	4
			horizDistance	4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		OO
		endres:
		act:
			job nextch
		endact:
	endditem:
	ditem: baud_label
		res:
			itemType	bitmap
			fromVert	ch_label
			fromHoriz	list
			vertDistance	#(fWidth)+4
			horizDistance	#(fWidth)*2
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		{|CgF
		endres:
	endditem:
	ditem: baud_plus
		res:
			itemType	button
			fromVert	ch_label
			fromHoriz	baud_label
			vertDistance	#(fWidth)
			horizDistance	4
			bitmapPath	$(bitmaps)
			bitmapFile	plus::CBM
			highlightBitmapFile	plus_sel::CBM
			borderWidth	0
		endres:
		act:
			job nextbaud
		endact:
	endditem:
	ditem: baud
		res:
			itemType	bitmap
			fromVert	ch_label
			fromHoriz	baud_plus
			vertDistance	#(fWidth)+4
			horizDistance	4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		PXQOO
		endres:
	endditem:
	ditem: baud_minus
		res:
			itemType	button
			fromVert	ch_label
			fromHoriz	baud
			vertDistance	#(fWidth)
			horizDistance	4
			bitmapPath	$(bitmaps)
			bitmapFile	minus::CBM
			highlightBitmapFile	minus_sel::CBM
			borderWidth	0
		endres:
		act:
			job prevbaud
		endact:
	endditem:
	ditem: parity_label
		res:
			itemType	bitmap
			fromVert	baud_plus
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		peB@F
		endres:
	endditem:
	ditem: parity
		res:
			itemType	button
			fromVert	baud_plus
			fromHoriz	parity_label
			vertDistance	#(fWidth)
			horizDistance	4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		m
		endres:
		act:
			job nextparity
		endact:
	endditem:
	ditem: set
		res:
			itemType	button
			fromHoriz	name
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		' o@^ '
		endres:
		act:
			switch $(TMP_PRINTER_NAME)
				case '':
					put 1 $(err_no)
					job err
					quit
				case at:
				case locks:
				case lpd:
				case lpd.lock:
				case mail:
				case mqueue:
				case news:
				case rwho:
				case uucp:
				case uucppublic:
					put 11 $(err_no)
					job err
					quit
			endswitch
			put on $(ONRUN)
			put 101 $(menu_no)
			$(onrun) = sub $(commonPath)/onrun ++48++48
			switch $(PRINTER_NEW)
				case on:
					$(pid) = bg $(etc)/Printer/Sprintcap.sh add serial $(TMP_PRINTER_NAME) $(PRINTER_MODEL) $(tty) $(baud) $(parity)
					break
				case off:
					$(pid) = bg $(etc)/Printer/Sprintcap.sh chg $(PRINTER_NAME) $(TMP_PRINTER_NAME) serial $(PRINTER_MODEL) $(tty) $(baud) $(parity)
					break
			endswitch
			$(bgstat) = trap $(pid) cmd_end
		endact:
	endditem:
enddialog:
proc: pre
	$(TMP) = mktemp
	put /tmp/$(TMP) $(MODEL_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(TTY_ACTIVE)
	ls $(PRINTER_DB)/Serial > $(MODEL_LIST)
	put '' $(PRINTER_MODEL)
	switch $(PRINTER_NEW)
		case off:
			switch #(NEW_PRINTER_CONNECT)
				case #(PRINTER_CONNECT):
					$(bin)/Sprintcap -g $(PRINTER_NAME) -i /etc/printcap -Fn1
					put $(stdout) $(model)
					test -f $(PRINTER_DB)/Serial/$(model)
					switch #(status)
						case 0:
							put $(model) $(PRINTER_MODEL)
							break
					endswitch
					break
			endswitch
			break
	endswitch
	job checkport
	put on $(mapped)
	put off $(opened)
	put off $(CHANGE_PRINTER)
endproc:
proc: checkport
	put 9600 $(baud)
	put none $(parity)
	put /dev/tty00 $(tty)
	switch $(PRINTER_NEW)
		case off:
			switch #(PRINTER_CONNECT)
				case 3:
					sh -c '$(bin)/Sprintcap -g $(PRINTER_NAME) -i /etc/printcap -br'
					switch $(stdout)
						case br#300:
							put 300 $(baud)
							break
						case br#600:
							put 600 $(baud)
							break
						case br#1200:
							put 1200 $(baud)
							break
						case br#2400:
							put 2400 $(baud)
							break
						case br#4800:
							put 4800 $(baud)
							break
						case br#9600:
							put 9600 $(baud)
							break
						case br#19200:
							put 19200 $(baud)
							break
					endswitch
					sh -c '$(bin)/Sprintcap -g $(PRINTER_NAME) -i /etc/printcap -fs'
					switch $(stdout)
						case \*021:
							put none $(parity)
							break
						case \*121:
							put odd $(parity)
							break
						case \*221:
							put even $(parity)
							break
					endswitch
					sh -c 'eval `$(bin)/Sprintcap -g $(PRINTER_NAME) -i /etc/printcap -lp`; echo $lp'
					switch $(stdout)
						case '':
							break
						default:
							put $(stdout) $(tty)
					endswitch
			endswitch
	endswitch
	put 0 $(ttycount)
	sh -c 'echo -n > /dev/tty00' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty00 OO' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty01' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty01 OP' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty10' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty10 PO' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty11' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty11 PP' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty12' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty12 PQ' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty13' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty13 PR' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty20' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty20 QO' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty21' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty21 QP' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty22' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty22 QQ' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	sh -c 'echo -n > /dev/tty23' 2> /dev/null
	switch #(status)
		case 0:
			put '/dev/tty23 QR' > $(TTY_ACTIVE)$(ttycount)
			put #(ttycount)+1 $(ttycount)
			break
	endswitch
	put 0 $(count)
	job getcur
endproc:
proc: getcur
	switch #(count)
		case #(ttycount):
			put 0 $(cur_tty)
			quit
	endswitch
	put $(line) < $(TTY_ACTIVE)$(count)
	switch $(line)@0
		case $(tty):
			put $(count) $(cur_tty)
			break
		default:
			put #(count)+1 $(count)
			job getcur
	endswitch
endproc:
proc: rmtty
	switch #(count)
		case #(ttycount):
			quit
	endswitch
	rm -f $(TTY_ACTIVE)$(count)
	put #(count)+1 $(count)
	job rmtty
endproc:
proc: close
	job off
	close
endproc:
proc: open
	setval list file $(MODEL_LIST)
	switch #(ttycount)
		case 0:
			put 102 $(menu_no)
			put 'gpłVAE`l܂B' $(confirm_msg1)
			$(n_end) = sub $(commonPath)/error1 ++48++48
			trap $(n_end) n_err_end
			quit
	endswitch
	switch $(PRINTER_NEW)
		case on:
			setval title leftLabel v^VKo^iVAj
			setval set label ' o@^ '
			setval name string ''
			break
		case off:
			setval title leftLabel v^ݒύXiVAj
			setval set label ' ρ@X '
			put $(PRINTER_NAME) $(TMP_PRINTER_NAME)
			setval name string $(TMP_PRINTER_NAME)
			break
	endswitch
	job setch
	job setbaud
	job setparity
	setval list_label leftLabel 'fF$(PRINTER_MODEL)'
	switch $(PRINTER_MODEL)
		case '':
			setval set sensitive false
			break
		default:
			setval set sensitive true
			break
	endswitch
	setval select sensitive false
	put 0 $(menu_no)
endproc:
proc: setch
	put $(line) < $(TTY_ACTIVE)$(cur_tty)
	setval ch label $(line)@1
	put $(line)@0 $(tty)
endproc:
proc: nextch
	put #(cur_tty)+1 $(cur_tty)
	switch #(cur_tty)
		case #(ttycount):
			put 0 $(cur_tty)
	endswitch
	job setch
endproc:
proc: nextbaud
	switch $(baud)
		case 300:
			put 600 $(baud)
			break
		case 600:
			put 1200 $(baud)
			break
		case 1200:
			put 2400 $(baud)
			break
		case 2400:
			put 4800 $(baud)
			break
		case 4800:
			put 9600 $(baud)
			break
		case 9600:
			put 19200 $(baud)
			break
		case 19200:
			put 300 $(baud)
			break
	endswitch
	job setbaud
endproc:
proc: prevbaud
	switch $(baud)
		case 300:
			put 19200 $(baud)
			break
		case 600:
			put 300 $(baud)
			break
		case 1200:
			put 600 $(baud)
			break
		case 2400:
			put 1200 $(baud)
			break
		case 4800:
			put 2400 $(baud)
			break
		case 9600:
			put 4800 $(baud)
			break
		case 19200:
			put 9600 $(baud)
			break
	endswitch
	job setbaud
endproc:
proc: setbaud
	switch $(baud)
		case 300:
			setval baud label ROO
			break
		case 600:
			setval baud label UOO
			break
		case 1200:
			setval baud label PQOO
			break
		case 2400:
			setval baud label QSOO
			break
		case 4800:
			setval baud label SWOO
			break
		case 9600:
			setval baud label XUOO
			break
		case 19200:
			setval baud label PXQOO
			break
	endswitch
endproc:
proc: nextparity
	switch $(parity)
		case none:
			put odd $(parity)
			break
		case odd:
			put even $(parity)
			break
		case even:
			put none $(parity)
			break
	endswitch
	job setparity
endproc:
proc: setparity
	switch $(parity)
		case none:
			setval parity label m
			break
		case odd:
			setval parity label n
			break
		case even:
			setval parity label d
			break
	endswitch
endproc:
proc: off
	switch #(menu_no)
		case 1:
			close $(err)
	endswitch
	put 0 $(count)
	job rmtty
	rm -f $(MODEL_LIST)
endproc:
proc: select1
	switch $(TMP_PRINTER_MODEL)
		case '':
			quit
	endswitch
	setval select sensitive true
endproc:
proc: select2
	switch $(TMP_PRINTER_MODEL)
		case '':
			quit
	endswitch
	setval select selected true
	job select
	setval select selected false
endproc:
proc: select
	put $(TMP_PRINTER_MODEL) $(PRINTER_MODEL)
	setval list_label leftLabel 'fF$(PRINTER_MODEL)'
	setval set sensitive true
endproc:
proc: err
	switch #(err_no)
		case 1:
			put 1 $(menu_no)
			put 'v^w肵ĉB' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 11:
			put 1 $(menu_no)
			put 'u$(TMP_PRINTER_NAME)vƂv^͎gpł܂B' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
	endswitch
	buzzer
	trap $(err) err_end
endproc:
proc: err_end
	put 0 $(menu_no)
endproc:
proc: cmd_end
	buzzer $(main)
	close $(onrun)
	switch $(mapped)
		case on:
			job bgdone
			break
		case off:
			put on $(opened)
			break
	endswitch
	put 102 $(menu_no)
endproc:
proc: unmap
	switch #(menu_no)
		case 1:
			unmap $(err)
			break
		case 101:
			unmap $(onrun)
			break
		case 102:
			unmap $(n_end)
			break
	endswitch
	put off $(mapped)
endproc:
proc: map
	switch #(menu_no)
		case 1:
			move $(err)
			raise $(err)
			map $(err)
			break
		case 101:
			move $(onrun)
			raise $(onrun)
			map $(onrun)
			break
		case 102:
			switch $(opened)
				case on:
					job bgdone
					break
				case off:
					move $(n_end)
					raise $(n_end)
					map $(n_end)
					break
			endswitch
	endswitch
	put on $(mapped)
	put off $(opened)
endproc:
proc: title
	job move
	job up
endproc:
proc: raise
	job up
endproc:
proc: move
	switch #(menu_no)
		case 1:
			move $(err)
			break
		case 101:
			move $(onrun)
			break
		case 102:
			move $(n_end)
			break
	endswitch
endproc:
proc: up
	switch #(menu_no)
		case 1:
			raise $(err)
			break
		case 101:
			raise $(onrun)
			break
		case 102:
			raise $(n_end)
			break
	endswitch
endproc:
proc: n_end
	put off $(ONRUN)
	put on $(CHANGE_PRINTER)
	job off
	close
endproc:
proc: bgdone
	switch #(bgstat)
		case 0:
			$(n_end) = sub $(commonPath)/normalEnd ++48++48
			trap $(n_end) n_end
			break
		case 0x100:
			put 'v^u$(TMP_PRINTER_NAME)v́Aɓo^Ă܂B' $(confirm_msg1)
			$(n_end) = sub $(commonPath)/error1 ++48++48
			trap $(n_end) n_err
			break
		case 0x200:
			put 'v^u$(PRINTER_NAME)v́A܂łB' $(confirm_msg1)
			put 'ĂύXĉB' $(confirm_msg2)
			$(n_end) = sub $(commonPath)/error2 ++48++48
			trap $(n_end) n_err
			break
	endswitch
endproc:
proc: n_err
	put off $(ONRUN)
	put 0 $(menu_no)
endproc:
proc: n_err_end
	put 0 $(menu_no)
	job off
	close
endproc:
