화면의 문자 크기(열과 행) 찾기

화면의 문자 크기(열과 행) 찾기

기하학에 관해서 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_width.character_height

관련 정보