Putting Text in Window Title Bars

How you go about adding a label to a terminal window's title bar depends on your shell. Let's look at how this would work on both Solaris and Linux systems when you're using bash or ksh.

The first thing you need to do, of course, is identify the information that you want to have displayed in the title bar. If you want the same type of information displayed from system to system, you can set this up in your dot files, picking the identifying information from the environment.

Let's say you want the system name, plus some information about the operating system and its version to be displayed. You could snag this information from the output of the uname command like so:

TBAR="`uname -n` - `uname -a | cut -d' ' -f1,3`"

Here, we have used the uname -n command to get the hostname and plucked two pieces of text (OS and version) from the output of the uname -a command, adding a hyphen after the hostname. The $TBAR variable thus has this kind of information in it:

boson - SunOS 5.10

Now, all you have to do is stuff this information into the title bar. You can do that with this odd-looking command:

echo -ne "\033] $TBAR \007"
Putting Text in Window Title Bars

Adding your username is helpful if you log in as more than one user -- especially if one of

those users is root. You can easily add your username to the title bar like this:

$ TBAR="`uname -n` - `uname -a | cut -d' ' -f1,3` - `whoami`"
$ echo -ne "\033] $TBAR \007"

You can put your current directory into the title bar like this (but it won't change when you cd to another directory unless you issue the command again):

echo -n -e "\033] `pwd` \007"

You can also create a simple script for users to put the text of their choice into the title bar:

#!/bin/bash
# tbar: put text in title bar

echo -ne "\033]; "$*" \007"

If you put this in a directory that's on the users' paths, they can type "tbar `pwd`" or "tbar `uname -a`" or whatever else they want to remind them what the window is being used to accomplish.

Insider: How the basic tech behind the Internet works
Join the discussion
Be the first to comment on this article. Our Commenting Policies