Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

31 lines (18 sloc) 2.56 KB
==quIRC:future plans==
Scripting language. Under development in branch 'script'.
Debug mode. /Every/ message send to or from a server to be displayed in that server's buffer; socket operations would be tracked in (status).
Quiet mode. Don't emit diagnostics for eg. unrecognised IRC traffic (such as numerics).
curses. The current hardwired ANSI-escapes code for painting the screen is clumsy. However, it's tailored to my needs, and now that it's neatly packaged away, it should be easier to cope with. So, I may just stick with it.
Dead tabs. When a tab disconnects/parts/etc., instead of losing your backscroll it should leave the tab open (but disconnected), and allow you to /reconnect (or /rejoin, for channels). Also need /close command (closes a tab, if live then /disconnects or /parts first), and a check on /connect,/join - if there is already a tab (possibly dead) for this server[+channel], just switch to that tab and /reconnect,/rejoin if necessary.
Interface separation. It should be possible to write decoupled interface modules which may access the buffers at a variety of depths (eg. pre-formatting) and through a variety of methods (such as mmap(2), a serialised textual IPC format, etc.).
Input editing. Should use something based on Emacs line editing keys (C-a will mean 'go to start of line', unlike now when it means 'backspace to start of line'!). May be provided by curses - investigate.
wordline() spaces. Currently, wordline() replaces /[ \t]+/ with a single space. This messes up ASCII art (like TFnet's MOTD)
append_char(). This should be used for all string appension (eg. fgetl())
quoting/escaping tables. Instead of duplicative hard-baked logic, we should have a data-driven system with a single point of truth.
Top status bar. Carry the info in the xterm title and maybe more info besides. Here's an idea for a layout that nicely fits things in.
| 0 160 160 12
1 8 20 31 49 67 80
If any string (server, channel, nick) is too long to fit its slot, it will be crushed according to the usual crushing rules.
Option to turn this bar on/off (on a tty, vertical space is precious!)
Pidfiles and attaching. When you run quirc, if there is an existing quirc process running, your new instance should simply signal that process to open the requested server/channel in a new tab, and the new instance should then close (after emitting a suitable diagnostic).
Jump to Line
Something went wrong with that request. Please try again.