lazunin.com >> Programs >> STClient
Stclient
This is a standalone client for sharedtalk.com language exchange web-chat.

I wrote it for personal use, because for me their Flash web interface is too inconvenient and ugly (however, some people have stated the contrary). With the original browser-based interface, you can't copy messages, there's no log file, no way to ignore some annoying users - these are just a few of the flaws this program is aimed to work around.
It has, however, some flaws of its own: it doesn't support all the functionality of Sharedtalk, you can't create an account with it (have to use their site for it, first), it doesn't handle connection errors well (e. g. not good for users with bad connection quality). Also, the Sharedtalk programmers may modify their protocol (which they did several times already), rendering this program unusable. (Last time checked for being functional: April 2012)
Python source (~26.5 KB). Requires Python 2.x (2.7 or newer, but not 3.x) and wxPython (unicode version). Cross-platform.
Update (November 19, 2012): here's an early pre-alpha of a new, experimental branch of Stclient, based on PySide/PyQt4 instead of wxPython. Python source (~51.5 KB). Requires either PySide or PyQt4. If both PySide and PyQt4 are installed, it will use PySide.
New features:
- After updating the chat window, restores the previous scroll position (e. g. doesn't scroll to the bottom, making it difficult to read earlier messages).
- List of all active users added. Caveat: you still need to join a room (any room) shortly after you log in, otherwise the user list won't update and you'll get kicked out of the chat by time-out. Also, you won't see any private calls, since those are displayed inside the rooms. I will hopefully fix both of these issues some day soon.
- Optional sound notification of private chat invitations added. If there's a sound file "private.wav" inside the application directory, it will be played once for each new invitation. You can use any *.wav file, just name it "private.wav" and put into the application directory. If you don't want any sound to be played, remove or rename "private.wav".
Why change from wxPython? The html widgets are very immature. The default one doesn't handle word wrapping for long strings without spaces (and in languages like Japanese there are no spaces at all, so whenever a long Japanese sentence appears in a chatroom, we get a long horizontal scrollbar), and the Ctrl+C combination doesn't work most of the times. WebKit widget doesn't have these problems, but works only on Macs, Internet Explorer widget works only on Windows. There was a new html widget added recently, but all it can do now is to open a URL (any attempt to set the content programmatically leads to a "not implemented" exception). Qt, on the other hand, has WebKit on all platforms.
There's another SharedTalk.com client app called Shred the Log. It is Windows-only (since it is written in C#) and provides some unique features.