swessels at one.net
swessels at one.net
Sat Jan 28 03:57:01 UTC 2012
"Change Set: sbw-IRC-Enhancements
Date: 28 February 2002
Author: Stephan B. Wessels
See (IRCConnectionEnhanced releaseNotes) for a workspace window
These are the changes I have made to the IRC client for Squeak. Key new
features are a new user interface having one console window per
connection and then all console messages, channel messages and private
messages are contained inside the main console window using tabbed
swapped panes. Also support was added for /WHOIS and /ACTION from the
channel chat windows. Other windows not complete support for these
Revisions History: (-n is change set revision number). Most recent at
-41 Fixed a bug pointed out by Bijan Parsia. Thanks.
-40 Problem with post load initializer.
-39 Trim blanks around any added profile name.
Generate better initial profile names from server names.
-38 Extended multi column list morph with a new morph
PluggableMultiColumnListMorphByItemWithHeader used in the profiles
selection dialog. This morph provides multi-column ability with a
Disable active editing of configuration while connected.
Profiles are working. Note that the current options are copied into
profile you create.-37 Factoring of message sending code. Still needs
more cleanup in that code.
Made options available on a per connection basis. Each connection can
their own unique options. When you open up a new console window from
the World menu the options are set to the defaults. When you open up a
new console from the New Console button the options from the existing
console window are copied forward to the new one.
Added support for Profiles. A Profile contains a nick, server, and
which can be used for initializing a connection. Profiles management
the user are not coded yet.
-35 Handles nick change messages received from IRC server.
Also properly handles /whois and /nick changes initiated from channel
-34 Fetch of channels list shows update count while fetching.
Detect when IRC server fails to send channel list because of server
-33 fixed problem parsing PART messages from some servers
Generalized the reserved keywords (CLEAR, INSPECT) to be included in
any IRC input pane (console, channel or private messages).
-32 Support /CLEAR in channel chat window. Added support for /INSPECT
-31 Fixed some bugs with mode changes in channels
Fixed problem with connection dialog/setup window after being
Better factoring of TabbedSwappingControl morph.
Lots of factoring in IRCConnectionEnhanced.
-30 Fixed bug in servers populate code.
-29 Show channel member names in logical order with color highlighting
and voiced members. Detected mode changes that impact member status.
Fixed bug where PART messages were being sometimes sent to the wrong
-28 Fixed problem with post load initializer where populated servers
database was empty.
-27 Bug fix in paste/copy code for channel text.
-26 Handle multiple line inputs, such as can come from a paste
-25 Cosmetics in text messages from server.
Added close option to channel text menu.
Command keys work from the channel and console text panes now.
-24 Change set maintenance.
-23 Fixed problem where new private messages were not causing the tab to
Open up a chat window pane for private messages we receive except for
Member channel joins, parts and quits are now shown in the channel
Support INVITE requests.
Added Options pane to Setup dialog.
Factored out most of the swap/tabbed pane into a new pane design used
in the Config dialog.
-22 minor code factoring.
-21 /ACTION messages supported in channel chat.
-20 Added support for /WHOIS command to channel chat windows and users
-19 Added rollback of messages to console window pane.
Fixed bug in private chat window where ""me"" was still being used as
Fixed places where we were using asLowercase instead of asIRCLowercase.
Stop sending private messages to private messages redundantly pane if
there is already a
private chat window open to get them.
Factored sound messages for possible future enhancement.
-18 Since we can now have multiple consoles open on different IRC
servers, the title of
the window now reflects the connection.
Rollback of previously typed text.
Fixed the bug where there was a delay before channel members were
-17 Redesign of the ""population/status"" pane.
First hooks put into place to add support for find/copy etc from
keyboard in the
channel text pane. Keys are not mapped yet.
-16 New server configuration dialog allows choices from many possible
Added a built intable of several known IRC servers.
-15 Dropped the ""me"" designations for the real nick.
Factored all the colors into IRCClientColors class. It's not as nice
as a having
color preferences management, but you can edit them all in one place.
extension would be to allow storing and loading of customized colors
Highlight transmitted messages in a color, and highgllight recived
that contain our nick in a color.
Highlight ACTION message responses with italic.
Channel chat pane breaks nicks into column before messages.
Fix problems with automatic nick completion. It used to take more than
key hit to get started, and you could not embed TABs in the text line
if they were
not part of nick search. Also, you could not begin a line with a tab.
In the case
where someone types a tab in the first column and there are no
match against a nick, treat it like someone is typing indented text.
-14 Nick completion. We trap the TAB key and rotate through nicks.
-13 bug fixes and more cosmetic tweaks
-12 bug in menu for channel chat pane fixed.
added menu to private chat panes.
cosmetics to the population counter pane.
-11 Removed connect button from setup dialog. Ensured that setup window
be closed if edits were not accepted.
Indicate if the connection was dropped by color change in connect
Reconnect channels and private chats that were open if the user
connectd after a dropped
-10 added some edit menu functions to the readonly chat pane.
added menu to user list in chat pane.
selected channels button will bring existing channels window into focus
if already defined.
on manual disconnect, close the closeable tabs to avoid later
made the users status pane (population: x) read only.
cleanup the borders and pane background colors for the user list in the
cleanup the borders and pane background colors for the channel buttons.
private message windows have the same focus properties as the channel
browsers. input goes to the input pane.
made console pane readonly and again used the input pane to catch
replaced console menu with one more appropriate since functions from
old menu are now buttons.
show channel list refresh is busy by way of button colors.
removed special button from channels pane.
-9 Better connect/disconnect detect and indication.
Release the channel listeners when we close a tabbed pane.
Handle rotate left/right of tab panes.
-8 Opening up a private chat pane now becomes the active tabbed pane.
Highlight the tabbed panes that see messages while you have another
pane in front.
Check for missing # in front of prompted channel names.
-7 detect socket drop and change connect button state to indicate what
happened. Fixed missing
when someone parted from a channel.
-6 bugs fixed
-5 new provision for closing tabbed panes. Only specific panes can be
added buttons to move pane tabs left and right but nothing implemented
those features yet,
-4 more clean up of little bugs
-3 clean up of change set contents.
-2 fixed problem with send of private messages. Input pane was not
-1 general release
The existing IRC cllient has been left alone and a subclassed client was
For background IRC protocol information please see
NEED TO DO: (or would be nice to do)
- cleanup code to add class methods defining new constants for commands
I have added.
- mIRC colored text
- DCC send/recv
- PING response for server timeout? Verify this mechanism is working
right. I occasionally get disconnects and think this may be why.
- add 401 no such nick/channel to channel feedback
- /away needs to be supported
- /action does not work from private discuss pane. This problem is best
resolved by first refactoring all the communications paths. It is a
pretty confusing maze right now and with the addition of local and
special messages support the problem gets worse.
- disconnect does not close private message panes
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 55855 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20120128/8a40dd50/sbw-IRC-Enhancements.cs.obj
More information about the Squeak-dev