EnglischFranzösischSpanisch

OnWorks-Favicon

xdotool - Online in der Cloud

Führen Sie xdotool im kostenlosen OnWorks-Hosting-Provider über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl xdotool, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


xdotool - Befehlszeilen-X11-Automatisierungstool

ZUSAMMENFASSUNG


xdotool cmd Argumente...

Notation: Einige Dokumentation verwendet [Fenster] um ein optionales Fensterargument zu bezeichnen. Dies
case bedeutet, dass das Argument, wenn es nicht vorhanden ist, standardmäßig auf "%1" gesetzt wird. Siehe "WINDOW STACK" für
was "%1" bedeutet.

BESCHREIBUNG


xdotool lässt Sie programmgesteuert (oder manuell) Tastatureingaben und Mausaktivitäten simulieren,
Verschieben und Ändern der Größe von Fenstern usw. Dies geschieht mit der XTEST-Erweiterung von X11 und anderen Xlib
Funktionen.

Es gibt eine gewisse Unterstützung für Extended Window Manager Hints (auch bekannt als EWMH oder NetWM). Siehe die
Weitere Informationen finden Sie im Abschnitt "HINWEISE ZUM ERWEITERTEN WINDOW MANAGER".

KEYBOARD BEFEHLE


Haupt [Optionen] Tastenanschlag [Tastenanschlag ...]
Option:

--Fenster Fenster
Senden Sie Tastenanschläge an eine bestimmte Fenster-ID. Sie können "WINDOW STACK"-Referenzen verwenden
wie "%1" und "%@" hier. Wenn ein Fensterstapel vorhanden ist, ist "%1" der Standard,
andernfalls wird das aktuelle Fenster verwendet.

Siehe auch: "SENDEVENT NOTES" und "WINDOW STACK"

--clearmodifiers
Löschen Sie Modifikatoren, bevor Sie Tastenanschläge senden. Siehe CLEARMODIFIERS unten.

--verzögern Millisekunden
Verzögerung zwischen Tastenanschlägen. Der Standardwert ist 12 ms.

Geben Sie einen bestimmten Tastendruck ein. Beispiele sind "alt+r", "Control_L+J", "ctrl+alt+n",
"Rücktaste".

Im Allgemeinen funktioniert jeder gültige X Keysym-String. Mehrere Tasten werden durch '+' getrennt.
Es gibt Aliase für "alt", "ctrl", "shift", "super" und "meta", die alle Foo_L zugeordnet sind.
wie Alt_L und Control_L usw.

In Fällen, in denen Ihre Tastatur nicht die gewünschte Taste hat, kann xdotool
findet automatisch einen unbenutzten Schlüsselcode und verwendet diesen, um den Schlüssel einzugeben.

In Bezug auf "COMMAND CHAINING" verbraucht dieser Befehl den Rest der
Argumente oder bis ein neuer xdotool-Befehl angezeigt wird, da keine xdotool-Befehle vorhanden sind
gültige Tastenanschläge.

Beispiel: Senden Sie den Tastendruck "F2"
xdotool-Taste F2

Beispiel: Senden Sie 'a' mit einem Akzent darüber (nicht auf englischen Tastaturen, aber funktioniert trotzdem
mit xdotool)
xdotool-Schlüssel Aacute

Beispiel: Strg+l und dann BackSpace als separate Tastenanschläge senden:
xdotool-Taste Strg+l BackSpace

Beispiel: Strg+c an alle Fenster senden, die dem Titel 'gdb' entsprechen (Siehe "BEFEHLSKETTE")
xdotool search --name gdb-Taste Strg+c

keydown [Optionen] Tastenanschlag
Wie oben, außer dass nur Keydown-Ereignisse (Drücken) gesendet werden.

Taste auf Tastenanschlag
Wie oben, außer dass nur Keyup (Release)-Ereignisse gesendet werden.

tippe [Optionen] etwas zu tippe
Option:

--Fenster fensterid
Senden Sie Tastenanschläge an eine bestimmte Fenster-ID. Siehe "SENDEVENT-NOTIZEN" unten. Der Standard,
wenn kein Fenster angegeben ist, hängt vom Fensterstapel ab. Wenn der Fensterstapel leer ist
das aktuelle Fenster wird mit XTEST eingegeben. Andernfalls ist der Standardwert "%1" (siehe
"FENSTERSTACK").

--verzögern Millisekunden
Verzögerung zwischen Tastenanschlägen. Der Standardwert ist 12 ms.

--clearmodifiers
Löschen Sie Modifikatoren, bevor Sie Tastenanschläge senden. Siehe CLEARMODIFIERS unten.

Tippen Sie, als ob Sie es eingegeben hätten. Unterstützt Zeilenumbrüche und Tabulatoren (ASCII-Neuzeilen und Tabulatoren). Jeder
Tastenanschlag wird durch eine Verzögerung von der --verzögern .

In Bezug auf "COMMAND CHAINING" verbraucht dieser Befehl den Rest der
Argumente und gibt sie ein. Das heißt, nach 'type' können keine Befehle verkettet werden.

Beispiel: 'Hallo Welt!' eingeben Du würdest:
xdotool-Typ 'Hallo Welt!'

MAUS BEFEHLE


Mausbewegung [Optionen] x y OR 'wiederherstellen'
Bewegen Sie die Maus zu den spezifischen X- und Y-Koordinaten auf dem Bildschirm.

Sie können die Maus an die vorherige Position bewegen, wenn Sie 'Wiederherstellen' anstelle von an . angeben
X- und Y-Koordinate. Die Wiederherstellung funktioniert nur, wenn Sie zuvor in diese verschoben wurden
Befehlsaufruf. Außerdem funktioniert es nicht mit der Option --window.

