You're right I wish there were some form of Inter-Client Communication Conventions Manual that would tell programmers a standard way of communicating between X apps.
http://tronche.com/gui/x/icccm/
Also I find leaving an xterm open running 'cat > /dev/null' convenient for dump text to and from apps as a little temporary buffer for text. This is useful when you want to copy text from Firefox on your Linux machine into a Word doc on a Windows machine you connect to through x2vnc.