Linux (X)에서 정확한 창 정보 (차원 등)를 얻는 방법은 무엇입니까? 정보를 얻으려면 어떻게해야합니까? wmctrl을 사용하여 창의 크기를

Linux에서 정확한 창 정보를 얻으려면 어떻게해야합니까? wmctrl을 사용하여 창의 크기를 얻을 수 있지만 창의 실제 크기는 창 장식으로 인해 다를 수 있습니다. 다음 정보와 방법이 필요합니다.

* precise window dimensions
* precise available screen space (excluding panels like gnome-panel)
* the ability to set a window to be a certain size, including decorations

가장 좋은 방법은 무엇입니까?

미리 감사드립니다!



답변

다음과 같은 몇 가지 명령 줄 프로그램이 있습니다.

  • xwininfo: 장식을 제외한 창의 크기와 절대 위치 (화면) 및 상대 위치 (창 영역)
  • xdpyinfo: 이것은 여러분이 알고 싶어하는 것보다 화면 장치에 대한 훨씬 더 많은 정보를 제공합니다. 그러나 같은 출력 뭔가 어딘가가 screen: #0다음을 dimension: 1024x768.

답변

> 정확한 창 치수

다음 예제 (적어도 sh, bash 및 zsh에서 작동 함)는 제목에 “KWrite”가있는 모든 창에 대해 프레임이 있거나없는 창 형상을 인쇄합니다.

windows="$(wmiface findNormalWindows "KWrite" "" "" "" "" "")"
for window in $(echo $windows); do
{
  echo $window
  wmiface framePosition $window
  wmiface frameSize $window
  wmiface windowPosition $window
  wmiface windowSize $window
  echo
} done

> 사용 가능한 정확한 화면 공간 (그놈 패널과 같은 패널 제외)

xrandr

예를 들면 다음과 같습니다.

xrandr | head -n1 | cut -d, -f2 | cut -d" " -f3-5

내 경우의 출력 :

4400 x 2560

패널을 제외하는 방법을 모름-모니터가 둘 이상인 경우 가상 화면의 중간에있을 수도 있으므로 패널이없는 화면 지오메트리는 “사용 가능한 화면 공간”보다 더 복잡 할 수 있습니다.

> 장식을 포함하여 창을 특정 크기로 설정하는 기능

wmiface setFrameGeometry $window $x $y $width $height

더 많은 명령을 보려면 wmiface README를 읽으십시오.