Um beispielsweise auf die linke obere Ecke des Bildschirms zu klicken und die Maus auf das
ursprüngliche Position, bevor Sie es verschoben haben, verwenden Sie Folgendes:
xdotool mousemove 0 0 klicken 1 mousemove wiederherstellen

--Fenster FENSTER
Geben Sie ein Fenster an, zu dem Sie sich relativ bewegen möchten. Die Koordinaten 0,0 befinden sich oben links im
Fenster, das Sie wählen.

Hier sind "WINDOW STACK"-Referenzen gültig, z. B. %1 und %@. Mit %@
macht wohl keinen sinn.

--Bildschirm SCREEN
Bewegen Sie die Maus auf den angegebenen Bildschirm, zu dem Sie wechseln möchten. Dies ist nur nützlich, wenn Sie haben
mehrere Bildschirme und verwenden KEIN Xinerama.

Der Standard ist der aktuelle Bildschirm. Wenn Sie --window angeben, ist das Flag --screen
ignoriert.

--Polar
Verwenden Sie Polarkoordinaten. Dies macht 'x' zu einem Winkel (in Grad, 0-360 usw.) und 'y'
die Distanz.

Die Drehung beginnt bei 'oben' (0 Grad) und dreht sich im Uhrzeigersinn: 90 = rechts, 180 = unten,
270 = links.

Der Ursprung ist standardmäßig die Mitte des aktuellen Bildschirms. Wenn Sie a angeben
--window, dann ist der Ursprung die Mitte dieses Fensters.

--clearmodifiers
Siehe CLEARMODIFIERS

--sync
Warten Sie nach dem Senden der Mausbewegungsanforderung, bis die Maus tatsächlich bewegt wird. Wenn
Es ist keine Bewegung erforderlich, wir werden nicht warten. Dies ist nützlich für Skripte, die abhängig sind
auf Aktionen, die abgeschlossen sind, bevor Sie fortfahren.

Hinweis: Wir warten, bis sich die Maus überhaupt bewegt, nicht unbedingt, dass sie es tatsächlich ist
erreicht Ihr gewünschtes Ziel. Einige Anwendungen sperren den Mauszeiger auf
bestimmte Bereiche des Bildschirms, daher ist es besser, auf eine Bewegung zu warten
allgemeinen Fall als das Warten auf ein bestimmtes Ziel.

mousemove_relative [Optionen] x y
Bewegen Sie die Maus um XY-Pixel relativ zur aktuellen Position des Mauszeigers.

--Polar
Verwenden Sie Polarkoordinaten. Dies macht 'x' zu einem Winkel (in Grad, 0-360 usw.) und 'y'
die Distanz.

Die Drehung beginnt bei 'oben' (0 Grad) und dreht sich im Uhrzeigersinn: 90 = rechts, 180 = unten,
270 = links.

--sync
Warten Sie nach dem Senden der Mausbewegungsanforderung, bis die Maus tatsächlich bewegt wird. Wenn
Es ist keine Bewegung erforderlich, wir werden nicht warten. Dies ist nützlich für Skripte, die abhängig sind
auf Aktionen, die abgeschlossen sind, bevor Sie fortfahren.

Beachten Sie, dass wir warten, bis sich die Maus überhaupt bewegt, nicht unbedingt, dass sie es tatsächlich ist
erreicht Ihr gewünschtes Ziel. Einige Anwendungen sperren den Mauszeiger auf
bestimmte Bereiche des Bildschirms, daher ist es besser, auf eine Bewegung zu warten
allgemeinen Fall als das Warten auf ein bestimmtes Ziel.

--clearmodifiers
Siehe CLEARMODIFIERS

klicken Sie auf [Optionen] Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
Senden Sie einen Klick, d. h. ein Mousedown gefolgt von Mouseup für die angegebene Schaltfläche mit a
kurze Verzögerung zwischen den beiden (derzeit 12ms).

Tasten sind im Allgemeinen so zugeordnet: Linke Maus ist 1, mittlere ist 2, rechte ist 3, Rad nach oben ist
4, Rad unten ist 5.

--clearmodifiers
Löschen Sie Modifikatoren, bevor Sie darauf klicken. Siehe CLEARMODIFIERS unten.

--wiederholen WIEDERHOLEN
Geben Sie an, wie oft geklickt werden soll. Der Standardwert ist 1. Für einen Doppelklick verwenden Sie '--repeat
2'

--verzögern MILLISEKUNDEN
Geben Sie in Millisekunden an, wie lange die Klicks verzögern sollen. Diese Option ist nicht
verwendet, wenn die --wiederholen Flag ist auf 1 (Standard) gesetzt.

--Fenster FENSTER
Geben Sie ein Fenster an, an das ein Klick gesendet werden soll. Siehe "SENDEVENT NOTES" unten für Vorbehalte. Verwendet
die aktuelle Mausposition beim Generieren des Ereignisses.

Die Vorgabe, wenn kein Fenster angegeben ist, hängt vom Fensterstapel ab. Wenn das Fenster
Stack leer ist das aktuelle Fenster wird mit XTEST eingegeben. Andernfalls ist die Standardeinstellung
ist "%1" (siehe "WINDOW STACK").

Maus nach unten [Optionen] Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
Das gleiche wie klicken Sie auf, außer dass nur ein Maus-Down gesendet wird.

Maus hoch [Optionen] Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
Das gleiche wie klicken Sie auf, außer dass nur eine Maus hoch gesendet wird.

getmouselocation [--Hülse]
Gibt die x-, y-, Bildschirm- und Fenster-ID des Mauszeigers aus. Bildschirmnummern werden
ungleich null, wenn Sie über mehrere Monitore verfügen und Xinerama nicht verwenden.

--Schale
Dadurch können Sie die Shell-Ausgabedaten von getmouselocation auswerten. Beispiel:

