お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2016-12-12 14:31:43

iinews
メンバ
登録日: 2014-06-02

現在表示されてるウィンドウの一覧情報を取得することは可能ですか?

wattosはかなりシンプルですが、xcompmgrを入れたらguake、lxterminalが透過できて使いやすくなりました。
そこで簡単?なスクリプトを作って他も透過させたいので
一覧(ウィンドウID、プログラム名)を取得したいのですが可能でしょうか?
その都度、transsetでできるのはわかっています。

オフライン

 

#2 2016-12-12 15:44:38

yama
メンバ
登録日: 2006-10-23

Re: 現在表示されてるウィンドウの一覧情報を取得することは可能ですか?

wmctrl でできるかと。

オフライン

 

#3 2016-12-12 18:05:30

iinews
メンバ
登録日: 2014-06-02

Re: 現在表示されてるウィンドウの一覧情報を取得することは可能ですか?

こんな便利なコマンドがあったんですね。
$ wmctrl -xl
これでウィンドウIDとプログラム名が関連付けられます。
xprop、xwininfoだと少し足りないと思ってたので助かりました。

オフライン

 

#4 2016-12-15 19:17:30

iinews
メンバ
登録日: 2014-06-02

Re: 現在表示されてるウィンドウの一覧情報を取得することは可能ですか?

透過スクリプトはできたんですが、ちょっと欲が出てきました。
wmctrlで各ウィンドウの表示順位(重なり順)を取得することは可能ですか?(もしくは別のコマンド名)
ヘルプ見てもよくわからなかったもので・・・

0x01600022 -1 panel.lxpanel
0x01400003 -1 pcmanfm.Pcmanfm
0x03400002  0 google-chrome.Google-chrome
0x03c00003  0 leafpad.Leafpad
0x02400025 -1 guake.Main.py

leafpadよりchromeが上になってるんですが、どちらも0ということはおそらくデスクトップ番号なんでしょう。
-1は全てのデスクトップに表示させる、でしょうか。

オフライン

 

#5 2016-12-15 20:08:05

iinews
メンバ
登録日: 2014-06-02

Re: 現在表示されてるウィンドウの一覧情報を取得することは可能ですか?

質問してすぐですが、それらしいのが見つかりました。
$ xprop -root | grep "_NET_CLIENT_LIST_STACKING(WINDOW): window id #"

_NET_CLIENT_LIST_STACKING(WINDOW): window id # 0x1400003, 0x1400595, 0x3e00003, 0x4000003, 0x4200003, 0x4400003, 0x4600003, 0x3400002, 0x3c00003, 0x1600022, 0x2400025

これで低い順位から取得できてるようです。

アクティブウィンドウを取得したい場合は
$ xprop -root  | grep "_NET_ACTIVE_WINDOW(WINDOW): window id # "

_NET_ACTIVE_WINDOW(WINDOW): window id # 0x2400025

のようです。

オフライン

 

Board footer

Powered by FluxBB