Ich denke, xdotool getactivewindowist was du willst - hast du es versucht?
Es druckt die Fenster-ID (aus dem Fensterstapel), wenn in der Befehlszeile keine weiteren xdotool-Unterbefehle vorhanden sind.
Legt xdotool getactivewindow getwindowpidbeispielsweise getactivewindowdie ID auf dem Fensterstapel ab und getwindowpidverwendet diese ID zum Abfragen der PID. Beachten Sie, dass beim Ausführen dieses Befehls im Terminal immer die ID des Terminalfensters zurückgegeben wird, da es aktiv ist. Um die ID aus einem anderen Fenster zu erhalten, versuchen sleep 2s && xdotool getactivewindowSie, das gewünschte Fenster innerhalb von zwei Sekunden auszuwählen.
Bei der Verwendung xdotoolmit anderen Tools für die Fensterhandhabung treten Komplikationen auf :
Während die xdotoolAusgabe Dezimalzahlen für Windwo-IDs verwendet, verwenden die meisten anderen Tools Hexadezimalzahlen für die Ausgabe (sie unterstützen normalerweise beide für die Eingabe).
Wenn Sie beispielsweise ein Fenster mit finden xdotool getactivewindow, finden Sie das Ergebnis nicht in der Ausgabe von xwininfo -root -tree, in der alle Fenster aufgelistet sind. Es muss zuerst in eine Hexadezimalzahl konvertiert werden:
Ich habe versucht, xdotool getactivewindowBefehl und Problem ist, dass es nicht Ergebnis im Terminal druckt. Das Ergebnis wird im Fensterstapel gespeichert. Dieser Befehl gibt eine Nummer aus, aber es ist keine Fenster-ID (z. B. 35651588)
Mariusz
Warum ist 35651588 Ihrer Meinung nach nicht die Fenster-ID?
Volker Siegel
Ja, ich denke, dass 35651588 nicht die Fenster-ID ist. Sie können die Windows-ID mit dem Befehl xwininfo anzeigen, z. B. xwininfo -root -tree- Dieser Befehl druckt alle Fenster und Fenster haben andere Arten der Nummerierung.
Mariusz
1
xwininfozeigt die Fenster-ID als Hexadezimalzahlen an und xdotool zeigt Dezimalzahlen an, aber es ist genauso.
xdotool getactivewindow
Befehl und Problem ist, dass es nicht Ergebnis im Terminal druckt. Das Ergebnis wird im Fensterstapel gespeichert. Dieser Befehl gibt eine Nummer aus, aber es ist keine Fenster-ID (z. B. 35651588)xwininfo -root -tree
- Dieser Befehl druckt alle Fenster und Fenster haben andere Arten der Nummerierung.xwininfo
zeigt die Fenster-ID als Hexadezimalzahlen an und xdotool zeigt Dezimalzahlen an, aber es ist genauso.xwininfo -root -tree | grep 2200004 0x2200004 "user@host:~": ("gnome-terminal" "Gnome-terminal") 1680x974+0+26 +0+51
Dieser Befehl funktioniert bei mir
xdotool Version 3.20160805.1
quelle
xdotool getactivewindow key F5
sollte das gleiche Ergebnis produzieren