test Blog
Happy living
首页
留言板
管理
Linux程序设计——用getopt处理命令行参数
修改 ubuntu 的3个画面
在Linux对终端的几个操作
老鼠
posted @ 2009年3月11日 02:01 in
linux
, 2826 阅读
当然,如果使用一些现有的库(比如 ncurses),本文就没什么信息量了,现在假设我们要自己造轮子。
获取终端的宽度和高度:
#include <sys/ioctl.h>
struct winsize sz;
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛*E8G9K,C/X7_#k
ioctl (1, TIOCGWINSZ, &sz);
3o$z6k7o9S5?
printf ("Width=%d\n, Height=%d\n", (int)sz.ws_col, (int)sz.ws_row);
3w!m;f;H$f k8}
8h;~;D7b)Z8{9I%a
ioctl 的第一个参数 1 是要获得的终端的文件描述符(文件号),如果它指向的文件是终端以外的东西,ioctl 函数会失败。
. 显示/隐藏光标(这里看到的):用两个转义序列
"\033[?25l": 隐藏光标(最后面的是字母 l 不是数字 1)
"\033[?25h": 显示光标
3. 终端下的鼠标支持
TechWeb-技术社区5p:L1`)k2l9|.m+a2t$[1k1W8r
xterm 兼容的终端支持鼠标操作,默认情况下关闭,用控制序列 "\033[?1000h" 开启,用 "\033[?1000l" 关闭。
%n.V%T'| b-]2u2O2X
在启动鼠标报告模式以后,鼠标对终端有动作时(按下/释放鼠标键,滚动滚轮)时,从这个终端就可以读到六个字节的转义序列 [ M b x y。从 b 是可以得知现在的事件(按下/释放哪个鼠标键,滚轮向哪个方向滚动等),从 (x, y) 可以当前鼠标的位置。详情参见 "man console_codes"(页面搜索 mouse)
[取消回复评论]
昵称
登录
E-mail:
*
Web:
Twitter:
当有新评论通过 E-mail 通知我
(输入验证码)
or Ctrl+Enter
分类
生活琐碎
linux
web
编程相关
patch
Python
热门文章
深入Linux网络核心堆栈
.htaccess使用指南
国家或地区域名大全
python目录与文件操作(助记)
使用PyGTK和Glade创建用户界面
随机文章
我的新桌面
这工作
Linux 文件基本知识
.htaccess使用指南
使用kprobes,截获execve系统调用
功能
注册
登录
忘记密码?
文章 RSS
评论 RSS
留言 RSS
CopyRight
本博客采用
知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议
进行许可