Ich benötige eine Lösung, um die aktuell aktiven (fokussierten) Fensterinformationen auf einem Gnome 2-Desktop abzurufen. Ich interessiere mich hauptsächlich für den Ablauf dieses Fensters und des Fenstertitels.
Ist es möglich?
LÖSUNG:
Fenstertitel abrufen:
xwininfo -root -children | grep $(printf '%x\n' $(xdotool getwindowfocus)) | grep -oEi '"[^"]+"' | head -1
Prozessnamen erhalten:
ps -e | grep $(xdotool getwindowpid $(xdotool getwindowfocus)) | grep -v grep | awk '{print $4}'
oder:
cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm
Einfachere (IMO) als OP-Lösung (dh ohne
ps
,grep
undawk
), die Prozessnamen zu erhalten:Oder wenn Sie ein Zeilenende wünschen:
quelle
cat /proc/
ist nett (und vermutlich auch schneller, da nicht die gesamteps
Ausgabe abgehackt werden muss). Ich habe es dem fraglichen Lösungskörper hinzugefügt, damit zukünftige Benutzer es finden können.Versuchen Sie den Befehl xwininfo, http://www.xfree86.org/4.2.0/xwininfo.1.html . Er gibt definitiv den Fenstertitel zurück.
X hat ihm eine ID zugewiesen und wird die übergeordnete PID des Fensters. Vorausgesetzt, dass Gnome NET_WM_PID unterstützt, wie in diesem Patch aus dem Jahr 2001 angegeben, http://mail.gnome.org/ archives / gtk-devel-list / 2001-October / msg00238.html , dann können wir diesen Beitrag unter http://www.mail-archive.com/[email protected]/msg05809.html lesen , in dem der Autor schreibt: a kurzes C-Programm zum Konvertieren von Window ID in PID, voila.
quelle
xwininfo
dass ich das benötigte Fenster manuell auswählen muss. Ich hoffte auf einen Weg, das fokussierte Fenster von der Bash zu bekommen.Ich weiß, dass die Frage alt ist, aber ich denke,
xprop
dass hier auch erwähnt werden sollte. Es ist unter X leicht verfügbar. Es kann entweder auf interaktive Weise verwendet werden:xprop
und wählen Sie das Fenster , das Sie mit der Maus - Cursor möchten, dannWM_NAME
gibt dir den Titel des Fensters,_NET_WM_PID
gibt die PIDOder Sie können direkt
xprop
anhand der Übergabe-id
oder der-name
Option bestimmen, welches Fenster Sie benötigen . Mitawk
können Sie die aktive Fenster-ID abrufen und so weitergebenxprop
(von hier aus ):Schließlich können Sie mit Your Favourite Tool ™ (z. B.
grep
odersed
) die erforderlichen Werte auslesen. Zum Beispiel fürpid
die Ausgabe des obigen Befehls kann weitergeleitet werden ansed
:sed -nE 's/^_NET_WM_PID.*= ([0-9]+)/\1/p'
quelle