I don't write much for X. My main reason for using X (other than games and graphical browsing ;-) is to have multiple terminal windows open side by side. When I do write one program which must have an X interface and a term interface in the same program, I force the issue into the user's hands. I use a command-line switch such as '--Xmode', '-x', or '-g' to mean it should present its X face instead of its term face. It's not hard to type '-g' and it's very little trouble if you intend to use it from an icon. Also, it simplifies testing the term version while in X.
I wouldn't dare try to sway you towards this, but I thought I'd mention it as an off-the-wall option.
Christopher E. Stith