The -T and --message switch mean that who will display a +, -, or ? denoting whether the user is allowing messages to be written to their terminal.
`--writable'
After each login name print a character indicating the user's
message status:
`+' allowing `write' messages
`-' disallowing `write' messages
`?' cannot find terminal device
Example
$ who --message
saml - tty1 2013-11-03 16:09 (:0)
saml + pts/0 2013-11-03 16:10 (:0.0)
saml + pts/1 2013-11-03 16:49 (:0.0)
saml + pts/6 2013-11-04 12:28 (:0.0)
saml + pts/20 2013-11-05 13:16 (:0.0)
saml + pts/43 2013-11-05 16:58 (:0.0)
The -T switch does the same thing.
What are messages?
Messages is a facility in Unix where people can write messages directly into someone else's terminal device.
Example
$ write
usage: write user [tty]
saml on tty1 has his message receive capability disabled (-).
$ write saml tty1
write: saml has messages disabled on tty1
However user saml is allowing messages on pts/0:
$ write saml pts/0
hola
If I switch over to the tab that corresponds to pts/0:
[saml@grinchy ~]$
Message from saml@grinchy on pts/43 at 17:06 ...
hola
Enabling/Disabling the status
You can use the command mesg to enable and disable this feature in a given terminal.
Messages is enabled.
$ who --message | grep "pts/0"
saml + pts/0 2013-11-03 16:10 (:0.0)
Turn it off.
$ mesg n
Now it's disabled.
$ who --message | grep "pts/0"
saml - pts/0 2013-11-03 16:10 (:0.0)