
[1;33m-== 关于FTERM 2 ==-[m

fterm 2期望作一个通用的term，可以上bbs，也可以操作unix主机。


[1;32m-== 完整的unix telnet client ==-[m
-----------------------------------------------------------------------
作为一个操作unix主机的term，首先要实现一个正确的term，即支持
基本的ansi控制符，正确地显示颜色，能够卷滚，能够随意变动行列数。

特别地，由于在unix中使用mc(Midnight Commander)会带来相当多
的方便，因此加入了codepage的支持以画出表格线。

fterm支持行列数根据屏幕大小变换，在变换大小时有时会清历史屏幕以配合
正确的卷滚。

fterm目前不支持ssh, 可能会在将来试着作进去。

fterm支持XTERM mouse，请在属性里键盘选择XTERM, 登陆一个unix主机，打
mc测试点击鼠标会有动作。但这还在非常alpha的阶段，xterm termtype显示
方面刷新还很糟糕。。

从目前我和我的一些朋友的使用来看, fterm作为一个unix telnet client是
完整，正确和稳定的。

关于fterm作为unix主机的telnet client, 这里就只有这些话要说了。


[1;32m-== 令bbs上的操作更有趣些 ==-[m
---------------------------------------------------------------------------
作为一个bbs term，在一个标准term的基础上，提供一些功能期望
使得上bbs变得有趣一些。

特别地，希望浙大笑书亭bbs上的人们快乐一些。


[1;33m-== 彩色拷贝与粘贴 ==-[m
拷贝：拷贝的问题在于如何使得拷贝得到的字符串比较优化，不会有太多的
冗余控制符。
（比如*[1;32;41maaaaaaaaaaa*[33mbbbbb*[m这里a和b显示应当都是红底
和高亮的，b有关的背景和高亮控制符可以省略。）

目前fterm支持色彩，背景，高亮，闪烁控制符，下划线和其它特效一般用得不太多，
放后一点再作。

粘贴：在bbs上，描述ansi彩色的字符ESC(#27)是无法直接输入的，因此是依赖
约定的某种键组合产生。在Firebird上一般按两次ESC，在maple上按ctrl-u输入。

只要你各个bbs选对类型，就可以在不同系统之间作拷贝与粘贴。


[1;33m-== 全文下载 ==-[m

在bbs上实现全文下载是一件很别拗的事情，在此之前，我们尝试过用csbbsd
配合cq66实现全文下载，这样看起来更加合理一些，此外，通过bbspop3d从
pop3端口取信也是很好的方式，hightman还实现了webbbsd，可以用web浏览
很方便实现文章的下载。

但是直接从term中下载看到的文章似乎仍然是更令人习惯的方式。因此，这次
fterm仍然采用模拟翻页的方式走完文章，以实现“全文下载”。

目前支持Maple和Firebird BBS的全文下载，可以在文章列表或者在阅读文章的
时候中按右键下载，在工具条中也有快捷按钮。如果你打开鼠标操作，那么操作
起来就显得更加愉快。



[1;33m-== 鼠标操作==-[m

在bbs中进行鼠标操作，已经有很多term作过了，由于maple类型的bbs不多，因而
这些term对于笑书亭上的人们显得很遗憾。

fterm2期望给笑书亭上的朋友们一些希望。

在主菜单，分类讨论区，聊天选单中，fterm2会识别出类似"(C)lass" 这样包括")"
的选项，画一条暗色下划线用以标示。点击时自动发送出"C"这样的命令。

版面列表，精华区，用户列表，好友列表等列表中，识别列表中各项位置，画下划线
以标示，鼠标点击时自动移到期望的位置，并发送回车进入。
特别的，在笑书亭，查询讯息时点选讯息会自动按"w"以进行发讯息操作。

在列表中有几种可能的操作：
点在最上面一行，会发出HOME键，以跳到列表首项
点在最上面2-3行，发出PGUP键，
在最下面一行(第24行)时，会发送PGDN键，以跳到列表末项

在横向70字符以后移动鼠标，在7行以上点击会发送Page Up键，向上翻页
                       在7行以下点击会发送Page Down键，向下翻页
在横向10字符左边点击鼠标，会发送"<-"键，以退到上级菜单

在阅读文章时，点第一行模拟按"上"键，点最底行模拟按"下"键。

在不可判断的状态下，在屏幕中间点鼠标发送回车。



[1;33m-== 防发呆 ==-[m
一般bbs上60分钟没有按键操作，就会被踢下。使用防发呆就是定时发送点操作给bbs站。
事先请定义一个防发呆键。dnl建议^[[A^[[B，这是表示连续按上下键的意思。
fterm默认设置^L表示刷新屏幕，但据说在smth上会被反反发呆。

总之这样的事情大家自便，不知道还有什么键可以用，可以打开工具->自定义键盘
按一些键看看键值。当然也有人习惯打开netterm看。



[1;33m-== 自动回讯息 ==-[m

讯息到来时会发出一个Beep，fterm2收到beep字符后，会在下次数据到来时期望
屏幕上出现讯息的字样。(有的系统是一次，有的是2次)
fterm2会从屏幕上的讯息字符串中提取发送人。并记录为最后发讯人lastwho。
如果最后发讯人重复发送讯息，那么，只回复一次。这样防止了两个fterm设置为
自动回复，然后其中一个发送了一个讯息造成死循环。



[1;33m-== 自动应答聊天请求 ==-[m

大部分bbs在收到聊天请求时会发送beep给term，这时fterm发送一个单个字符
出去，会期望屏幕首行会出现“....聊天吗”字样，这时，fterm可以自动回复no
和不能聊天的理由。

但在smth和大话西游站上，bbs系统只有当term有动作才发送出beep字符，使得这个
功能无法实现。


[1;33m-== 设置自定义快捷键 ==-[m
菜单->界面->显示自定义快捷键->会显示出一个新的工具条。
其中第一个按钮是定义快捷键，点击后出现编辑界面，点击“+”键增加新键
命令的格式我在fterm中示范了几个例子。比如说转寄一篇文章到自己的信箱
就象这样：F^M^M^MN^M^M^M^[[B
其中^M表示回车，^[[B表示下方向键，上面那个序列是针对smth bbs上在文章
列表上按大写F然后三个回车，当提示要不要过滤ANSI字符时回N再接三个回车，
然后这时应当会回到文章列表，按下键，为转寄下一篇文章作准备。

其它的如^[[A表示上方向键^[[C表示右 ^[[D表示左。很自然的^A表示ctrl-a
^P表示按ctrl-P可以发文章..........等等。
这样就可以组合出一连串的操作序列。



[1;33m-== 自定义ANSI色彩 ==-[m

目前fterm准备有三种可自定义ANSI色彩配色方案。
其中配色方案一是标准的ANSI色彩，一般bbs用这个配色方案
二是上面标准的ANSI色彩的基础上，将第7种Silver色加亮，用于操作
unix主机的默认前景色。
配色方案三随你自己定。


[1;33m-== 自定义键盘 ==-[m

为各位使用方便，以下功能键为预定义：
   F12          : 地址簿
   ctrl-insert  : 拷贝
   shift-insert : 粘贴
   ctrl-delete  : 粘贴
   ctrl-f4      : 关闭当前页
   BBS TERM除以上功能外，还预定义以下功能键：
   shift-ctrl-b : 切换选择方式
   shift-ctrl-i : 显示输助输入窗
   shift-ctrl-l : 讯息记录
   shift-ctrl-f : 字体设置
   shift-ctrl-q : 快速连接
   shift-ctrl-s : 显示自定义快捷键

附：以下是所有可以关联的功能，各位可以根据自己的喜好使用kbsetup自行配置：
    '粘贴',
    '地址簿',
    '页面切换',
    '全文下载',
    '关闭当前页',
    '当前连接属性',
    '讯息记录',
    '字体设置',
    '调整窗口大小配合字体',
    '调整字体大小配合窗口',
    '自动调整字体/窗口',
    '显示输助输入窗',
    '显示自定义快捷键',
    '设置快捷键',
    '自动拷贝至剪贴板',
    '切换选择方式',
    '自动回讯息',
    '收到讯息跳出',
    '自动防止发呆',
    '鼠标操作',
    '参数设置',
    '快速连接'




[44;37m                                                      [m
[44;37m      [43;37m                                         [44;37m       [m
[44;37m      [43;37m  [40m                                     [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m                                 [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m     [47;37m    [40m   [47;37m  [46;37m     [47;37m         [46;37m     [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m     [47;37m    [40m   [47;37m  [46;37m     [47;37m         [46;37m     [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m     [47;37m         [46;37m     [47;37m         [46;37m     [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m     [47;37m         [46;37m     [47;37m  [40m   [47;37m    [46;37m     [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m     [47;37m         [46;37m     [47;37m  [40m   [47;37m    [46;37m     [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m                                 [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;30m      ______________________     [m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m           [45;30m     │     [46;37m          [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m           [45;30m     │     [46;37m          [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m  [46;37m           [45;30m     │     [46;37m          [40m  [43;37m  [44;37m       [m
[44;37m      [43;37m  [40m             [45;30m     │     [m            [43;37m  [44;37m       [m
[44;37m      [43;30m_______________[35m◥[45;35m        [43;35m◤[43;30m___________— [44;30m       [m
[44;37m         [43;30m___________________________________[44;30m          [m
[44;37m            [43;30m_____________________________[44;30m             [m
[44;37m               [43;30m_______________________[44;30m                [m
[44;37m     [43;30m___________________________________________[44;30m      [m
[44;37m                                                      [m
