4

プログラムから実行中の X ウィンドウ ウィンドウ マネージャの名前を見つけるにはどうすればよいですか?

別のウィンドウ マネージャーが既に実行されているときに別のウィンドウ マネージャーを起動すると、エラーが発生するため、別のウィンドウ マネージャーが最初のウィンドウ マネージャーを検出する方法が必要です。

それはどのように機能しますか?

4

3 に答える 3

9

EWMH 仕様により、準拠するウィンドウ マネージャーは_NET_SUPPORTING_WM_CHECKルート ウィンドウのプロパティをウィンドウ ID に設定します。

プロパティが存在し、既存のウィンドウの ID が含まれている場合_NET_SUPPORTING_WM_CHECK、ICCCM2.0 準拠のウィンドウ マネージャーが実行されています。プロパティが存在するが、既存のウィンドウの ID が含まれていない場合、ICCCM2.0 準拠のウィンドウ マネージャーは適切なクリーンアップなしで終了しました。プロパティが存在しない場合は、ICCCM2.0 準拠のウィンドウ マネージャーが実行されていません。

そのウィンドウ (ルート ウィンドウではなく、ルート ウィンドウのプロパティによって記述されるウィンドウ) には、_NET_WM_NAME探しているプロパティが必要です。

于 2009-07-12T04:10:18.993 に答える
3

wmctrlコマンドは、名前を含む多くの EWMH/NetWM 互換の X ウィンドウ マネージャーに関する情報を表示できます。

$ wmctrl -m
Name: Compiz
...

ウィキペディアのページによると、現在 (2012 年 8 月) 次のウィンドウ マネージャーで動作します。

  • ブラックボックス >= 0.70
  • アイスウム
  • kwin (KDE のデフォルト WM)
  • metacity (GNOME のデフォルトの WM)
  • openbox >= 3 (Lubuntu のデフォルト WM)
  • のこぎり
  • fvwm >= 2.5
  • ワイメア
  • pekwm
  • 悟り >= 0.16.6
  • xfce >= 4
  • フラックスボックス >= 0.9.6
  • マッチ箱
  • ウィンドウ メーカー >= 0.91
  • コンパイル
  • 驚くばかり
  • wmfs
于 2012-08-03T05:41:55.027 に答える
1

情報を持つ「アトム」が見つかるかもしれませんが、すべてのウィンドウ マネージャーが同じアトムを使用するという 100% の保証はないと思います。"xlsatoms" を実行してサーバー上のアトムを一覧表示するか、"xprop" (およびクリック) を実行して特定のウィンドウのプロパティ (アトムとその値を含む) を表示します。

于 2009-04-17T01:38:21.083 に答える