% xdotool getmouselocation --shell
X = 880
Y = 443
BILDSCHIRM=0
FENSTER=16777250

% eval $(xdotool getmouselocation --shell)
% Echo $X,$Y
714,324

behavior_screen_edge [Optionen] woher Befehl ...
Binden Sie eine Aktion an Ereignisse, wenn die Maus den Rand oder die Ecke des Bildschirms berührt.

Optionen sind:

--verzögern MILLISEKUNDEN
Verzögerung in Millisekunden, bevor der Befehl ausgeführt wird. Damit können Sie ein
gegebene Kante oder Ecke für eine kurze Zeit gehalten werden, bevor Ihr Befehl ausgeführt wird.
Wenn Sie die Kante oder Ecke verlassen, bevor die Verzögerung abgelaufen ist, wird die Zeit zurückgesetzt.

- Ruhe MILLISEKUNDEN
Verzögerung in Millisekunden, bevor der nächste Befehl ausgeführt wird. Dies hilft zu verhindern
Ausführen Ihres Befehls versehentlich zusätzliche Male; besonders nützlich, wenn Sie ein
sehr kurz --delay (wie der Standardwert von 0).

Ereigniszeitleiste

* Maus trifft auf eine Kante oder Ecke.
* Wenn die Verzögerung ungleich Null ist, muss die Maus in dieser Kante oder Ecke bleiben, bis die Verzögerungszeit abgelaufen ist.
* Wenn noch in der Kante/Ecke, triggern.
* Wenn Ruhe ungleich Null ist, gibt es eine Abkühlphase, in der die nächste
Auslöser kann nicht auftreten

Gültige 'wo'-Werte sind:

links
oben links
Top
oben rechts
Recht
unten links
Boden
unten rechts

Beispiele:
# Aktiviere google-chrome, wenn du die Maus in die untere linke Ecke bewegst:
xdotool behave_screen_edge unten-links \
search --class google-chrome windowactivate

# Gehe zum nächsten Arbeitsbereich (rechts). Funktioniert in GNOME (Metacity und Compiz)
xdotool behave_screen_edge --delay 500 Taste unten rechts XF86Forward

# Firefox aktivieren und in einem neuen Tab eine Websuche nach Text in Ihrer Zwischenablage durchführen
xdotool behave_screen_edge --delay 1000 oben links \
search --classname Navigator \
windowactivate --sync key --delay 250 Strg+t Strg+k Strg+v Return

FENSTER BEFEHLE


search [Optionen] Anleitungen
Suchen Sie nach Fenstern mit Titeln, Namen oder Klassen mit einem Muster für reguläre Ausdrücke.
Die Ausgabe ist eine durch Zeilen getrennte Liste von X-Fensterkennungen. Wenn Sie "COMMAND . verwenden
CHAINING", schreibt der Suchbefehl nur dann Fenster-IDs in stdout, wenn es der letzte ist
(oder nur) Befehl in der Kette; ansonsten ist es stumm.

Das Ergebnis wird für zukünftige verkettete Befehle im Fensterstapel gespeichert. Siehe "FENSTER
STACK" und "COMMAND CHAINING" für Details.

Die Standardoptionen sind "--name --class --classname" (es sei denn, Sie geben eine an oder
mehr von --name --class oder --classname).

Die verfügbaren Optionen sind:

--Klasse
Match gegen die Fensterklasse.

--Klassenname
Vergleich mit dem Klassennamen des Fensters.

--maximale Tiefe N
Legen Sie die Rekursions-/Kindsuchtiefe fest. Der Standardwert ist -1, was unendlich bedeutet. 0 bedeutet nein
Tiefe, werden nur Root-Fenster durchsucht. Wenn Sie nur Fenster der obersten Ebene möchten, setzen Sie
maxdepth von 1 (oder 2, je nachdem, wie Ihr Fenstermanager Dekorationen vornimmt).

--Name
Vergleich mit dem Fensternamen. Dies ist die gleiche Zeichenfolge, die im angezeigt wird
Titelleiste des Fensters.

--nursichtbar
Nur sichtbare Fenster in den Ergebnissen anzeigen. Dies bedeutet diejenigen mit Kartenstatus
IstSichtbar.

--pid PID
Übereinstimmung mit Fenstern, die zu einer bestimmten Prozess-ID gehören. Dies funktioniert möglicherweise nicht für einige X
Anwendungen, die diese Metadaten nicht in ihren Fenstern festlegen.

--Bildschirm N
Wählen Sie Fenster nur auf einem bestimmten Bildschirm aus. Standardmäßig werden alle Bildschirme durchsucht. Nur
sinnvoll, wenn Sie über mehrere Displays verfügen und Xinerama nicht verwenden.

- Desktop N
Passen Sie nur Fenster auf einem bestimmten Desktop an. 'N' ist eine Zahl. Die Standardeinstellung ist die Suche
alle Desktops.

--Grenze N
Beenden Sie die Suche, nachdem Sie N passende Fenster gefunden haben. Die Angabe eines Limits hilft
Beschleunigen Sie Ihre Suche, wenn Sie nur wenige Ergebnisse wünschen.

Der Standardwert ist kein Suchlimit (entspricht '--limit 0')

--Titel
VERALTET. Siehe --name.

--alle
Fordern Sie, dass alle Bedingungen erfüllt sind. Zum Beispiel:

xdotool search --all --pid 1424 --name "Hello World"

Dies wird nur mit Fenstern übereinstimmen, die "Hello World" als Namen haben und im Besitz von . sind
PID 1424.

--irgendein
Übereinstimmung mit Fenstern, die einer beliebigen Bedingung entsprechen (logisch 'oder'). Dies ist standardmäßig aktiviert.
Beispielsweise:

xdotool search --any --pid 1424 --name "Hello World"

