Wayland penceresinde tıklayarak pencere nasıl tanımlanır


15

Wayland'de bir pencerenin hangi sürece ait olduğunu belirlemek istiyorum. xpropX için kullanıcının tıklatarak bir pencere seçmesine izin veren ve PID dahil tüm pencere ayrıntılarını veren bir şey var mı ?


Ben xprop gibi bir komut var veya olacak şüpheli. Wayland'ın ana hedeflerinden biri diğer işlemlerin pencerelerine erişimi kısıtlamaktır.
mviereck

@mviereck Süper kullanıcı Wayland'da bile pencere bilgilerini görebildi mi?
Nathaniel M. Beaver

@bariumbitmap: Yalnızca besteci bu bilgileri kendi belleği dışında, örneğin bir dosyada veya bir API aracılığıyla sağlıyorsa. Böyle bir şartnamenin farkında değilim (ama yine de var olabilir). Elbette, tüm besteciler için genel bir çözüme ihtiyacınız yoksa weston gibi bir besteciyi çatallayabilir ve kendiniz uygulayabilirsiniz.
mviereck

Neden sadece xprop? XWayland üzerinden bir pencere üzerinde, orijinatör _NET_WM_PID(CARDINAL)işlemi PID'si de dahil olmak üzere çok fazla ayrıntı gösterir .
istepaniuk

Yanıtlar:


1

İyi haber, Gnome Kabuğu'nda böyle bir şey var ve xpropXorg ve Wayland ile yapılan çalışmaların aksine . Sonuç olarak, KDE, i3 veya başka bir şey kullanıyorsanız, bu diğer araçların alanına girebilir.

Başlamak için, klavyeye aşağıdaki gibi bir menü getirecek olan "ALT + F2" tuşlarını yazın:

alt ft

Bundan sonra, komutu verin lg("cam görünümlü" için).

Bu, daha sonra pencere bilgilerini çıkarabileceğimiz görünümlü cam penceresini getirecektir. Görünüm camının sağ üst köşesinden "pencere" yi seçin:

pencere bölümü

Oradan, tanımlamak istediğiniz pencerenin adını tıklayabileceğiniz bir pencere listesi göreceksiniz.

liste

Bu durumda, bir örnek için gedit seçtim:

gedit

Bu çıktının üst satırında şunları görebilirsiniz:

Inspecting object: object instance proxy GType: MetaWindowX11 ...`

"GType", MetaWindowX11 veya MetaWindowWayland'dan biri olacaktır.

Bu bilgi https://fedoraproject.org/wiki/How_to_debug_Wayland_problems uyarınca gelir

ben sahibim


3
Bu, listelenen pencereyi çalıştıran işlemin PID'sini bulmaya izin veriyor mu?
czerny

0

Diğer Wayland istemcileri tarafından oluşturulan 's tutamaçlarının elde edilmesine izin veren bir protokol uzantısı taslağıxdg-foreign vardır wl_surface. Sapa sahip olarak, müşterinizin yüzeylerinden elde edebileceğiniz her şeyi elde edebilirsiniz. Ancak, bu protokol hala sınırlamaları vardır:

  • Açıkçası, istemcilerde uygulanmazsa çalışmaz.
  • Birbirini tanıyan müşteriler için hedeflenmiştir , bu yüzden onu tetiklemek için bir yol sağlamaz: müşteriniz, yabancı bir müşteriyle, uzantı tarafından kapsanmayan bir şekilde iletişim kurar. Daha sonra yabancı müşteri, bu uzantı aracılığıyla müşteriniz için bir tanıtıcı yayınlar.
  • Buna kıyasla çok fazla kontrol kazanır xprop. Aslında yabancı yüzeylere bile çizim yapabilirsiniz!

Bu nedenle, herhangi bir istemciden herhangi bir istemciden yüzey parametrelerini almanın genel bir yolu olması olası değildir. Ancak umudunuzu kaybetmeyin: Teknoloji tarihinde, başlangıçta bir amaç için tasarlanmış bir teknolojinin, tıpkı araba sigara çakmakları veya Android'deki Erişilebilirlik API'ları gibi başka amaçlar için yaygın olarak kullanıldığı birçok örnek var. Dahası, gelecekte, kesinlikle bir ihtiyaç olduğu için (örneğin, zaman izleyicileri için) göreviniz için daha uygun bir protokol uzantısı görünebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.