当我在Linux操作系统Term::Size::Any(chars
)和Term::ReadKey(GetTerminalSize
)上调用此脚本时,返回的列数始终相同。
当我在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] );
答案 0 :(得分:1)
您目前所做的不是“调整大小”,终端屏幕尺寸仍然相同,您只是缩小终端可见尺寸。
要更改窗口终端“大小”,请单击左上角,转到属性更改“屏幕缓冲区大小”,此时您只需更改“窗口大小”