Dies entspricht allen Fenstern im Besitz von pid 1424 oder Fenstern mit dem Namen "Hello World".

--sync
Blockieren, bis Ergebnisse vorliegen. Dies ist nützlich, wenn Sie ein
Anwendung warten möchten, bis das Anwendungsfenster sichtbar ist. Zum
Beispiel:

Google Chrome &
xdotool search --sync --onlyvisible --class "google-chrome"

Fenster auswählen
Rufen Sie die Fenster-ID (für einen Client) ab, indem Sie darauf klicken. Nützlich für Skriptabfragen
ihr Menschen für welches Fenster ihr handeln sollt. Schließen Sie beispielsweise ein Fenster, indem Sie darauf klicken:

xdotool selectwindow windowkill

verhalten Fenster Aktion Befehl ...
Binden Sie eine Aktion an ein Ereignis in einem Fenster. Auf diese Weise können Sie zusätzliche xdotool-Befehle ausführen
wenn ein übereinstimmendes Ereignis auftritt.

Der Befehl, der als Ergebnis des Verhaltens ausgeführt wird, wird ausgeführt, wobei %1 das Fenster ist, das
handelte danach. Beispiele folgen nach der Ereignisliste.

Gültige Ereignisse sind:

Maus-Eingabe
Wird ausgelöst, wenn die Maus ein Fenster betritt. Dies ist vergleichbar mit 'Mouse Over'-Ereignissen in
Javascript, falls das hilft.

Maus verlassen
Wird ausgelöst, wenn die Maus ein Fenster verlässt. Dies ist das Gegenteil von 'Maus-Eingabe'

Mausklick
Wird ausgelöst, wenn die Maus geklickt wird. Insbesondere beim Loslassen der Maustaste.

mit dem Fokus auf
Wird ausgelöst, wenn das Fenster den Eingabefokus erhält.

verwischen
Wird ausgelöst, wenn das Fenster den Fokus verliert.

Beispiele:

# Drucken Sie die Cursorposition, wenn die Maus ein aktuell sichtbares . betritt
# Fenster:
xdotool search --onlyvisible. Verhalten Sie sich %@ Maus-Geben Sie getmouselocation

# Drucken Sie den Fenstertitel und die PID, wenn ein Xterm den Fokus erhält
xdotool search --class xterm behavior %@ focus getwindowname getwindowpid

# Fokus-folgt-Maus emulieren
xdotool-Suche. Verhalten %@ Maus-Fensterfokus eingeben

getwindowpid [Fenster]
Geben Sie die PID aus, die ein bestimmtes Fenster besitzt. Dies erfordert Aufwand vom Anwendungsbesitzer
ein Fenster und funktioniert möglicherweise nicht für alle Fenster. Dies verwendet die _NET_WM_PID-Eigenschaft des
Fenster. Weitere Informationen finden Sie unten unter "HINWEISE FÜR ERWEITERTE WINDOW MANAGER".

Wenn kein Fenster angegeben ist, ist der Standardwert '%1'. Wenn sich keine Fenster auf dem Stack befinden, dann dies
ist ein Fehler. Weitere Informationen finden Sie unter "WINDOW STACK".

Beispiel: Finden Sie die PID für alle xterms:
xdotool search --class xterm getwindowpid %@

Fenstername abrufen [Fenster]
Geben Sie den Namen eines bestimmten Fensters aus, auch als Titel bekannt. Dies ist der angezeigte Text
in der Titelleiste des Fensters von Ihrem Fenstermanager.

Wenn kein Fenster angegeben ist, ist der Standardwert '%1'. Wenn sich keine Fenster auf dem Stack befinden, dann dies
ist ein Fehler. Weitere Informationen finden Sie unter "WINDOW STACK".

getwindowgeometry [Optionen] [Fenster]
Geben Sie die Geometrie (Lage und Position) eines Fensters aus. Die Werte umfassen: x, y,
Breite, Höhe und Bildschirmnummer.

--Schale
Ausgabewerte, die für 'eval' in einer Shell geeignet sind.

getwindowfocus [-F]
Druckt die Fenster-ID des aktuell fokussierten Fensters. Speichert das Ergebnis im Fenster
Stapel. Weitere Informationen finden Sie unter "WINDOW STACK".

Wenn das aktuelle Fenster keine WM_CLASS-Eigenschaft hat, gehen wir davon aus, dass es sich nicht um ein normales Top-Level-Fenster handelt
Fenster und durchqueren die Eltern, bis wir ein Fenster mit einem WM_CLASS-Satz finden und
Geben Sie diese Fenster-ID zurück.

Wenn Sie wirklich möchten, dass das Fenster gerade den Fokus hat und es egal ist, ob es ein
WM_CLASS-Einstellung, dann verwenden Sie 'getwindowfocus -f'

Fenstergröße [Optionen] [Fenster] Breite Höhe
Legen Sie die Fenstergröße des angegebenen Fensters fest. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung.
Weitere Informationen finden Sie unter "WINDOW STACK" und "COMMAND CHAINING".

Prozentangaben gelten für Breite und Höhe. Sie sind relativ zur Geometrie des
Bildschirm das Fenster eingeschaltet ist. Um beispielsweise ein Fenster auf die volle Bildschirmbreite zu setzen,
aber halbe Höhe:

xdotool-Fenstergröße I 100 % 50 %

Prozentsätze sind mit --usehints gültig und bedeuten immer noch die Pixelbreite relativ zum
Bildschirmgröße.

Die verfügbaren Optionen sind:

--usehinweise
Verwenden Sie Hinweise zur Fenstergröße (sofern verfügbar), um Breite und Höhe festzulegen. Das ist nützlich
an Terminals zum Einstellen der Größe basierend auf Textzeilen/-spalten anstelle von Pixeln.

