LimeChat

[Japanese]
screenshot
screenshot

What's LimeChat ?

LimeChat is an IRC client for Mac OS X written on RubyCocoa.

Features

Requirements

Install

OS X 10.5

  1. Download LimeChat 1.0 executable dmg.
  2. Open the downloaded dmg, and copy LimeChat.app to your Application folder.

OS X 10.4

  1. Download RubyCocoa-0.13.2.1-OSX10.4universal.dmg, and install it.
  2. Download LimeChat 0.20 executable dmg.
  3. Open the downloaded dmg, and copy LimeChat.app to your Application folder.

Source code

For other platforms

Shortcut keys

Tab Complete nickname.
Ctrl+Tab
Opt+Space
Move to the next unread channel.
Ctrl+Shift+Tab
Opt+Shift+Space
Move to the previous unread channel.
Opt+Tab Move back to the previously selected channel.
Cmd+Up/Down
Cmd+Opt+Up/Down
Move to the previous/next active channel.
Ctrl+Up/Down Move to the previous/next channel.
Cmd+Opt+Left/Right Move to the previous/next active server.
Ctrl+Left/Right Move to the previous/next server.
Cmd+0..9 Move to the 1st .. 10th channel in the current server.
Cmd+Ctrl+1..0 Move to the 1st .. 10th server.
Ctrl+Enter Send a notice message.

Contact

I'll be glad if you would like to donate. Your donation would help further development.

Change log

This change log is also available in RSS.

1.0 (2009.06.03)
  • Only OS X 10.5 is supported now.
  • Embed RubyCocoa.framework into the app.
  • Improved crashing bug in 10.5.7.
  • Renewed preferences dialog.
  • Renewed paste dialog.
  • Renewed welcome dialog.
  • Added "Notify events in Growl" option in channel properies.
  • Assigned shift-tab to move to the previous control.
  • Added %@%n: nick format.
  • Added show join/leave option.
  • Added time stamp format.
  • Added "ignore words" option. If text contains any of these words it will be ignored.
  • Added "/close peer" command to close a talk.
  • Added /omsg and /onotice commands.
  • Added support for /notice @#channel.
  • Added /m command.
  • Query ban list by /ban.
  • Open URLs without activation.
  • Remember spell checking status across session.
  • Fixed a bug in CP949 and other encodings.
  • Shorten sending PONG interval.
  • Don't allow < and > in URLs.
  • Ignore case in URL schemes.
  • Don't show the channel list dialog again while /list responses.
  • Markers in scrollers should be drawn as 1 point width lines.
  • All kind of ops should be colored as ops.
  • Work around for buggy bouncers, they don't send 005 replies appropriately.
  • Don't show PONG responses.
  • Changed an option name from "Dislike words" to "Exclude words".
  • Prohibit backspace, delete and space keys for hotkey.
  • Fixed a crash when an user changed his nick to the same one except case.
  • Fixed a memory leak when enabling SSL.
  • Fixed a bug around quick join.
  • Fixed a bug, it tried to join channels with names of talks.
  • Fixed a bug, the log was kept blank after /clear sometimes.
  • Fixed a bug, register to auto op menu was disabled.
0.20 (2008.10.02)
  • Added hot key option.
  • Assigned opt+tab to move to the last selected channel.
  • Added commands completion.
  • Added context menu on channel name in logs.
  • Added voice and devoice menu items.
  • Added "Channel notice received" and "Talk notice received" to the Growl notification types.
  • Added a theme settings: input-text/selected/background-color
  • Deal with parenthesis pairs in URLs.
  • Tweaked margin of the input text field.
  • Added .js file support for themes.
  • Allow to send commands before login.
  • Added /clear command to clear a log.
  • Supported filenames surrounded by double quotations in DCC file transfers.
  • Fixed a bug, the auto-op dialog could cause a nil access exception.
  • Strip unnecessary ":" when printing a line to log file.
  • Fixed a bug, we should allow a Bignum for Time.at.
  • Fixed a bug, /quote with no parameter caused a crash.
