标签: terminal curses ioctl termcap terminfo
据我所研究,termcap / ioctl和tput co不允许查询终端屏幕上(x,y)位置的字符。这是相当意外的,因为:
termcap
ioctl
tput co
tput li
*inch*
- 这两个意味着与终端的通信是双向的。是否真的无法在给定位置查询字符,例如使用*in_wch*,{{1}} curses函数(仅适用于curses窗口)?
*in_wch*
答案 0 :(得分:2)
预期(不是"意外"):
tput
某些(并非所有)终端都支持转义序列,该转发序列询问终端光标所在的位置。 resize程序使用它来获取屏幕大小。但请记住,已知它是终端相关的,如手册页中所述:
resize
-s [行列] 此选项表示 Sun 控制台转义序列将是 用来代替VT100风格的xterm转义码。
-s
很少有终端支持转义序列,只会从屏幕上读取字符。不是每个人都喜欢可以阅读他们的屏幕的程序的概念 - 也许是在他们不知情的情况下。