Xterm, and likely many other X11 programs, do not set themselves window icons, which window managers typically use to represent that program window in switcher lists, taskbars, and so on. This program can set the X11 window icon for any given window, to that of a given image file.

usage: xseticon [options] path/to/icon.png
  -name     : apply icon to the window of the name supplied
  -id   : apply icon to the window id supplied

Sets the window icon to the specified .png image. The image is loaded from
the file at runtime and sent to the X server; thereafter the file does not
need to exist, and can be deleted/renamed/modified without the X server or
window manager noticing.
If no window selection option is specified, the window can be interactively
selected using the cursor.

  xseticon -id "$WINDOWID" path/to/icon.png
Will set the icon for an xterm.

Download source in tarball from: