メニューバーとランチャーが使用するスペースを考慮して、利用可能な画面サイズを取得します。

メニューバーとランチャーが使用するスペースを考慮して、利用可能な画面サイズを取得します。

Ubuntu 14.04を使用しています。 xrandrまたはxdpyinfoを使用して画面解像度を取得する方法を知っています。ただし、これらのツールを使用すると、利用可能な最大デスクトップサイズを得ることができます。

利用可能なデスクトップの一部にアクセスできるメニューバーが上部にあります。利用可能なデスクトップの一部を占めるランチャーが左側にあります。メニューバーとランチャーが使用するスペースを説明するbashスクリプトを使用して、実際に利用可能なデスクトップサイズをどのように見つけることができますか?

ベストアンサー1

解決策

問題は次のように指定されているのでbash

IFS=', =' read -a area < <(xprop -root '_NET_WORKAREA')

使用法

これXそしてワイ同等のフレーズ、高いすべてそこにありますエリア大量に。その後、次のように使用できます。

echo "Top left of usable space: X is ${area[1]} and Y is ${area[2]}"
echo "Width is ${area[3]} and height is ${area[4]}"

レギュラーボンケース

一般的な Bourne シェルに制限されている場合は、変数名を指定して配列不足の問題を解決できます。Xワイ勝つ時間:

xprop -root _NET_WORKAREA > /tmp/workarea$$
IFS=, read x y w h sluff < /tmp/workarea$$
x=${x#*=}
rm /tmp/workarea$$

追加情報

X11 属性を理解するには、例えば_NET_WORKSPACE、より拡張ウィンドウマネージャのプロンプト仕様はfreedesktop.orgにあります。

おすすめ記事