Woher weiß man die PID eines aktiven (fokussierten) Fensters?
Ich möchte ein Skript schreiben, in dem es notwendig ist zu wissen, ob der Benutzer aktiv ein Programm verwendet [mit etwas wie Firefox im Internet surfen] oder etwas anderes tut [Text mit etwas wie gedit schreiben]
In meinem Fall möchte ich große Dateien herunterladen, aber die Browsergeschwindigkeit nicht beeinträchtigen. Wenn ich also surfe, ist das aktive Fenster von Firefox und ich möchte den Download beenden. Wenn ich PDF lese, ist das aktive Fenster ein PDF-Reader und ich möchte den Download fortsetzen. Das ist es.
Antworten:
Schließlich gelang es mir, mit xdotool die PID eines aktiv fokussierten Fensters zu ermitteln
quelle
xprop -id ...
gearbeitet?xdpyinfo
hat in seiner voluminösen Ausgabe die Fenster-ID des Fensters mit dem Fokus vergraben (siehe: Welches Fenster hat den aktuellen Fokus? ). Damit können Siexprop
die zugehörige PID abrufen.quelle
xdpyinfo | grep -Eo 'window 0x[^,]+' | cut -d" " -f2
Ausgabe 0x3e00122xprop -id 0x3e00122
Ihnen (oder was auch immer Ihre neue aktuelle Fenster-ID ist)?xprop -id [active window] | grep WM_CLASS
Verwenden des Fensterstapels von xdotool:
Bash:
quelle
Bash
Fisch
quelle
Sie können wmctrl installieren und dann alle Fenster auflisten
wmctrl -l
.quelle