49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #!/sbin/openrc-run | ||
|  | # Copyright (c) 2008-2009 Roy Marples <roy@marples.name> | ||
|  | # Released under the 2-clause BSD license. | ||
|  | 
 | ||
|  | description="Configures terminal encoding." | ||
|  | 
 | ||
|  | ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} | ||
|  | : ${unicode:=${UNICODE}} | ||
|  | 
 | ||
|  | depend() | ||
|  | { | ||
|  | 	keyword -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu | ||
|  | 	use root | ||
|  | 	after bootmisc | ||
|  | } | ||
|  | 
 | ||
|  | start() | ||
|  | { | ||
|  | 	local ttydev=/dev/tty n= | ||
|  | 	[ -d /dev/vc ] && ttydev=/dev/vc/ | ||
|  | 
 | ||
|  | 	# Set terminal encoding to either ASCII or UNICODE. | ||
|  | 	# See utf-8(7) for more information. | ||
|  | 	local termencoding="%@" termmsg="ASCII" | ||
|  | 	if yesno ${unicode}; then | ||
|  | 		termencoding="%G" | ||
|  | 		termmsg="UTF-8" | ||
|  | 	fi | ||
|  | 
 | ||
|  | 	ebegin "Setting terminal encoding [$termmsg]" | ||
|  | 	n=1 | ||
|  | 	while [ ${n} -le "$ttyn" ]; do | ||
|  | 		printf "\033%s" "$termencoding" >$ttydev$n | ||
|  | 		: $(( n += 1 )) | ||
|  | 	done | ||
|  | 
 | ||
|  | 	# Save the encoding for use immediately at boot | ||
|  | 	if checkpath -W "$RC_LIBEXECDIR"; then | ||
|  | 		mkdir -p "$RC_LIBEXECDIR"/console | ||
|  | 		if yesno ${unicode:-${UNICODE}}; then | ||
|  | 			echo "" > "$RC_LIBEXECDIR"/console/unicode | ||
|  | 		else | ||
|  | 			rm -f "$RC_LIBEXECDIR"/console/unicode | ||
|  | 		fi | ||
|  | 	fi | ||
|  | 
 | ||
|  | 	eend 0 | ||
|  | } |