IRC Chatter
IRC Chatter is a lightweight, touch-friendly IRC client aimed at MeeGo and Harmattan. IRC Chatter is based on Qt, QML, and its backend uses libcommuni, a Qt-based IRC client library.
IRC Chatter is free and open source software licensed under the terms of GPLv2+. (Some parts are licensed under LGPL.)
Here you can find some info about IRC Chatter. If you wish for a new feature, add it to the Wish list!
Introduction
At the right you can see the user interface of IRC Chatter. Click on the pic to make it larger.
(No, we do not own a Nokia N9, this is just screenshot put on an N9, made by Joppu.)
Questions?
See you at #irc-chatter on Freenode!
Hacking on IRC Chatter
Useful links
Building
- The usual 'qmake' and 'make' are enough to build it
- Use 'dpkg-buildpackage' to build the package for Harmattan
- Building pre-release versions or snapshots
- Please add DEFINES+=PRERELEASE to the qmake configuration
- You can add qmake flags to the package build via the QMAKEFLAGS environment variable
- Use eg. 'QMAKEFLAGS=DEFINES+=PRERELEASE dpkg-buildpackage' to build the package for Harmattan
Releases
(Shortened URL for this part is http://bit.ly/getircchatter)
Features
Coming soon™
- Ability to connect to multiple IRC servers
- Autocompletion order based on last message order
- Highlighting channel names in messages
- Making user names clickable in the chat text area
- Zooming
- And the obvious
- Fixing known issues... ;)
- Implementing the wish list ;)
- ...etc
Wish list
(Shortened URL for this part is http://bit.ly/ircchatterwishlist)
Is there a feature you want? Put it on our wishlist!
- Server login password support ✓
- Autojoining on start-up to defined channels ✓
- Automatic URL parsing to visualise thumbnails or url clicker buttons (finger friendly) etc
- Some sort of bouncer support - perhaps using the quassel backend? Maybe another may suit better.
- Talk is underway with special, perhaps he will create a Quassel backend for us.
- Click-hold on a channel name could bring up channel options.
- Aliasing channels - like in pidgin. For example, my pidgin sidebar reads: OSM HRM ME Par HOS MD ED Ma TP OM /\/ HA NO
- Turn logging on/off
- Autojoin settings, or maybe in the future even more.
- Click nick to start writing message to them (i.e I click on some message in the chat from "foo" and it opens the vkb with foo:)
- support: XmpP through biltbee or minbif/ bip : http://rzr.online.fr/q/irc --Rzr 12:59, 15 August 2011 (UTC)
- support: hostname:port --Rzr 12:59, 15 August 2011 (UTC) ✓
- support: execute macro on connect ie : /msg nickserv identify password or something else --Rzr 12:59, 15 August 2011 (UTC)
- Your feature idea here!
Features already there
- Decent and shiny GUI
- Usable in portrait mode too (with virtual keyboard)
- Join/part channels and query/close users
- You can select text and open links
- Supported commands
- /join (or /j)
- /part (or /p)
- /query (or /q)
- /msg (or /m)
- /quit
- /close
- /me
- /nick
- /topic (but no topic changing)
- others are coming!
- Highlighting
- Channels that have new messages are blue
- If they have new messages addressed to you, they are red
- Settable server port
- SSL ability
Known issues, limitations
Work is being done to eliminate these.
ETA: soon™
Issues that are striked out have been fixed.
-
Lacking an appropriate configuration GUI, currently the client is hardcoded to connect to the Freenode network with the nickname "Your_Nick_Here"
- A nice page is added that appears on applaunch and solves this. You can still only connect to one server at a time though.
- Settings GUI is not working at all
- It has been removed from v0.1, will be added to a later version.
- Disconnections are not detected
- Can't reconnect after disconnect
-
Can't display CTCP actions (/me)
- Some /commands don't work yet
-
Parting a channel or closing a query MAY result in a segfault
-
Autoscrolling issues when opening/hiding VKB or chaning orientation
-
Autoscrolling fails when last message is longer than 1 line
-
No text selection
-
Links not highlighted
-
Topic is not displayed
-
Autocompletion issues
- Doesn't handle mode changes
- "Join on connect" in the channel connection window doesn't work
- Focus textbox on entering channel, so it doesn't have to be done explicitly.
- Channel topic changes don't appear
- Joining channels that lead to ##overflow when not identified pops up a spurious error message "[ERROR] gsE" (in red). (##electronics for example) It works as expected other than the error though
-
With v0.1 after ~10h uptime in busy channels, it's using ~100M of RAM, and a total of 1h CPU - Fixed in v0.1.1
- Probably this is thanks to the non-optimized way how the TextArea component works.
- Further investigation on v0.1.1
- The app uses ~80M at startup (RSS), but only ~27M (USS) is really the app
- After connecting to server, USS is ~30M
- After 6 hours of uptime in the default channels, the USS value went up to ~35M and the RSS to ~95M. Conclusion is that most of the memory that 'top' or 'htop' show are in fact the Qt libraries.
- According to SpeedEvil, after running v0.1.1 for 12 hours the USS value is still 35M and the app used only 45 seconds of CPU time!
- Conclusions
- Reason for the high CPU usage in v0.1 was the fact that it switches to software rasterizer when the app is in background AND that TextArea's rendering algorithm is very ineffective when it contains very long texts. Don't leave more than a few hundred lines in a TextArea, because it renders itself always, even the parts which are clipped by a Flickable
- This commit did the trick
- ...?
Platform support
The app is currently working on Harmattan (that is the primary target for now). When the app is functional, we are planning to port it to 'vanilla' MeeGo and possibly other platforms that support qt-components.