2013-03-26 12 views
5

Yasal Uyarı: Bu konuda çok benzer bir question olduğunu biliyorum.Linux: tüm görünür pencerelerin bir listesini nasıl alırsınız

NoozNooz42'nin here numaralı makalede açıklanan tam olarak aynı sonucu elde etmeye çalışıyorum. Ancak, mdma cevabı, gereksinimlerime uymuyor, çünkü Linux'ta da aynısını yapmakla ilgileniyorum. Önemle gnome ile, eğer önemliyse. Bu yüzden user32 kütüphanesi ile JNA kullanmak burada bir seçenek değildir (ya da?).

Herhangi bir öneri harika olacak, konuyla ilgili neredeyse hiçbir şey bulamadım.

P.S. Bulduğum tek şey, windows listeleyen ancak bana z-sırası hakkında herhangi bir bilgi vermeyen wmctrl komutu (nihayet java'da onu arayabilir ve ayrıştırabilir).

Güncelleme: Z sırası değiştiğinde bir bildirim/geri arama alabilsem mükemmel olurdu.

cevap

6

xprop kullanın, pencere özelliklerini gösterir.

xprop -root | grep '_NET_CLIENT_LIST_STACKING(WINDOW)' 

Çıktı aşağıdaki gibi görünmelidir:

:

_NET_CLIENT_LIST_STACKING(WINDOW): window id # 0x2000003, 0x4000004, 
0x1c00004, 0x1c00030, 0x1c00033, 0x2e00004 

Daha sonra özellikle pencereleri hakkında daha fazla bilgi alabilirsiniz z sırayla pencerelerin listesi kök pencerenin özelliği _NET_CLIENT_LIST_STACKING içindedir

xprop -id <id> 

veya

xwininfo -id <id> 
+0

Çok iyi cevap, teşekkür ederim! Bunun için +1, ancak hala saf java çözümü –

+0

için umuyoruz Lütfen soru üzerine benim güncelleme bakın. Z siparişi değişikliği konusunda bana bir bildirim verecek herhangi bir şey biliyor musunuz? Kök pencere özelliklerinde –

+0

'xev -root' tüm değişiklikleri gösterecektir. Sadece _NET_CLIENT_LIST_STACKING sonra filtreleyin. –

İlgili konular