MSWin32操作系统上的Term :: ReadKey :: GetTermialSize

时间:2014-01-15 08:10:02

标签: windows perl terminal console resize

当我在Linux操作系统Term::Size::Anychars)和Term::ReadKeyGetTerminalSize)上调用此脚本时,返回的列数始终相同。

当我在Windows机器上调用脚本时,只要我用鼠标调整终端大小,返回的列数就会不同。 chars返回新宽度,而GetTerminalSize返回初始终端宽度。

是否有从GetTerminalSize获得新调整大小的终端宽度的技巧?

use strict;
use warnings;
use 5.10.0;

use Term::Size::Any qw(chars);
use Term::ReadKey qw(GetTerminalSize);


say( ( chars( \*STDOUT ) )[0] );
say( ( GetTerminalSize( \*STDOUT ) )[0] );

1 个答案:

答案 0 :(得分:1)

您目前所做的不是“调整大小”,终端屏幕尺寸仍然相同,您只是缩小终端可见尺寸。

要更改窗口终端“大小”,请单击左上角,转到属性更改“屏幕缓冲区大小”,此时您只需更改“窗口大小”