aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: 83661646a782ccf9c870b80538cb9f16a967164a (plain)
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
68
69
70
71
72
73
74
75
76
77
78
FujiChat features:

- handle incoming PONG (with latency)
- visual and audible bell
- nick tab completion (FujiChat's was very lame)
- option to not show ping/pong
- hide motd
- settable real name (currently hardcoded "FujiNetChat User")

Other stuff:

- at least one keyboard macro (for ChanServ auth)
- error numerics should go to the current screen
- autojoin on startup
- add an optional 2nd parameter to /join (key). spec calls for it,
  I've never seen it used.
- decide whether to allow mass joins: /join #chan1,#chan2,#chan3
  not sure how widely supported it is on various networks. right
  now, it works with libera, but only the first channel gets a
  screen. better to do it client-side, /join #chan1 #chan2 #chan3,
  accept lots of arguments (but don't support keys).
- /join also supports "/join 0", which parts all channels. don't
  have to do anything special for it, but do document it.
- 'dead' screens (channels we've parted) should show some kind of
  indicator, and not accept input.
- use GR.1 for the activity indicators, so they can be colorful.

See also: ideas.txt

...

Config file. At minimum, these:

Server
Port
SSL?
Nick
Channel/query list

Extras:

AltNick
Colors (BG/FG/BAK) (per-channel? or just one set?)
Screen layout (pre-create channel and query windows)
Macros (with Select key, 1-9, 0 for #10)
CTCP VERSION response (config utility can auto-detect OS type?)

The config will be created by a separate tool, FNCHATCF. This should
have a built-in list of known IRC servers to choose from, plus the
ability to add more. Maybe store them in a file called FNCHATCF.SRV.

Distribution disk: MyDOS, with a menu as .AR0 where you can select
whether or not to run the config tool. If there's no config file, just
run the tool. Maybe another menu option to read the README? Use MyDOS
because cc65's exec() works with it (no writing my own exec() function
this time around).

Menu might just be:

FujiNetChat v0.0-YYYYMMDD-githash

<No> config file loaded <from D:FHCNAT.CFG>.

[Option]             Read the manual.
[Select]             Connection setup.
[Start] or [Return]  Connect to IRC server.
[Escape]             Exit to DOS.

...and if there's no config file on D: or in memory, the Start option
is greyed out.

Reserve a memory area for the config, so after FNCHATCF runs FNCHAT,
there's no need to reload the config. There won't be a /server command
in the client, so connecting to a different server means re-running
the config tool.

On disconnect: [R]econnect, [C]onfig, [Q]uit, [B]oot: [R]
Quit will exit to DOS. If that can be made to work, anyway.