I've posted a reply to Perl/Tk Chatterbox Client with a link to patches for monkchat and PerlMonks/ (PerlMonks::Chat) that seem to address most of the brokenness that occurred after recent changes to the chatterbox ticker. Please have a look and test the patches if you're so inclined.

Thanks, conv

Replies are listed 'Best First'.
Re: Tk chatterbox client patches
by Shendal (Hermit) on Oct 31, 2002 at 16:03 UTC
    Thanks for taking the time to read through some of that code. I hadn't looked at it in quite a while. I went ahead an applied (most) of your changes to Perl/Tk Chatterbox Client. The big problem in is still there (it belongs to someone else). While your fix may do the job, some sort of more robust XML parser should probably be used.


      I'm just glad I was finally able to get monkchat working again, I missed using it. The code is pretty easy to follow, and uses a style that's very close to my preferences, so I enjoy working on it.

      I made a few additional changes after I posted the patches: I've made the horizontal scrollbars for both widgets non-optional. This will prevent the "oscillating scrollbar" phenomenon that occurs when the widgets' contents cause the x scrollbar to be packed and forgotten in an infinite loop. I've also added mousewheel bindings to both widgets. I'll post those patches, along with a few others in the near future.

      I agree that a formal XML parser is needed. I was thinking of using XML::Simple. I'll do some work on that and post patches for testing.

Re: Tk chatterbox client patches
by Notromda (Pilgrim) on Nov 04, 2002 at 20:19 UTC
    I'm still having trouble with it - it doesn't list whos logged in. It does finally at least show the conversation, though. Thanks!

      Unless you apply the patch to the PerlMonks module(s) you'll probably have problems and even then there are no guarantees, there are still a few things that are not working right. As Shendal has suggested, using a formal XML parser in the modules that parse the XML returned by the tickers would be the best solution.