.TH LABEL 1
.SH NAME
label, awd \- set window label
.SH SYNOPSIS
.B label
.I string
.br
.B awd
[
.I sysname
]
.SH DESCRIPTION
.I Label
sets the label of the current 
.I win
(see
.IR acme (1))
or X terminal window
.RI ( e.g.,
.IR 9term (1)
or
.IR xterm (1))
by echoing a special control sequence to standard output.
.PP
.I Acme
and
.I 9term
windows assume the label is a directory name.
When unrooted file names are plumbed in the window,
they are evaluated relative to the directory named in the label.
.PP
The label may have a suffix
BI /- sysname \fR,
which is not interpreted as part of the directory during plumbing.
.I Awd
sets the window name to the current directory with a
.BI /- sysname
suffix, using the name of the current system by default.
.SH EXAMPLE
One can use the following
.IR sh (1)
function to keep the label up-to-date in response to
.I cd
commands:
.IP
.EX
_cd () {
	\ecd "$@" &&
	case $- in
	*i*)
		awd
	esac
}
alias cd=_cd
cd .
.EE
.PP
.IR Rc (1)
installs a similar 
.B fn
.B cd
at startup if there is not already a function named
.BR cd :
.IP
.EX
fn cd {
	if(builtin cd $1){
		if(flag i) $PLAN9/bin/9 awd || status=''
		status=''
	}
}
.EE
.SH SOURCE
.B \*9/bin/label
.br
.B \*9/bin/awd
.SH BUGS
.I Awd
is also documented in
.IR acme (1).
