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
|
FujiChat features:
- respond to incoming CTCPs
- handle incoming PONG (with latency)
- visual and audible bell
- nick tab completion
Other stuff:
- error numerics should go to the current screen
- the server's spontaneous MODE at connect should go to screen 0
...
Don't create channel screen until we receive a message from the
channel. /join ##foo won't create the screen... and if there are no
screens available, we don't have to check for it.
Don't create query windows unless user explicitly does so.
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.
|