--sync
Warten Sie nach dem Senden der Fenstergrößenanforderung, bis die Fenstergröße tatsächlich geändert wurde.
Wenn keine Änderung erforderlich ist, werden wir nicht warten. Dies ist nützlich für Skripte, die
hängen davon ab, dass Aktionen abgeschlossen sind, bevor Sie fortfahren.

Hinweis: Da viele Fenstermanager die ursprüngliche Größenänderung ignorieren oder ändern können
Anfrage, wir warten, bis sich die Größe von der Originalgröße ändert, nicht notwendig
auf die gewünschte Größe.

Beispiel: Um ein Terminal auf 80x24 Zeichen einzustellen, würden Sie Folgendes verwenden:
xdotool windowssize --usehints some_windowid 80 24

Fensterbewegung [Optionen] [Fenster] x y
Verschieben Sie das Fenster an die angegebene Position. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Sehen
"WINDOW STACK" und "COMMAND CHAINING" für weitere Details.

Wenn die angegebene x-Koordinate buchstäblich 'x' ist, wird die aktuelle x-Position des Fensters
unverändert sein. Das gleiche gilt für 'y'.

Beispiele:

xdotool getactivewindow windowmove 100 100 # Verschiebt auf 100,100
xdotool getactivewindow windowmove x 100 # Verschiebt nach x,100
xdotool getactivewindow windowmove 100 y # Verschiebt nach 100,y
xdotool getactivewindow windowmove 100 y # Verschiebt nach 100,y

--sync
Warten Sie nach dem Senden der Fensterverschiebungsanforderung, bis das Fenster tatsächlich verschoben wurde. Wenn
Es ist keine Bewegung erforderlich, wir werden nicht warten. Dies ist nützlich für Skripte, die abhängig sind
auf Aktionen, die abgeschlossen sind, bevor Sie fortfahren.

--relativ
Machen Sie eine Bewegung relativ zur aktuellen Fensterposition.

Fensterfokus [Optionen] [Fenster]
Fokussieren Sie ein Fenster. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Siehe "WINDOW STACK" und
"Befehlskette" für weitere Details.

Verwendet XSetInputFocus, das von einigen Fenstermanagern oder Programmen ignoriert werden kann.

--sync
Warten Sie nach dem Senden der Fensterfokusanforderung, bis das Fenster tatsächlich fokussiert ist.
Dies ist nützlich für Skripte, die davon abhängen, dass Aktionen vor dem Verschieben abgeschlossen werden
auf.

Fensterkarte [Optionen] [Fenster]
Ordnen Sie ein Fenster zu. In der X11-Terminologie bedeutet das Zuordnen eines Fensters, es auf dem . sichtbar zu machen
Bildschirm. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Siehe "WINDOW STACK" und "COMMAND
KETTE" für weitere Details.

--sync
Nachdem Sie die Fensterzuordnung angefordert haben, warten Sie, bis das Fenster tatsächlich zugeordnet ist
(sichtbar). Dies ist nützlich für Skripte, die davon abhängen, dass Aktionen abgeschlossen werden
bevor Sie weitermachen.

Fenster minimieren [Optionen] [Fenster]
Minimieren Sie ein Fenster. In der X11-Terminologie wird dies als „Iconify“ bezeichnet. Wenn kein Fenster ist
angegeben, %1 ist die Standardeinstellung. Weitere Informationen finden Sie unter "WINDOW STACK" und "COMMAND CHAINING".

--sync
Nachdem Sie das Fenster minimieren angefordert haben, warten Sie, bis das Fenster tatsächlich minimiert ist.
Dies ist nützlich für Skripte, die davon abhängen, dass Aktionen vor dem Verschieben abgeschlossen werden
auf.

Fensterheber [window_id=%1]
Heben Sie das Fenster an die Spitze des Stapels. Dies funktioniert möglicherweise nicht bei allen Window-Managern. Wenn
kein Fenster wird angegeben, %1 ist die Vorgabe. Siehe "WINDOW STACK" und "COMMAND CHAINING" für
mehr Details.

Fensterheber [source_window] Zielfenster
Ein Fenster neu überordnen. Das bewegt die source_window ein Kinderfenster sein von
Zielfenster. Wenn keine Quelle angegeben wird, ist %1 die Standardeinstellung. Fenster "FENSTERSTAPEL"
Referenzen (wie %1) gelten für beide source_window und Zielfenster Weitere Informationen finden Sie auch in den
"WINDOW STACK" und "COMMAND CHAINING" für weitere Details.

Fenster schließen [Fenster]
Schließen Sie ein Fenster. Diese Aktion zerstört das Fenster, versucht aber nicht, das zu töten
Client, der es kontrolliert. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Siehe "FENSTERSTACK"
und "COMMAND CHAINING" für weitere Details.

Fensterkiller [Fenster]
Töte ein Fenster. Diese Aktion zerstört das Fenster und beendet den Client, der es kontrolliert.
Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Siehe WINDOW STACK und "COMMAND CHAINING" für
mehr Details.

windowsunmap [Optionen] [window_id=%1]
Heben Sie die Zuordnung eines Fensters auf, sodass es nicht mehr auf Ihrem Bildschirm angezeigt wird. Wenn kein Fenster angegeben ist, %1
ist die Vorgabe. Siehe "WINDOW STACK" und "COMMAND CHAINING" für weitere Details.

--sync
Nachdem Sie das Aufheben der Fensterzuordnung angefordert haben, warten Sie, bis die Zuordnung des Fensters tatsächlich aufgehoben wurde
(versteckt). Dies ist nützlich für Skripte, die davon abhängen, dass Aktionen zuvor abgeschlossen wurden
weitergehen.

set_window [Optionen] [windowid=%1]
Legen Sie Eigenschaften für ein Fenster fest. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Siehe "FENSTER
STACK" und "COMMAND CHAINING" für weitere Details.

Option:

--Name neuer Name
Setze Fenster WM_NAME (normalerweise den Fenstertitel)

--Symbolname neuerIconname
Setze Fenster WM_ICON_NAME (normalerweise der Fenstertitel, wenn minimiert)

--Rolle neue Rolle
Fenster WM_WINDOW_ROLE einstellen

--Klassenname neuerKlassenname
Fensterklassennamen festlegen (nicht zu verwechseln mit Fensterklasse)

--Klasse neue Klasse
Fensterklasse festlegen (nicht zu verwechseln mit Fensterklassenname)

--overrideredirect Wert
Setzen Sie den override_redirect-Wert des Fensters. Dieser Wert ist ein Hinweis an den Fenstermanager
ob es verwaltet werden soll oder nicht. Wenn der Umleitungswert 0 ist, dann ist die
Window Manager wird Grenzen ziehen und dieses Fenster normal behandeln. Wenn der Wert ist
1 ignoriert der Fenstermanager dieses Fenster.

Wenn Sie diesen Wert ändern, wird Ihr Fenstermanager die Änderung möglicherweise erst bemerken, wenn die
Fenster wird erneut zugeordnet, daher möchten Sie möglicherweise 'windowunmap' und 'windowmap' an . ausgeben
Machen Sie es dem Fenstermanager zur Kenntnis.

DESKTOP UND FENSTER BEFEHLE


Diese Befehle folgen dem EWMH-Standard. Siehe Abschnitt "HINWEISE ZUM ERWEITERTEN WINDOW MANAGER"
.

Fenster aktivieren [Optionen] [Fenster]
Aktivieren Sie das Fenster. Dieser Befehl unterscheidet sich von windowfocus: wenn das Fenster eingeschaltet ist
einen anderen Desktop, wechseln wir zu diesem Desktop. Es verwendet auch eine andere Methode für
das Fenster hochfahren. Ich empfehle, diesen Befehl auszuprobieren, bevor Sie Windowfocus verwenden, da
es wird auf mehr Fenstermanagern funktionieren.

Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Siehe "WINDOW STACK" und "COMMAND CHAINING"
für weitere Informationen an.

--sync
Warten Sie nach dem Senden der Fensteraktivierung, bis das Fenster tatsächlich aktiviert ist.
Dies ist nützlich für Skripte, die davon abhängen, dass Aktionen vor dem Verschieben abgeschlossen werden
auf.

getactivewindow
Ausgabe des aktuell aktiven Fensters. Dieser Befehl ist oft zuverlässiger als
getwindowfocus. Das Ergebnis wird im Fensterstapel gespeichert. Siehe "WINDOW STACK" für mehr
Details.

set_num_desktops Anzahl
Ändert die Anzahl der Desktops oder Arbeitsbereiche.

get_num_desktops
Ausgabe der aktuellen Anzahl von Desktops.

get_desktop_viewport [--Hülse]
Melden Sie die Position des aktuellen Ansichtsfensters. Wenn --shell angegeben ist, ist die Ausgabe freundlich für
Shell evalu.

Bei einigen Fenstermanagern werden manchmal Ansichtsfenster anstelle von 'virtuellen Desktops' verwendet. EIN
viewport ist einfach eine Ansicht auf einem sehr großen Desktop-Bereich.

set_desktop_viewport x y
Verschieben Sie das Ansichtsfenster an die angegebene Position. Nicht alle Anfragen werden befolgt - einige
Fenstermanager befolgen nur Anforderungen, die sich an den Grenzen des Arbeitsbereichs ausrichten, wie z
Bildschirmgröße.

Wenn Ihr Bildschirm beispielsweise 1280 x 800 groß ist, können Sie zum zweiten Arbeitsbereich wechseln, indem Sie Folgendes tun:
xdotool set_desktop_viewport 1280 0

set_desktop [Optionen] Desktop_Nummer
Ändern Sie die aktuelle Ansicht auf den angegebenen Desktop.

--relativ
Verwenden Sie relative Bewegungen anstelle von absoluten. Dadurch können Sie sich relativ zum
aktuellen Desktop.

get_desktop
Ausgabe des aktuellen Desktops in der Ansicht.

set_desktop_for_window [Fenster] Desktop_Nummer
Verschieben Sie ein Fenster auf einen anderen Desktop. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Sehen
"WINDOW STACK" und "COMMAND CHAINING" für weitere Details.

get_desktop_for_window [Fenster]
Ausgabe des Desktops, der aktuell das angegebene Fenster enthält. Verschieben Sie ein Fenster in ein anderes
Schreibtisch. Wenn kein Fenster angegeben ist, ist %1 die Standardeinstellung. Siehe WINDOW STACK und "COMMAND"
KETTE" für weitere Details.

SONSTIGES BEFEHLE


exec [Optionen] Befehl [...]
Führen Sie ein Programm aus. Dies ist oft nützlich in Kombination mit behave_screen_edge to do
Dinge wie das Sperren Ihres Bildschirms.

Option:

--sync
Blockieren, bis der untergeordnete Prozess beendet wird. Der Exit-Status des untergeordneten Prozesses wird dann übergeben
zum übergeordneten Prozess (xdotool), der ihn kopiert.

Beispiele:
# Sperren Sie den Bildschirm, wenn sich die Maus in der oberen rechten Ecke befindet
xdotool behave_screen_edge --delay 1000 oben rechts \
exec gnome-screensaver-command --lock
# Ersetzen Sie 'xscreensaver-command -lock', wenn Sie dieses Programm verwenden.

# Folgendes kann die Maus nicht bewegen, da wir '--sync' verwenden und
# /bin/false verlässt ungleich null:
xdotool exec --sync /bin/false Mausbewegung 0 0

