画面の文字サイズ(列と行)を探す

画面の文字サイズ(列と行)を探す

幾何学に関しては、Xマニュアルページは次のように述べています。

"ジオメトリ仕様: ...ほとんどのXプログラムは、このアプリケーションのデフォルトのサイズと位置を指定する-geometry WIDTHxHEIGHT+XOFF+YOFF(ここでWIDTH、HEIGHT、XOFF、YOFFは数値です)形式のコマンドライン引数を受け入れますウィンドウのジオメトリ仕様の幅と高さの部分は、通常、アプリケーションに応じてピクセルまたは文字で測定されます。

両方の幅と高さのオプションがxterm文字にあるようです。画面に基づいて特定のジオメトリを持つ端末を実行するにはxfce4-terminal-geometryプログラム的に(たとえば、タイリング:ターミナルウィンドウで各象限を覆います)画面サイズを文字単位で知る必要があります。ピクセル単位で見つけることができますが、xwininfo -root文字単位で見つける方法がわかりません。どうすればいいですか? XFCE4関連の回答が可能です。

答え1

私の質問に答える:wmctrl@NickDの提案に従い、ハッキーソリューションを提案しました。

#!/bin/bash

get_window_id() { # Convert window title into wmctrl window id
  wmctrl -l | grep "$1" | cut -f1 -d" " | tail -n1
}

screen_dim=( $(xwininfo -root | grep "\-geometry" | sed -r 's/.* ([0-9]+)x([0-9]+)\+0\+0/\1 \2/gp' -n) )

w=$((screen_dim[0] / 2))
h=$((screen_dim[1] / 2))
k=40

xfce4-terminal --title="My Window 1"
xfce4-terminal --title="My Window 2"
xfce4-terminal --title="My Window 3"
xfce4-terminal --title="My Window 4"

wmctrl -i -r $(get_window_id "My Window 1") -e 0,0,0,$w,$((h - k))
wmctrl -i -r $(get_window_id "My Window 2") -e 0,$w,0,$w,$((h - k))
wmctrl -i -r $(get_window_id "My Window 3") -e 0,0,$h,$w,$((h - k))
wmctrl -i -r $(get_window_id "My Window 4") -e 0,$w,$h,$w,$((h - k))

このkパラメータは、@NickDで言及されているタスクバーの問題を解決するためのおおよその調整です。

どういうわけか文字のピクセルサイズを見つけることができれば、ジオメトリをxfce4-terminalに直接渡すことができます。そうすればもっときれいになります。

screen_dim=( $(xwininfo -root | grep "\-geometry" | sed -r 's/.* ([0-9]+)x([0-9]+)\+0\+0/\1 \2/gp' -n) )
w=$((screen_dim[0] / 2))
h=$((screen_dim[1] / 2))
cw=$((c/character_width))
ch=$((h/character_height))
k=1
xfce4-terminal --title="My Window 1" --geometry=${cw}x${ch}+0+0
...

しかし、私はそれを得る方法を知りませんcharacter_widthcharacter_height

関連情報