You get 7 screens (for now at least), with a total of 48 40-column lines per screen (again, for now). These screens work a bit like the screens in GNU screen, or tmux, or the windows in terminal mode IRC clients like irssi. Each screen normally shows the bottom 23 lines, plus either the input box or the status lines as the bottom 2 lines. When you "scroll up" to see the top 25 lines, all 25 of them show, and you don't see the input box or status lines at all. For now, you can only scroll up once (more memory will be needed for more scrollback). The screens are numbered 1 to 7. Screens 1 and 2 always exist, and are always called [server] and [private], respectively. Other screens are created as needed, by the /join or /query commands. Screen 1, the server screen, is really a "catch-all" screen: it will display all IRC protocol messages that aren't specific to a channel. It will also act as the "overflow" area when you join more channels than you have screens available, or if you use /j1 or /join1 to join a channel without creating a screen. Screen 2, the private screen, will display private messages and notices [TODO: not notices yet] directed to you, specifically (your nick). Only private messages from nicks that don't have a query screen will appear here (see below). To respond to these messages, use "/m nick response". The remaining screens, 3 to 7, can each be used for either a channel or a query. A "query" is a private message conversation between you and one other user, initiated with the /query command. Trying to issue a /query when no unused screens are available will fail. Unlike clients like irssi, query screens won't automatically be created when someone messages you. They have to manually be created with /query. This is because there are so few screens available. Channel screens are created by the /join command (or its alias /j). The screen is created as soon as you issue the /join command, and anything referencing the channel will show up in that screen, including error replies like "banned from channel" or "channel is invite-only". Channel screens are only deleted when you delete them explicitly, with Start + Escape. Creating a screen with /join or /query switches to that screen immediately. You can press Start+Tab to get back to where you were. If you want to join a channel without creating a screen (so its text appears in the [server] screen), use "/j1" or "/join1". To send text to the channel, you'll have to use "/m #channel text". [At some point, there will be tab-completion for channels, so this won't be so annoying] Leaving a channel via /part or being kicked out, doesn't delete the channel screen! Also, if the join fails (e.g. because the channel is invite-only, or you've been banned), the screen still gets created. Trying to enter text into a screen after leaving its channel will give you a "Cannot send to nick/channel" error. [TODO: not working yet] If you do part or get kicked, you can issue "/j" or "/join" (with no channel name) from the (former) channel's screen to rejoin that channel in that screen. Deleting a channel screen doesn't exit (part) the channel, either. That channel's messages will now appear in screen 1, [server]. If you're in a channel that doesn't have its own screen (it's showing up in [server]), you can "/query ##channel" to move it to its own screen (provided you have an unused screen for it). Status lines: When not entering text, and not scrolled up, there are two status lines at the bottom of the screen. The top one (in GRAPHICS 0) shows the name of the current screen (channel, query nick, [server], or [private]). The bottom status line (in GRAPHICS 1 [TODO: not yet]) shows the status of all the screens, in color: - Text background color (green by default, change with /color) is used for screens that are open, but have no activity since they were last displayed (nothing new to see there). - Yellow is used for channel screens that have new text you haven't yet seen, but your name hasn't been mentioned (you haven't been "highlighted"). - Red is used for query screens that have new text you haven't seen yet, and for channel screens with new text where someone has mentioned your name (you have been "highlighted"). [TODO: the /color command only takes 1 or 2 arguments right now] The /color command can take up to 4 numeric (decimal) values, which set the color registers for the text background, text foreground, non-highlighted channels, and queries or highlighted channels, in that order. Example: /color 0 8 99 200 ...will set the background to black, the text to medium grey, un-highlighted channels to purple, and queries + highlighted channels to medium green. There is no way to change the border color; it's always 0 (black). As usual on the Atari, only the luminance of the text color is used. If you give fewer than 4 numbers, the remaining color registers are not changed. If you give *no* numbers, the colors are reset to the built-in defaults. Beware: there's no error checking. Non-numbers will be treated as zero values, and there's nothing to prevent you setting the text foreground and background to the same luminance (which makes the text invisible). If this happens, you can blindly type /color with no arguments to restore the default color set. Hotkeys: Hold down Start and press: Number 1 to 7: switch to screen, by number. Screens that are empty/unused (never been used, or closed via Start+Escape) can't be switched to. Escape: Close the current screen, and switches to the [server] screen (1). Has no effect if used in screens 1 or 2. Closing a channel's screen with Escape does not exit the channel; the channel's text will be seen in the [server] screen. [TODO] Ctrl+Escape: Close the current screen and exit (part) the screen's channel, if any. There's no confirmation, but Start+Ctrl+Escape is difficult to press by accident. Left/Right arrows: switch to previous/next screen (wraps around from 1 to 7, or 7 to 1). Again, empty/unused screens will be skipped. You don't have to hold Control with the arrow keys. A: Switch to lowest-numbered "active" screen. An active screen is one that has new text in it that you haven't seen yet. Does nothing if there are no active screens. Tab: Switch back to the last screen you were looking at. Can be used repeatedly to toggle between 2 screens. S: Show status. Hides the input box (but does not clear its contents). The input box will reappear when you start typing again. [TODO] J: Join a channel you were invited to. This is only the most recent invite (there's no history). Does nothing if you haven't received an invite, or if you're already in that channel. The join is done as /join (creates a screen, if it can). [TODO] Q: In the [server] screen, create a channel window for the channel you most recently got a message from. In the [private] screen, creates a query window for the user you most recently got a private message from. Does nothing if there are no empty screens, or if used from a screen other than [server] or [private]. [TODO] L: List all existing screens (numbers and channels/nicks). Output goes to the currently displayed window.