# Dies gelingt jedoch, da wir --sync für den exec-Befehl nicht verwenden.
xdotool Exec /bin/false Mausbewegung 0 0

Schlafstörungen Sekunden
Schlafen Sie für einen bestimmten Zeitraum. Hier sind Sekundenbruchteile (wie 1.3 oder 0.4) gültig.

SKRIPTE


xdotool kann eine Liste von Befehlen über stdin oder eine Datei lesen, wenn Sie möchten. Ein Skript schlägt fehl
wenn ein Befehl fehlschlägt.

Ehrlich gesagt ist der 'Skript'-Modus nicht vollständig ausgearbeitet und kann unter Ihren Erwartungen liegen. Wenn
Wenn Sie Vorschläge haben, senden Sie die Liste bitte per E-Mail oder melden Sie einen Fehler (siehe KONTAKT).

Skripte können Positionsargumente (dargestellt durch $1, $2, ...) und Umgebung verwenden
Variablen (wie $HOME oder $WINDOWID). Das Zitieren von Argumenten sollte wie erwartet funktionieren.

Skripte werden für die Parameter- und Umgebungsvariablenerweiterung verarbeitet und dann ausgeführt, als ob
Sie hatten xdotool mit dem gesamten Skript in einer Zeile aufgerufen (mit COMMAND CHAINING).

· Befehle aus einer Datei lesen:

xdotool-Dateiname

· Befehle von stdin lesen:

xdotool -

· Befehle aus einer umgeleiteten Datei lesen

xdotool - < myfile

Sie können auch Skripte schreiben, die nur xdotool ausführen. Beispiel:

#!/usr/local/bin/xdotool
Suche --onlyvisible --classname $1

Fenstergröße %@ $2 $3
Fensterheber %@

Fensterbewegung %1 0 0
Fensterbewegung %2 $2 0
Fensterbewegung %3 0 $3
Fensterbewegung %4 $2 $3

Dieses Skript nimmt alle Fenster, die mit der Klassennamensabfrage von arg1 ($1) übereinstimmen, und
Größen/bewegt sie in ein 2x2-Raster mit Fenstern, die durch den 2. und 3. Parameter bemessen sind.

Hier ist ein Anwendungsbeispiel:

% ./myscript xterm 600 400

Wenn Sie es so ausführen, werden 4 sichtbare Xterms benötigt, erhöht und in eine 2x2-Kachel verschoben
Raster mit jedem Fenster 600x400 Pixel groß.

CLEARMODIFIER


Jeder Befehl, der die --clearmodifiers Flag versucht, alle aktiven Eingaben zu löschen
Modifikatoren während des Befehls und stellen Sie sie danach wieder her.

Wenn Sie beispielsweise diesen Befehl ausführen möchten:
xdotool-Taste a

Das Ergebnis wäre 'a' oder 'A', je nachdem, ob Sie die Umschalttaste gedrückt halten oder nicht
auf Ihrer Tastatur. Es ist oft unerwünscht, dass Modifikatoren aktiv sind, damit Sie es erkennen können
xdotool, um alle aktiven Modifikatoren zu löschen.

Die Reihenfolge der Operationen, wenn Sie die Umschalttaste gedrückt halten, während Sie 'xdotool key --clearmodifiers a' ausführen
ist das:

1. Abfrage aller aktiven Modifikatoren (findet in diesem Fall Shift)
2. Versuchen Sie, die Umschalttaste zu löschen, indem Sie „Taste nach oben“ für die Umschalttaste senden
3. Führt den normalen 'xdotool key a' aus
4. Stellen Sie die Umschalttaste wieder her, indem Sie „Taste nach unten“ für die Umschalttaste senden

Die --clearmodifiers Flag kann derzeit Folgendes löschen:

· jede Taste in Ihrer aktiven Tastaturbelegung, der ein Modifikator zugeordnet ist. (Sehen
xmodmap(1) 'xmodmap -pm' Ausgabe)

· Maustasten (1, 2, 3, 4 und 5)

· Caps Lock

SENDEVENT ANMERKUNG


Wenn Sie versuchen, eine Tasteneingabe an ein bestimmtes Fenster zu senden, und dies scheint nicht der Fall zu sein
funktioniert, dann ignoriert Ihre Anwendung wahrscheinlich die Ereignisse, die xdotool generiert.
Dies ist ziemlich üblich.

Das Senden von Tastenanschlägen an ein bestimmtes Fenster verwendet eine andere API als die einfache Eingabe in das
aktives Fenster. Wenn Sie 'xdotool type --window 12345 hello' angeben, wird xdotool generiert
Schlüsselereignisse und senden Sie sie direkt an Fenster 12345. X11-Server setzen jedoch a
spezielles Flag für alle so generierten Events (siehe XEvent.xany.send_event in X11's
Handbuch). Viele Programme beachten dieses Flag und lehnen diese Ereignisse ab.

Es ist wichtig zu beachten, dass wir für Tasten- und Mausereignisse nur XSendEvent verwenden, wenn a
ein bestimmtes Fenster anvisiert wird. Ansonsten verwenden wir XTEST.

Einige Programme können so konfiguriert werden, dass sie Ereignisse akzeptieren, auch wenn sie von xdotool generiert werden.
Suchen Sie in der Dokumentation Ihrer Anwendung nach Hilfe.

Spezifische Anwendungshinweise (aus den Tests des Autors): * Firefox 3 scheint alle zu ignorieren
Eingabe, wenn es keinen Fokus hat. * xterm kann während der Ausführung mit konfiguriert werden
Strg+Linksklick, 'SendEvents zulassen' * gnome-terminal scheint generierte Eingaben zu akzeptieren von
default.

FENSTER STAPEL


