dzen2가 실제 해상도와 모니터 수를 감지하는 방법

dzen2가 실제 해상도와 모니터 수를 감지하는 방법

내 노트북에서는 다음과 같이 사용합니다 dzen2.xmonad

 h <- spawnPipe "dzen2 -fn fixed -x 0 -y 800 -h 21 -w 1280 -ta l -fg '#ffffff' -bg '#663300' -e ''"

그러나 여기에도 몇 가지 문제가 있습니다.

  • 해상도가 다른 외부 모니터만 사용하면 화면 하단에 머물지 않습니다(설정 때문인 것 같습니다 -y 800). 하지만 자동으로 이를 감지하여 화면 하단에 배치해야 합니다.
  • 너비와 동일합니다(예: 프로젝터를 사용할 때). 하지만 최대 너비는 자동으로 설정되어야 합니다.
  • 여러 모니터를 사용하는 경우 하나의 모니터에만 표시되지만 각 모니터에 복사본을 두는 것이 좋을 것입니다.

이러한 문제를 어떻게 해결할 수 있습니까?

답변1

나는 그것을 실행했고 출력은 다음과 같았다 xrandr. awk예를 들어, 연결된 화면 중 가장 높은 높이를 알려줍니다.

TALLEST_HEIGHT=`xrandr --prop --nograb | awk -F " |x+" 'BEGIN { max = 0 } / connected/ { if($5 > max){ max = $5 }}; END { print max }'`

그런 다음 전화할 때 사용할 수 있습니다 dzen.

dzen -h $TALLEST_HEIGHT (...)

비슷한 논리를 여러 상황에 적용할 수 있습니다. 전환하면 너비를 $5얻을 $4수 있으며, 가장 넓은 화면 대신 가장 작은 화면을 얻도록 쉽게 조정할 수도 있습니다. 각 디스플레이의 오프셋을 알려주는 Sum 필드를 보고 이를 사용하여 그림의 맨 아래(또는 맨 왼쪽)에 도달할 수도 있습니다 $6.$7

관련 정보