将监视器分辨率转换为行和列。
以下代码是我迄今为止所拥有的
python << EOF
import subprocess
import sys
results = subprocess.Popen(['xrandr'],stdout=subprocess.PIPE).communicate()[0].split("current")[1].split(",")[0]
width = results.split("x")[0].strip()
height = results.split("x")[1].strip()
print width + "x" + height
row = width
col = height
sys.stdout.write("\x1b[8;{rows};{cols}t".format(rows=row, cols=col))
print """
TEST
"""
EOF
答案 0 :(得分:1)
由于您正在使用 dtterm 窗口操作控件(请参阅XTerm Control Sequences),因此终端可能会实施相应的报告。本节包含以下信息:
CSI Ps ; Ps ; Ps t
Window manipulation (from dtterm, as well as extensions).
These controls may be disabled using the allowWindowOps
resource. Valid values for the first (and any additional
parameters) are:
这是相关的:
Ps = 1 4 -> Report xterm window in pixels.
Result is CSI 4 ; height ; width t
也就是说,您可以使用该控制序列获取 pixels 中窗口的大小,并且通过了解窗口的行/列,您可以计算字体大小。给定该信息(以及监视器的大小),您可以确定适合的字符行数和列数。