Bestimmte Befehle (search, getactivewindow, getwindowfocus) finden Fenster für Sie.
Diese Ergebnisse werden im Allgemeinen auf Standardausgabe gedruckt, aber sie werden auch für die Zukunft gespeichert
während der Lebensdauer des xdotool-Prozesses verwenden. Siehe "BEFEHLSKETTEN" für mehr
Informationen.

Die einzigen Änderungen, die für den Fensterstapel unterstützt werden, bestehen darin, ihn zu ersetzen. Das heißt, zwei von zwei
sequentielle Suchen, nur das Ergebnis des letzten wird der Fensterstapel sein.

COMMAND VERKETTUNG


xdotool unterstützt die Ausführung mehrerer Befehle bei einem einzigen Aufruf. Im Allgemeinen fängst du an
mit einem Suchbefehl (siehe "WINDOW STACK") und führen Sie dann eine Reihe von Aktionen auf diesen aus
Ergebnisse angezeigt

Um den Fensterstapel abzufragen, können Sie die spezielle Notation "%N" verwenden, wobei N eine Zahl ist oder die
'@'-Symbol. Bei Angabe von %N wird das N-te Fenster aus dem Fensterstapel ausgewählt.
Im Allgemeinen möchten Sie nur das erste Fenster oder alle Fenster. Beachten Sie, dass die Reihenfolge von
Fenster im Fensterstapel entspricht der Fensterstapelreihenfolge, dh der untersten
Fenster wird zuerst gemeldet (siehe XQueryBaum(3)). Somit ist die Reihenfolge der Fenster im
Der Fensterstapel ist möglicherweise nicht über alle Aufrufe hinweg konsistent.

Die oben beschriebene Notation wird als "Fenster"-Argument für jeden gegebenen Befehl verwendet.

Um beispielsweise die Größe aller xterms auf 80x24 zu ändern:

xdotool search --class xterm --windowsize --usehints %@ 80 24

Größe ändern Aktuelles Fenster verschieben:

xdotool getactivewindow windowmove 0 0

In allen Fällen wird das Standardfensterargument, wenn es weggelassen wird, standardmäßig auf "%1" gesetzt. es ist
offensichtlich ein Fehler, wenn Sie das Fensterargument weglassen und der Fensterstapel leer ist. wenn du
Versuchen Sie, den Fensterstapel zu verwenden, und er ist leer, es ist auch ein Fehler.

So aktivieren Sie das erste gefundene Firefox-Fenster:

xdotool search --class Firefox windowactivate

Diese würden Fehler machen:

xdotool-Fenster aktivieren
xdotool-Fenster aktivieren %1
xdotool-Fensteraktiviere %@

Wenn xdotool beendet wird, geht der aktuelle Fensterstapel verloren.

Außerdem werden Befehle, die den "WINDOW STACK" modifizieren, die Ergebnisse nicht drucken, wenn sie
sind nicht der letzte Befehl. Zum Beispiel:

# Aktives Fenster ausgeben:
% xdotool getactivewindow
20971533

# Geben Sie die PID des aktiven Fensters aus, aber nicht die ID des aktiven Fensters:
% xdotool getactivewindow getwindowpid
4686

VERLÄNGERT FENSTER MANAGER HINWEISE


Die folgenden Teile des EWMH-Standards werden unterstützt:

_NET_UNTERSTÜTZT
Fragt den Windowmanager, was unterstützt wird

_NET_CURRENT_DESKTOP
Abfragen und Festlegen des aktuellen Desktops. Die Unterstützung dafür aktiviert diese Befehle:
"set_desktop", "get_desktop".

_NET_WM_DESKTOP
Abfragen und Festlegen, auf welchem ​​Desktop ein Fenster lebt. Die Unterstützung dafür ermöglicht diese
Befehle: "set_desktop_for_window", "get_desktop_for_window".

_NET_ACTIVE_WINDOW
Ermöglicht es Ihnen, das aktive Fenster abzufragen und einzustellen, indem Sie den Fenstermanager bitten, es zu bringen
nach vorne. Die Unterstützung hierfür ermöglicht folgende Befehle: "windowactivate", "getactivewindow".

_NET_WM_PID
Diese Funktion ist anwendungsabhängig, nicht abhängig vom Window-Manager. Abfrage der PID
ein bestimmtes Fenster besitzen. Die Unterstützung dafür aktiviert diese Befehle: "getwindowpid".

UNTERSTÜTZT MERKMALE


xdotool (und libxdo) versuchen unter allen Umständen zu funktionieren. Es kann jedoch vorkommen, dass
einige Fälle, in denen die Funktionalität nicht von Ihrem X-Server oder Ihrem Fenstermanager bereitgestellt wird.
In diesen Fällen versucht xdotool zu erkennen und Ihnen mitzuteilen, ob eine Aktion eine Funktion erfordert
wird derzeit von Ihrem System nicht unterstützt.

Informationen zu den spezifischen Funktionen des Window-Managers finden Sie unter "ERWEITERTE WINDOW MANAGER-HINTS".

XTEST
Wenn Ihr X-Server XTEST nicht unterstützt, dann einige Funktionen zum Tippen und zur Mausbewegung
kann nicht funktionieren. Insbesondere Tipp- und Mausaktionen, die auf das "aktuelle Fenster" wirken
(Fenster 0 in libxdo) funktionieren wahrscheinlich nicht.

In den meisten Fällen ist XTEST eine Funktion, die Sie auf Ihrem X-Server aktivieren können, wenn sie nicht aktiviert ist
standardmäßig.

Sie können die Liste der unterstützten X-Erweiterungen anzeigen, indem Sie 'xdpyinfo' eingeben und nach der
text 'Anzahl Nebenstellen: ...'

Verwenden Sie xdotool online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad