aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO10
-rw-r--r--doc/ui_keys.txt7
-rw-r--r--src/irc.c2
3 files changed, 8 insertions, 11 deletions
diff --git a/TODO b/TODO
index 6ecdd5b..efd9235 100644
--- a/TODO
+++ b/TODO
@@ -17,9 +17,7 @@ X Configurable ctcp version response. Not going to do for now. Having
Other stuff:
-- [*] When running /motd after connection, it works (even if 'hide
- MOTD' is enabled), but it jumps to screen #3 if there's a channel
- in that screen.
+- [*] Auto-pinging the server seems to work, but needs more testing.
- [*] Write a cgetc() replacement that doesn't call the OS K: "get one byte"
routine. I was avoiding it because it will need a 192-byte table
(keycode -> atascii lookup)... but I'm spending more than 192 bytes
@@ -27,15 +25,14 @@ Other stuff:
- [*] Filter out the rest of the keystrokes that causes cgetc() to block.
Includes ctrl-/, ctrl-8, ctrl-9, maybe others (The_Doctor__). A
cgetc() replacement will take care of this.
+- [*] Filtered-out keystrokes (ctrl-3 and friends) shouldn't even bring up
+ the editbox, if it's not already showing.
- 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().
-- [*] Filtered-out keystrokes (ctrl-3 and friends) shouldn't even bring up
- the editbox, if it's not already showing.
-- [*] Auto-pinging the server seems to work, but needs more testing.
- *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
@@ -51,7 +48,6 @@ Other stuff:
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.
-- Error numerics should go to the current screen (?).
- Add an optional key parameter to /join (key). spec calls for it,
I've never seen it used.
- 'Dead' screens (channels we've parted, or failed to join) should
diff --git a/doc/ui_keys.txt b/doc/ui_keys.txt
index bacb0d6..a8de4bc 100644
--- a/doc/ui_keys.txt
+++ b/doc/ui_keys.txt
@@ -2,9 +2,6 @@ Hold down Start, *or* press and release Escape, and:
1-7 - switch screens
Up Arrow (without Control) - scroll current screen up
-Escape - close screen (but do not part channel). This only
- works with the Start key; pressing Escape a second time
- exits from "Escape mode".
Tab - switch to last displayed screen
Left/Right (without Control) - previous/next screen.
A - switch to active screen
@@ -20,6 +17,7 @@ P - in a query screen, do a /ping <nick>. in [private], last
nick who PMed. no effect elsewhere.
T - /topic #channel
E - show full editbox (instead of screen).
+X - close screen (but do not part channel).
Ctrl-X - in a channel screen, /part the channel and close the
screen. no effect elsewhere.
Ctrl-D - disconnect from server (without sending a /quit). This
@@ -27,6 +25,9 @@ Ctrl-D - disconnect from server (without sending a /quit). This
debugging aid (so I can test the automatic server ping code).
This will likely be removed before the first beta.
+If you press Escape by accident, pressing it again gets you out of
+"start key toggle" mode.
+
Future plans:
J - join last channel you were invited to.
diff --git a/src/irc.c b/src/irc.c
index 00ec89a..e93cc08 100644
--- a/src/irc.c
+++ b/src/irc.c
@@ -969,7 +969,7 @@ void start_keystroke(void) {
case 0x18: /* ^X */
send_cur_chan_cmd("PART");
/* fall thru */
- case CH_ESC:
+ case 'x':
scr_prev = SCR_PRIV;
scr_destroy(scr_current);
return;