What's LimeChat ?
LimeChat is an IRC client for Mac OS X written on RubyCocoa.
Features
- One window for multiple servers.
- Rich keyboard shortcuts for your comfortable operations.
- Fast and stable.
Requirements
- Mac OS X 10.4 or 10.5
- RubyCocoa 0.13.2
Install
OS X 10.5
- Download LimeChat 1.0 executable dmg.
- Open the downloaded dmg, and copy LimeChat.app to your Application folder.
OS X 10.4
- Download RubyCocoa-0.13.2.1-OSX10.4universal.dmg, and install it.
- Download LimeChat 0.20 executable dmg.
- 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
- #limechat on irc.freenode.net
- Google Group: LimeChat
- Satoshi Nakagawa
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.



