1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
See also: ideas.txt.
Stuff marked with [*] means, things that must be done before Alpha-2.
Once they're all finished, I'll tag alpha2 and post it on AA.
FujiChat features, we're almost at parity!
X Configurable ctcp version response. Not going to do for now. Having
the git commit and date in the version response is more important,
during the alpha release cycle.
- [*] Keyboard buffer, if possible. Right now we miss the occasional
keystroke when typing fast & furious during network I/O. Not
sure how to accomplish this with FujiNet (the old FujiChat
key buffer actually hooked into the SLIP code). Use a VBI I
guess. If that doesn't do it, it would require a custom SIO
replacement... well, I have the OS source, so maybe.
Other stuff:
- [*] Start+A should *always* switch windows, even if all are inactive.
It can act like Start+Left in that case.
- [*] Auto-pinging the server seems to work, but needs more testing.
- If you "/m #channel message" or "/m nick message" from another
screen besides the one for #channel or nick, the message should be
printed locally in the correct screen, not the current one. Maybe
or maybe not: switch to that screen.
- Load/save config files to N:SD///.FujiNetChat or such. Since we *have*
to have a FujiNet anyway, might as well make better use of it.
- Rewrite the incoming message parser! It needs to work more like
the command parser in cmd.c: know how many arguments to expect, and
not blindly assume they're present. Also, replace strtok() and
strstr() with nextarg().
- *Thoroughly* test the nick and channel tab completion for the [private]
and [server] screens.
- Fix the nick completion in channel screens. It works, but needs some
polishing up.
- More scrollback. Of course it needs more memory... see doc/scrollback.txt
for my ideas on this.
- Server /ping command is iffy (see do_server_pong() in irc.c).
- "User has kicked <yourname> from #channel", the name should be
replaced by "you".
- Gracefully handle nicks/channels whose lengths are stupid long.
At least we shouldn't overflow any buffers.
- At least one keyboard macro (for ChanServ auth). More would
be nice, if we can afford the RAM.
- Add an optional key parameter to /join (key). spec calls for it,
I've never seen it used.
- *Possibly* save the config from within the client... though not
all options can be changed (really only /nick and /beep). To
make this useful would probably bloat the code too much. Some
way to change the IRC server/port within the app would be very
useful though.
Config file and initial config:
- The config tool should be rewritten in asm, for size. It doesn't
need to be fast, but it needs to *load* fast.
- The config UI should be nicer. Dialog/curses style, arrows to move, and
hotkeys like [S]erver, [N]ick. Categories (as tabs? tree?). I'm not
going to get this right without some user feedback, since I'm mainly
a CLI and text editor guy.
- There should be a file selector for load/save config.
More prefs:
- Ignore list (maybe).
- Connect macro (log in to bot).
Remember, the config has to be <= 512 bytes!
|