qtlily
Intro
Screenshots
More Screenshots
Current Version
LilyFace
Download
|
qtlily (pronounced "cutelily", as Qt is pronounced "cute") is a
client written in PerlQt for
the lily chat system.
I'm developing it using the Linux operating system and the KDE desktop environment, but in theory
PerlQt should be portable to other platforms and there's no
reason qtlily wouldn't be too.
Historically, clients for the lily system have presented their output
to the user in fairly raw form, generally in a single window with
minimal reformatting of messages. With qtlily, I aim to emulate some
of the current conventions of chat software, embodied by programs like
AIM, ICQ, mirc and kvirc. It is free software, licensed under the GNU GPL.

More screenshots
Version 0.05 is mainly a bug fix release, addressing the following issues:
- console and all discussion/conversation windows are QMainWindows now (some window managers hide dialogs from task lists)
- paused hidden windows are now unpaused when they receive output
- send button works now :)
- fixed crash when edit button pressed in memo browser without selecting a memo
- improved window refresh when reviewing
- show all discussions messages are sent to, even if you're not a member
- added support for ignore notification (and pseudo-unignore as well)
- face memos should show up in appropriate user's window, not current window
- /memo me worked but /memo me memoname didn't - fixed
- /memo set works now (creates blank memo and then pops up editor for it)
- /who and /what with parameters produce fixed width output now.
- /info set now an alias for /info edit
- fixed new discussion notification
- added "escape closes window" functionality from qdialog back in
- /memo clear bringing up erroneous "no such memo" window - fixed
- reviewed sends to multiple discussions ended up in only one - fixed
- reviewed private messages showed up in window rather than - fixed
It's quite usable in version 0.05, and currently supports the following features:
- Private and public messages are parsed into a single line format for easier reading.
- Discussions and private conversations open in their own windows, one per sender/discussion, including messages from /review detach.
- Instant-messenger-like color coding to indicate sent or received messages.
- IM-like audio notifications for private messages and window openings.
- Messages received through review output look essentially the same as current ones.
- Links sent in messages are clickable and will launch your default browser using your KDE default browser setting.
- SLCP used wherever possible (though some events still get dumped to the user in raw form.)
- I'm floating the concept of "lily face", like "buddy icons" on IM services.
- Lily faces are automatically retrieved when a new private window is opened.
- System messages are highlighted in green on the console.
- A simple menu (equivalent to /who and /what.) More to come.
- A memo browser that lists a user or discussion's memo files and lets you view them.
- A login dialog that also lets you specify server, port and blurb.
- Logging per conversation and discussion.
- A user browser with features similar to the discussion browser.
- Clickable list of all users on the current lily server. (Now much improved.)
- Discussion browser has improved sorting and filtering.
- A window menu on each window to let you open any hidden discussion/conversation windows you may have.
- A memo and info file editor.
- A "me" menu to see your own memo/info files or send up your lily face.
- Memo viewer and editor allow you to use your choice of font.
- A pause button on each window for when you're trying to review and it's scrolling annoyingly.
- Nearly all SLCP events are handled now.
My intent is to support the following in the near future (days, not years, he says after going an entire year between releases):
- List of users in each discussion (like the /who list in the console.)
- Optional review of discussions upon joining/reconnecting to provide context.
- Right click menu on discussion /who lists and browser (/memo, /info, private chat, etc.)
- Right click menu on discussion browser (/join, /info, /memo, etc.)
- Silent ignore (ignore at the client rather than the server level.)
- Command history.
- Preferences dialog. This is halfway done as I type this.
- Tabbed conversation windows so you can group related discussions together (and reduce screen clutter.)
- Generic "other information" dialog to display stuff about users or discussions that currently gets dumped raw to the window.
And on down the road a bit....
- Direct client-to-client functions like encrypted chat and file transfer.
- A convention for providing client capabilities through lily memos.
- Documentation. :)
Known Issues
- PerlQt occasionally has random stability issues when used with certain KDE desktop themes.
- PerlQt had a few issues with reimplementing certain methods, and I haven't yet gotten
up to speed on the current version (which doesn't anymore.)
- In version 0.04 I introduced a bug preventing URLs from being highlighted in memo/info windows.
Lily Face Lily faces are stored in a lily memo called "face".
To create a lily face for yourself, which can be viewed by qtlily
users who talk to you or who type %face nickname, create a small (I'll attempt to display
any size image, but you only have so much space and so many lines for
a lily memo) image of your face, in JPG, PNG or XPM format. Uuencode
the image, copy it to your clipboard, type /memo set face while on
lily, paste the uuencoded data, and type SAVE and press enter. (In tigerlily, you should use %memo set
face instead and there's no need to type SAVE.) Starting with version
0.04 of qtlily, you can encode and upload your lily face automatically
from the "Me" menu on the console window.
Download
qtlily requires PerlQt 3.x, which in turn requires Qt 3.x.
There are packages of PerlQt for Mandrake 9.0, 9.1 and 9.2 available from my rpm collection.
All three versions can be set up using urpmi.addmedia or rpmdrake to automatically pull packages from my site as needed.
Update: The RPM build process "helpfully" includes Requires: for every Perl module you use in a program, even the ones that are part of your program. So there are new RPM's out there with matching Provides: lines which mean they'll now install without --nodeps.
qtlily, last updated 12 November 2003, copyright 2003 Rob Kudla.
|