Kabuk komutu başka bir program penceresini önüne getirmek için?


Yanıtlar:


14

Not:


Eminim yazınızı bestelediğim gibi yayınınızı düzenleyin ... :()
frabjous

Pencere adınızı wmctrl -l ile bulabilirsiniz. Ad, son satırdan sonraki metindir: <pencere kimliği> <masaüstü kimliği> <istemci makinesi> <pencere başlığı>
jorfus

8

Başka bir seçenek xdotool :

xdotool search --class Nautilus windowactivate


2
Benim için başarısızXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
Tino

Muhtemelen buradaki - benim deneyimime göre --classname veya --name (biliniyorsa) --class çalışmadığında bazen çalışır.
fevkalade

Benim durumumda kimliğini kullanarak xwininfove birkaç ek farklı xdotoolkomut (bir daha hatırlamıyorum) veren bir pencere yükseltmek mümkün oldu . Bunu otomatikleştirmeye çalıştığımda (kurtulmak için xwininfo), aksi takdirde seçilen gizli pencereler nedeniyle görsel eserler aldım. Sadece rastgele pencereleri doğru bir şekilde ele almak için genel bir yol bulamadım. Her wmctrl -aşeye geçtikten sonra , herhangi bir değişiklik yapmadan hemen kutudan kusursuz bir şekilde çalıştı. Beğendiğimi lütfen unutmayın xdotool, ancak onunla doğru pencereyi yükseltmek zor görünüyor.
Tino

2

Kullanırken xdotool, yalnızca bir komut kullanarak belirli bir uygulama veya sınıf için tüm pencereleri öne getirmek zor görünüyor . forKabuk düzeyinde bir döngü içine sarılarak daha iyi sonuçlar elde ediyorum . Bash Kullanımı:

for WINDOW in $(xdotool search --desktop 0 Firefox); do
   xdotool windowactivate ${WINDOW}
done

Birkaç açıklama:

  • Varsayılan olarak, xdotool searchmodeli (burada Firefox) pencere adı, sınıf ve sınıf adında arar . Eğer arama alanını kısıtlamak istiyorsanız, ilgili kullanabilir --class, --nameya da --classnameseçenekleri.
  • --desktop 0Seçenek ilk masaüstüne arama sınırlar. Bu XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1), bazı yorumlarda bahsedilenlerden kaçınmak için bir geçici çözüm gibi görünüyor .
  • Bu yazı yazıldığı zaman, xdotoolproje 2015'ten beri durmaktadır. Yine de seçim aracım olmaya devam ediyor. Kişisel nedenlerden ötürü, Jordan Sissel (orijinal yazar) olduğu kadar aktif değil, bu yüzden projeye katkıda bulunmaktan çekinmeyin.
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.