0.19 (2008.07.10)
  • Make bouncing just one time for highlight.
  • Added badges on the icon for highlight or new talk.
  • Assigned cmd+ctrl+0..9 to move to the nth server.
  • Changed to disconnect from all servers when the computer is going to sleep.
  • Changed to reconnect to the servers after waking up.
  • Added /timer command. (e.g. /timer 5 join #limechat)
  • When updating the channel list, perform sorted insert instead of re-sorting.
  • Search channel topics in the Channel List.
  • Added "first" attribute for span.sender to show nicknames in the first line only.
  • Changed to ignore CTCP replies with empty commands.
0.18 (2008.05.22)
  • Added exact word matching for highlighting.
  • Added SSL support.
  • Added alternative nicknames support.
  • Implemented drag and drop files on the member list to send files on dcc.
  • Added fallback encoding.
  • Changed Cmd-w to close current panel with confirmation when the panel is a channel.
  • Added Kick, Ban and Kick & Ban in the context menu on the member list.
  • Assigned Cmd+E to copy the selection.
  • Changed priority of Growl notifications to 1 for highlight events.
  • Added 'New Folder' button on the open dialog for transcripts location.
  • Changed to not use nick format for transcripts.
  • Changed the format of text messages for Growl notifications to "<nick> msg".
  • Changed to order front the main window when clicked on a growl notification.
  • Assigned enter key to send text on the paste dialog.
  • Added opt-up/down for moving around histories.
  • Changed to not allow '?' at the end of URLs.
  • Changed to select an existing talk when trying to start a talk again.
  • On the paste dialog, changed "Privmsg command" and "Notice command" to "Send to channel" and "Send Notice to Channel" respectively.
  • Changed /part without parameters to close the current talk.
  • Changed to handle /whois to get more information.
  • Added /rejoin, /cycle and /hop commands to rejoin the current channel.
  • Added /op, /deop, /halfop, /dehalfop, /voice, /devoice, /ban, /unban, /umode, /raw and /quote commands.
  • Added aliases, /t for /topic and /leave for /part.
  • Added /j command to join a channel.
  • Renamed /ctcpquery to /ctcp.
  • Removed /ctcpping.
  • Added nick attribute to the console log.
  • Changed to set 'server' type attribute for server logs like <body type="server">.
  • Fixed a nil access bug in DccManager#tableView_objectValueForTableColumn_row.
  • Fixed a bug, 'Override Log Font' option should be applied to body[type=...] and body.(normal|console) elements.
  • Fixed a bug, numeric values should be capped when converting from ruby to objc.
  • Fixed a bug, parameters for Time.at should be Fixnum.
  • Fixed a bug, marked scrollers were visible on the top-left corner of log views when initialized.
  • Fixed a bug, the scrollers of log views won't be rendered correctly when initialized with not enough frame.
  • Fixed a bug, "MODE +a user" should be considered as setting an user mask.
  • Fixed a bug, my address was forgotten after reconnecting.
  • Fixed a bug in utf-8 string validator.
  • Fixed a bug, log views dropped received lines before initializing.
  • Fixed a bug, 'Reveal in Finder' menu action on the dcc dialog caused an exception.
  • Fixed a bug, 'Highlight your current nickname' option should be applied for the console log.
  • Fixed a bug, /query command should be cleared after opening a talk.
0.17 (2008.03.03)
  • Fixed a crashing bug on 10.4, when pushed [+] button on the startup dialog.
  • Implemented drawing highlight indicators on a vertical scroller of log views.
  • Enabled continuous spell checking by default.
  • Now we can rearrange servers and channels on the server tree.
  • Added a filter text field on the channel list dialog.
  • Added an option, "Auto accept file transfers".
  • Added "Open File" menu item for receiving items on the dcc dialog.
  • Added "Reveal in Finder" menu item for receiving items on the dcc dialog.
  • Assigned double click to reveal a file in Finder on the dcc receiving transfer list.
  • Reformed main menu.
  • Assigned cmd+W to "Close Current Panel" when the main window is active.
  • Added a menu item, 'Copy Log as HTML'.
  • Added a menu item, 'Mark All as Read'.
  • Changed shortcut key for 'Mark Scrollback' to cmd+L, and 'Clear Mark' to cmd+shift+L as well.
  • Changed to show the paste dialog on opt-return.
  • Changed to select 'privmsg' as the default syntax when the paste dialog is not for paste.
  • Reformed the html template for log views.
  • New style action messages.
  • Moved the themes directory from '~/Library/LimeChat/Theme' to '~/Library/Application Support/LimeChat/Themes'.
  • Changed the default nick format to '%n: '.
  • More smaller font for the member list.
  • Removed '*' in the head of system messages.
  • Removed a server name from place part in the console log.
  • Now mIRC color effects can be styled in css.
  • Added "colornumber" attribute to span.sender for coloring each nick with different colors.
  • Added "identified" attribute in log view's html for CAPAB IDENTIFY-MSG support.
  • Added HTML4 color names support for YAML themes.
  • Changed to allow rgb() and rgba() strings in YAML theme files.
  • Changed /query without parameters to close the current talk.
  • Changed to remember the current text if modified when pushed up key.
  • Now a scroll position is kept when received a new line and removed the first line.
  • Changed to retain input text when changed the current channel, and restore it when come back to the channel.
  • Use the current username for nick on the startup dialog.
  • Added support for CAPAB IDENTIFY-MSG and CAPAB IDENTIFY-CTCP.
  • Now 401 error is printed in a talk log when there is a talk item for the target.
  • Don't change servers when closing a channel.
  • Fixed a bug, an effect stopping character should not render as an end tag when there is no effect.
  • Fixed a bug, the input text field should be scrolled on nick completion.
0.16.2 (2008.02.16)
  • Added new connection dialog for the first start up.
  • Added +q/+a channel modes support for Unreal IRCd.
  • Added /query support.
  • Added an option, don't show notifications when the application is active.
  • Prohibit adding a member when received join in a mode +a channel.
  • Changed to clear member list when received mode +a.
  • Changed to rebuild member list when received mode -a.
  • Changed to keep selection when a log view become not focused.
  • Added note for the encoding setting.
  • Fixed a method not found bug while formatting '%@'.
0.16 (2008.02.03)
  • Fixed a number format bug, "0.format_size" caused an exception.
  • Changed to send whois for a pointed member when doubleclicked on the member list.
  • Improved the report dialog of SACrashReporter.
0.15 (2008.02.01)
  • Added major servers to the server list on the server properties dialog.
  • Added ISO-8859-1 as a server encoding.
  • Added '%9n', '%-9n' and '%@' for nick format.
  • Removed target channel completion for text commands except /me.
  • Made sorting nicks for auto completion stable.
  • Added an exception handler in completing nick for safety.
  • Changed to allow '@' in nickname.
  • Changed to append a pasted url in the input text field.
  • Stopped periodical GC sweeps.
  • Stopped printing the end of who message, "Members list has been initialized".
  • Changed to not open a talk for 'NickServ' or 'ChanServ' when sending a command.
  • Changed to not match a domain name followed by an alphabet or a digit.
  • Fixed a bug, the selected item in the server tree should be initialized.
  • Improved implementation of custom cells in table views to watch copyWithZone.
  • Fixed a bug, disconnect menu didn't work while connecting.
  • Fixed a bug, autoop masks should ignore case.
  • Fixed a nil access bug when updating a nick completion weight.
0.14.2 (2007.12.27)
  • Added target channel completion when sending raw commands.
  • Added "Message scrollback" option.
  • Fixed a nil access bug with old WebKit, when changing theme in log.rb.
  • Changed the default transcript directory to ~/Library/LimeChat/Transcripts.
  • Changed the url regex to disallow parentheses, brackets, braces and etc in the end.
  • Improved to avoid nick changing loop when a nick collision occurred.
  • Changed to use nickname length and modes count in 005(RPL_ISUPPORT) replies.
0.14.1 (2007.12.19)
  • Improved the logic for nick completion. Now it also takes account of the conversations not for you.
  • Added a workaround for WebKit of Safari 2.
0.14 (2007.12.19)
  • Added the "Deep Ocean" theme.
  • Switched pasting services from Pastie to Pasternak. (Thanks to Eloy Duran)
  • Added "Override nickname format" option.
  • Added nickname format settings in a theme.
  • Added gradient color settings for member list selected items in a theme.
  • Added "Reload Theme" menu item under View.
  • Added @nick style conversation tracking for the nick completion.
  • Improved SACrashReporter to ignore SignalException.
  • Improved log rendering performance.
  • Changed max lines of log views to 500.
  • Fixed a bug, weights for completion didn't work correctly.
  • Fixed a nil access bug in starting up.
  • Fixed a name error when received a kill command.
0.13.1 (2007.12.13)
  • Fixed a nil access bug in drawing the member list on starting up.
0.13 (2007.12.13)
  • Added theme.
  • Added the override log font option.
  • Improved encoding choices.
  • Implemented cmd+'+'/'-' to change the font size.
  • Changed to print operator marks and nick names separately in the member list.
  • Changed to split a text message if the message is too long.
  • Changed to highlight a current nickname in priority.
  • Changed to parse raw commands.
  • Changed not to do wordwrap for addresses in log views.
  • Changed the url regex to disallow double quotes.
  • Changed to put received files into ~/Downloads if it exists.
  • Changed max lines of log views to 300. (Due to save memory consumption)
  • Added compatibility stuff for old RubyCocoa releases.
  • Fixed a bug, pasting multi line text to the input text field caused an exception.
  • Fixed a bug, NaN should be treated as 0 for height of log views.
  • Fixed a bug, the nick sheet won't show after right clicked on a log view
  • Fixed a nil access bug, when the parameters of a message are too few.
  • Fixed a bug, an empty string should be rejected for a raw command.
0.12 (2007.11.30)
  • Improved the paste dialog to remain showed while requesting to Pastie.
  • Improved the paste dialog to show error messages on it.
  • Changed to send current nickname to Pastie.
  • Fixed a bug, NSURLRequestReloadIgnoringLocalCacheData should not be used for Tiger.
  • Improved SACrashReporter to send a ruby version and a RubyCocoa version.
  • Now privmsg command is the default setting for pasting.
0.11 (2007.11.29)
  • Added "log transcripts" option.
  • Integrated Pastie support on a paste sheet.
  • Added an option for 3 columns layout (server tree, logs, member list).
  • Added a channel list dialog.
  • Added "highlight whole line" option.
  • Added "highlight your current nickname" option.
  • Changed to not select a candidate while completing nickname.
  • Integrated SACrashReporter.
  • Made a paste sheet resizable.
  • Assigned ctrl+enter to send Notice commands.
  • Assigned cmd+alt+up/down for moving around channels.
  • Changed a short cut key for moving around servers, from cmd+left/right to cmd+alt+left/right.
  • Supported Internationalized Domain Name in the URL detection.
  • Set "break-word:break-all" for URLs
  • Changed the default setting for tab key to nickname completion.
  • Changed to hide channel passwords in the title bar of the main window.
  • Changed to allow lossy encoding conversions.
  • A message with "//" prefix is now to send a message with "/" prefix.
  • Tweaked the logic for nick completion.
  • Stopped printing Names replies in a channel.
  • Fixed a bug, exceptions from Socket.getaddrinfo should be caught.
  • Enabled ruby thread hooks.
0.10 (2007.9.24)
  • Added application icon.
  • Added /me support.
  • Added nick right-click menu on log views.
  • Added menus, mark and clear scrollback.
  • Added confirmation on deleting a server from menu.
  • Changed sort order of the nick list to myself, op, non-op.
  • Changed to push text in the input buffer on moving channels.
  • Introduced priority for nickname completion. Thanks to Josh Goebel.
  • Limited length of channel topic for window title.
  • Improved channel properties dialog.
  • Improved server properties dialog.
  • Improved reorder server tree dialog.
  • Improved settings of tab key actions on preference dialog.
  • Changed to disable ruby thread hook.
  • Changed max lines of log view to 3000.
  • Changed to return the same objects in NSOutlineView datasource.
  • Fixed a bug, cancel reconnecting should be enabled in connecting.
  • Fixed a bug, the server item in the tree should be open when created the first child.
  • Fixed a bug, log view should scroll to the bottom when it finished loading.
  • Fixed a bug, application crashes when pushed Command + -.
  • Fixed a bug, channel password should be kept after kicked out for rejoining.
0.9 (2007.8.15)
  • Changed to work with RubyCocoa 0.12.0 only.
  • Added auto op.
  • Added Growl notifications.
  • Added event sounds.
  • Added flood protection.
  • Added url menu and address menu.
  • Added commands performed on login.
  • Added CTCP.
  • Added automatic rejoin on kicked.
  • Added automatic rejoin to acquire op.
  • Added message length check for quick join.
  • Changed spacing strategy of log view.
  • Changed password text field on the server dialog to NSSecureTextField.
  • Changed to open new talk when sending a text message to unknown nick.
  • Changed the default action for Tab key to going to next channel.
  • Fixed a bug, highlight words need regexp escape.
  • Fixed a bug, kana characters in 0xd0-0xdf were ignored in receiving.
  • Fixed a bug, multi line paste from context menu of text field should open multi line paste sheet.
  • Fixed a bug, windowShouldClose needs objc_method in RubyCocoa 0.11.1p1 for PPC.
0.8 (2007.7.28)
  • Fixed a bug, checkboxes on dialogs won't be saved when checkboxes were not checked.
0.7 (2007.7.27)
  • Fixed a bug, LimeChat.app won't start up at the first time.
  • Added short cut keys, Opt+Space for going to next unread channel and Opt+Shift+space for going to previous unread channel.
  • Added an option, no action on Tab key
  • Added workaround for WebKit on Leopard.
0.6 (2007.7.25)
  • Added an option, users can assign Tab key for nickname completion.
  • Fixed a bug, settings are stored inappropriately for pop up buttons on dialogs.
  • Fixed a bug, the setting of IP address detection is not applied sometimes.
  • Fixed a bug, an user is missing in the member list when he changed nickname to identical one.
  • Tweaked conditions to enable or disable Disconnect and Cancel Reconnecting menu items.
0.5 (2007.7.23)
  • Fixed a bug, when received a talk message, the message is always showed in the console log.
0.4 (2007.7.22)
  • Added Channels tab on Server dialog.
  • Added Reorder server tree dialog.
  • Implemented comments on Quit and Part.
  • Implemented user mode +i.
  • Implemented double click events.
  • Added support for many encodings.
    • Latin-3, Latin-4, Latin-7, Latin-9, Korean CP949, Chinese GBK, Chinese GB18030, Chinese BIG5, Russian KOI-8R, Russian ISO-8859-5, Hebrew ISO-8859-8
  • Added support for Japanese kana.
  • Improved to set location of windows and dialogs.
  • Added confirmation dialog on quitting the application.
  • Improved to parse inputted commands (msg, privmsg, notice, action, nick, quit).
  • Improved DCC file transfer dialog to show connecting status of file receiving items.
  • Replaced socket classes for DCC file sending from Ruby based implementation to AsyncSocket (workaround for ruby 1.8.2).
  • Improved to show confirmation dialog always on quitting the application when there are some active DCC file transfers.
  • Improved Disconnect menu to send Quit before disconnect.
  • Changed to keep sort order on the server tree.
  • Changed the default encoding, use ISO-2022-JP for Japanese and use UTF-8 for the others.
  • Improved to eliminate empty lines in the input history.
  • Fixed a bug, the application crashes when trying to start a talk to already talking users.
  • Fixed a bug, the application crashes when sending text contains irregular characters in the current encoding.
  • Improved to consider \r as a new line.
0.3 (2007.6.26)
  • Fixed a bug, Enter, Delete and some keys are invalid on PPC machines.
0.2 (2007.6.25)
  • Implemented keyword highlighting.
  • Implemented DCC file transfers.
  • Added Preferences dialog.
  • Added Nickname dialog.
  • Added input histories (accessible on up key or down key).
  • Added Multi-line paste dialog.
  • Implemented IP address detection.
  • Implemented mIRC effects.
0.1 (2007.6.10)
  • The first release.
feed