window:
	res:
		windowType	wstandard
	endres:
endwindow:
close:
	res:
		bitmapPath	$(bitmaps)
		bitmapFile	CLOSE::CBM
	endres:
endclose:
title:
	res:
		leftLabel	^|~iݒύX
		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: channel
		res:
			itemType	bitmap
			leftLabel	`lF
			leftKanjiFont	$(kanjiFont)
			leftFont	$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			autoAdjust	true
		endres:
	endditem:
	ditem: type
		res:
			itemType	bitmap
			fromVert	channel
			leftLabel	'^CvF'
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			leftKanjiFont	$(kanjiFont)
			leftFont	$(kanaFont)
			autoAdjust	true
		endres:
	endditem:
	ditem: list
		res:
			itemType	scrtext
			fromVert	type
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*60
			height		#(lHeight)*7+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			textOptions	1
			bind1		select1
			bind2		select2
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(TMP_TYPE)
		endact:
	endditem:
	ditem: select
		res:
			itemType	button
			fromVert	type
			fromHoriz	list
			vertDistance	#(fHeight)*4+4
			horizDistance	#(fWidth)
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		' I@ '
		endres:
		act:
			job select
		endact:
	endditem:
	ditem: login_label
		res:
			itemType	bitmap
			fromVert	list
			vertDistance	#(fWidth)*2
			horizDistance	#(fWidth)
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		OCF
		endres:
	endditem:
	ditem: login
		res:
			itemType	button
			fromVert	list
			fromHoriz	login_label
			vertDistance	#(fWidth)*2
			horizDistance	4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		' @ '
		endres:
		act:
			job chglogin
		endact:
	endditem:
	ditem: root_label
		res:
			itemType	bitmap
			fromVert	list
			fromHoriz	login
			vertDistance	#(fWidth)*2
			horizDistance	#(fWidth)*2
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		F
		endres:
	endditem:
	ditem: root
		res:
			itemType	button
			fromVert	list
			fromHoriz	root_label
			vertDistance	#(fWidth)*2
			horizDistance	4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		' @ '
		endres:
		act:
			job chgroot
		endact:
	endditem:
	ditem: baud_label
		res:
			itemType	bitmap
			fromVert	list
			fromHoriz	root
			vertDistance	#(fWidth)*2
			horizDistance	#(fWidth)*2
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		{|CgF
		endres:
	endditem:
	ditem: baud_plus
		res:
			itemType	button
			fromVert	list
			fromHoriz	baud_label
			vertDistance	#(fWidth)*2-4
			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	list
			fromHoriz	baud_plus
			vertDistance	#(fWidth)*2
			horizDistance	4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		PXQOO
		endres:
	endditem:
	ditem: baud_minus
		res:
			itemType	button
			fromVert	list
			fromHoriz	baud
			vertDistance	#(fWidth)*2-4
			horizDistance	4
			bitmapPath	$(bitmaps)
			bitmapFile	minus::CBM
			highlightBitmapFile	minus_sel::CBM
			borderWidth	0
		endres:
		act:
			job prevbaud
		endact:
	endditem:
	ditem: set
		res:
			itemType	button
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		' ρ@X '
		endres:
		act:
			switch $(type)
				case '':
					put 1 $(err_no)
					job err
					quit
			endswitch
			put on $(ONRUN)
			put 101 $(menu_no)
			$(onrun) = sub $(commonPath)/onrun ++48++48
			$(pid) = bg $(etc)/Terminal/Sttys.sh chg $(TTY_NAME) $(type) $(login) $(root) $(baud)
			$(bgstat) = trap $(pid) cmd_end
		endact:
	endditem:
	ditem: reset
		res:
			itemType	button
			fromVert	set
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			label		' @A '
		endres:
		act:
			job reset
		endact:
	endditem:
enddialog:
proc: pre
	$(TMP) = mktemp
	put /tmp/$(TMP) $(TYPE_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(SORT_TMP)
	$(bin)/Stermcap -L -i /etc/termcap > $(SORT_TMP)
	sort $(SORT_TMP) > $(TYPE_LIST)
	put on $(mapped)
	put off $(opened)
	put off $(CHANGE_TERMINAL)
endproc:
proc: close
	switch $(ONRUN)
		case on:
			quit
	endswitch
	job off
	close
endproc:
proc: open
	setval list file $(TYPE_LIST)
	job setch
	job reset
	setval select sensitive false
	put 0 $(menu_no)
endproc:
proc: reset
	put $(TTY_TYPE) $(type)
	setval type leftLabel '^CvF$(type)'
	switch $(type)
		case '':
			setval set sensitive false
			break
		default:
			setval set sensitive true
			break
	endswitch
	put $(TTY_LOGIN) $(login)
	job setlogin
	put $(TTY_SECURE) $(root)
	job setroot
	put $(TTY_BAUD) $(baud)
	job setbaud
endproc:
proc: setch
	switch $(TTY_NAME)
		case console:
			setval channel leftLabel `lF
			break
		case tty00:
			setval channel leftLabel `lFOO
			break
		case tty01:
			setval channel leftLabel `lFOP
			break
		case tty10:
			setval channel leftLabel `lFPO
			break
		case tty11:
			setval channel leftLabel `lFPP
			break
		case tty12:
			setval channel leftLabel `lFPQ
			break
		case tty13:
			setval channel leftLabel `lFPR
			break
		case tty20:
			setval channel leftLabel `lFQO
			break
		case tty21:
			setval channel leftLabel `lFQP
			break
		case tty22:
			setval channel leftLabel `lFQQ
			break
		case tty23:
			setval channel leftLabel `lFQR
			break
	endswitch
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: chglogin
	switch $(login)
		case on:
			put off $(login)
			break
		default:
			put on $(login)
			break
	endswitch
	job setlogin
endproc:
proc: setlogin
	switch $(TTY_DEV)
		case off:
			setval login label ' ց@~ '
			setval login sensitive false
			put -- $(login)
			quit
	endswitch
	switch $(login)
		case on:
			setval login label ' @ '
			setval login sensitive true
			break
		case off:
			setval login label ' ց@~ '
			setval login sensitive true
			break
	endswitch
endproc:
proc: chgroot
	switch $(root)
		case on:
			put off $(root)
			break
		default:
			put on $(root)
			break
	endswitch
	job setroot
endproc:
proc: setroot
	switch $(root)
		case on:
			setval root label ' @ '
			setval root sensitive true
			break
		case off:
			setval root label ' ց@~ '
			setval root sensitive true
			break
	endswitch
endproc:
proc: off
	switch #(menu_no)
		case 1:
			close $(err)
	endswitch
	put 0 $(count)
	rm -f $(TYPE_LIST) $(SORT_TMP)
endproc:
proc: select1
	switch $(TMP_TYPE)
		case '':
			quit
	endswitch
	setval select sensitive true
endproc:
proc: select2
	switch $(TMP_TYPE)
		case '':
			quit
	endswitch
	setval select selected true
	job select
	setval select selected false
endproc:
proc: select
	put $(TMP_TYPE) $(type)
	setval type leftLabel '^CvF$(type)'
	setval set sensitive true
endproc:
proc: err
	switch #(err_no)
		case 1:
			put 1 $(menu_no)
			put '^|~i^Cvw肵ĉ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_TERMINAL)
	job off
	close
endproc:
proc: bgdone
	switch #(bgstat)
		case 0:
			$(n_end) = sub $(commonPath)/normalEnd ++48++48
			trap $(n_end) n_end
			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:
