如何以编程方式确定终端窗口的字符尺寸?

Ken*_*Ken 6 bash terminal scripting perl terminal-emulator

我正在编写一个脚本,它将在终端仿真器窗口中显示一个股票图表作为ASCII艺术.我通常使用OSX/Terminal.app,但基于Linux的解决方案是可接受的替代方案.

我的脚本目前有屏幕宽度和高度的命令行参数(同样,在CHARACTERS中测量,而不是像素),默认值由我自己的发明的环境变量确定.我希望这些脚本确定当前窗口的大小(IN CHARACTERS),并使用THAT作为默认值.我的17英寸Macbook Pro上的大窗口的典型尺寸可能是200 x 68.

这是一个perl脚本,但如果您知道其他语言的解决方案,请告诉我!

TIA.

gee*_*aur 7

通常的方法是tput linestput cols; 这个查询按顺序:

  • $LINES$COLUMNS环境变量;
  • termios 设置,当您调整窗口大小时由终端模拟器设置;
  • 由... terminfo确定的描述$TERM.