dzen2が実際の解像度とモニター数を検出する方法

dzen2が実際の解像度とモニター数を検出する方法

私のラップトップでは、次のように使用しますdzen2xmonad

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

しかし、ここにもいくつかの問題があります。

  • 解像度の異なる外部モニターのみを使用すると、画面下部に留まりません(設定のためのようです-y 800)。ただし、自動的にそれを検出して画面の下部に配置する必要があります。
  • 幅と同じです(プロジェクターを使用するときなど)。ただし、最大幅は自動的に設定する必要があります。
  • 複数のモニターを使用している場合は、1つのモニターにのみ表示されますが、各モニターにコピーを置くことをお勧めします。

これらの問題をどのように解決できますか?

ベストアンサー1

私はそれを実行し、出力は次のようになりましたxrandrawkたとえば、接続されている画面の中で最高の高さを知らせます。

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

おすすめ記事