"than configure ssh with connect.c" -> that sounds awful (if I understood you correctly) :(
Are you aware of the ~/.ssh/config file possibilities? You can configure any ssh options you need there and bind them to one word. For me that's much faster than launching gui.
Some examples from my file:
global config - with forwarding and keepalive:
SVN repository - no features, host available through 'svn ssh+svn://rsync/...'
Normal hosts - with default username:
Host behind nat, using a tunnel through the previous host
ProxyCommand ssh -T nat nc %h %p
That way I can have access to the usual hosts with no effort. My default shell host is always "
ssh shell" and with public/private key setup, I don't use passwords at all. Try it - maybe you don't need gui at all.