I have a couple of terminal based programs which I'll never be able to leave behind. When I start them from the command line with something like
gnome-terminal --command foo
or when I make a Foo.desktop file and I click on the icon in the Applications overview, Gnome does the right thing in that it makes a new terminal window and runs the program within it. I can even give the window a distinct title with --title=Foo. But the application name as Gnome knows it, shown in the top bar, and the icon next to it, are still just "Terminal" and the generic "prompt" icon. :-(
Apart from bad aesthetics this also makes it inconvenient to switch to the window because it gets lumped together in the UI with all the terminals running shells. If I were a mouse user (grin) it would take an extra click to select the window from the group of terminals - as it is, me being a 90% + keyboard user, I cannot just enter the overview and type "Foo" because that would start a new one, not switch to the running one.
So, where does the UI get these bits of information, so I can go there and change them? Trying to solve this puzzle I found something interesting: if I use urxvt instead of gnome-terminal as the emulator, Gnome displays "rxvt-unicode" as the application name. Where the hell does that come from? The program is named "urxvt" and so is the window (in the sense of Xwindow resource names), and the window class is "Urxvt". So far as I knew "rxvt-unicode" was just a human oriented nice name of the project, not something the system understood, so where does Gnome get it?