VT100 terminals have a relatively simple way to save terminal contents with escape codes to a file using Meta-p:
XTerm.VT100.printAttributes: 2
XTerm.VT100.printerCommand: cat - > file
XTerm.VT100.translations: #override Meta <KeyPress> P: print()
I've looked around quite a bit, and can't find a solution for this to work in the default GNOME Terminal + XTerm + Bash.
I do not want just an image with the contents of the window.
It looks like GNOME Terminal might eventually get a fix for this, but there's no information about which version it will be included in, and it's been almost three years since the last update...