xdotool - Online in de cloud

Dit is de opdracht xdotool die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


xdotool - opdrachtregel X11 automatiseringstool

KORTE INHOUD


xdotool cmd argumenten...

Notatie: Sommige documentatie gebruikt [raam] om een ​​optioneel vensterargument aan te duiden. Dit
case betekent dat het argument, indien niet aanwezig, standaard "%1" is. Zie "VENSTERSTAPEL" voor:
wat "%1" betekent.

PRODUCTBESCHRIJVING


xdotool laat je programmatisch (of handmatig) toetsenbordinvoer en muisactiviteit simuleren,
verplaats en wijzig de grootte van vensters, enz. Het doet dit met behulp van de XTEST-extensie van X11 en andere Xlib
functies.

Er is enige ondersteuning voor Extended Window Manager Hints (ook bekend als EWMH of NetWM). Zie de
"UITGEBREIDE WINDOW MANAGER HINTS" voor meer informatie.

KEYBOARD COMMANDO'S


sleutel [Opties] toetsaanslag [toetsaanslag
Opties:

--raam venster
Stuur toetsaanslagen naar een specifiek venster-ID. U kunt verwijzingen naar "WINDOW STACK" gebruiken
zoals "%1" en "%@" hier. Als er een vensterstack is, is "%1" de standaardwaarde,
anders wordt het huidige venster gebruikt.

Zie ook: "SENDEVENT NOTES" en "WINDOW STACK"

--clearmodifiers
Wis modifiers voordat u toetsaanslagen verzendt. Zie CLEARMODIFIERS hieronder.

--vertraging milliseconden
Vertraging tussen toetsaanslagen. Standaard is 12ms.

Typ een bepaalde toetsaanslag. Voorbeelden zijn "alt+r", "Control_L+J", "ctrl+alt+n",
"Backspace".

Over het algemeen werkt elke geldige X Keysym-reeks. Meerdere sleutels worden gescheiden door '+'.
Er zijn aliassen voor "alt", "ctrl", "shift", "super" en "meta", die allemaal verwijzen naar Foo_L,
zoals Alt_L en Control_L, enz.

In gevallen waarin je toetsenbord niet de toets heeft die je wilt typen, xdotool
zal automatisch een ongebruikte sleutelcode vinden en die gebruiken om de sleutel in te voeren.

Met betrekking tot "COMMAND CHAINING", verbruikt dit commando de rest van de
argumenten of totdat een nieuw xdotool-commando wordt gezien, omdat er geen xdotool-commando's zijn
geldige toetsaanslagen.

Voorbeeld: stuur de toetsaanslag "F2"
xdotool-toets F2

Voorbeeld: stuur 'a' met een accent erover (niet op Engelse toetsenborden, maar werkt nog steeds
met xdotool)
xdotool-sleutel Aacute

Voorbeeld: stuur ctrl+l en dan BackSpace als aparte toetsaanslagen:
xdotool-toets ctrl+l BackSpace

Voorbeeld: stuur ctrl+c naar alle vensters die overeenkomen met de titel 'gdb' (zie "COMMAND CHAINING")
xdotool zoeken --name gdb toets ctrl+c

toets neer [Opties] toetsaanslag
Hetzelfde als hierboven, behalve dat alleen keydown (druk) gebeurtenissen worden verzonden.

key-up toetsaanslag
Hetzelfde als hierboven, behalve dat alleen keyup (release) gebeurtenissen worden verzonden.

type dan: [Opties] iets naar type dan:
Opties:

--raam venster-id
Stuur toetsaanslagen naar een specifiek venster-ID. Zie "VERZENDOPMERKINGEN" hieronder. De standaard,
als er geen venster wordt gegeven, hangt af van de vensterstapel. Als de vensterstapel leeg is
het huidige venster wordt getypt met XTEST. Anders is de standaard "%1" (zie
"VENSTERSTAPEL").

--vertraging milliseconden
Vertraging tussen toetsaanslagen. Standaard is 12ms.

--clearmodifiers
Wis modifiers voordat u toetsaanslagen verzendt. Zie CLEARMODIFIERS hieronder.

Typt alsof u het had getypt. Ondersteunt nieuwe regels en tabbladen (ASCII nieuwe regel en tabblad). Elk
toetsaanslag wordt gescheiden door een vertraging gegeven door de --vertraging optie.

Met betrekking tot "COMMAND CHAINING", verbruikt dit commando de rest van de
argumenten en typt u ze. Dat wil zeggen, er kunnen geen commando's achter 'type' worden gezet.

Voorbeeld: typ 'Hallo wereld!' jij zou doen:
xdotool-type 'Hallo wereld!'

MUIS COMMANDO'S


muisbeweging [Opties] x y OR 'herstellen'
Beweeg de muis naar de specifieke X- en Y-coördinaten op het scherm.

U kunt de muis naar de vorige locatie verplaatsen als u 'herstellen' opgeeft in plaats van een
X- en Y-coördinaat. Herstellen werkt alleen als je eerder in deze zelfde bent verhuisd
opdracht aanroep. Verder werkt het niet met de --window optie.

Als u bijvoorbeeld in de linkerbovenhoek van het scherm wilt klikken en de muis naar de
oorspronkelijke positie voordat u het verplaatste, gebruik dit:
xdotool mousemove 0 0 klik 1 mousemove restore

--raam VENSTER
Geef een venster op om relatief aan te verplaatsen. Coördinaten 0,0 staan ​​linksboven in de
venster dat u kiest.

"WINDOW STACK" verwijzingen zijn hier geldig, zoals %1 en %@. Hoewel, met behulp van %@
heeft waarschijnlijk geen zin.

--scherm SCHERM
Verplaats de muis naar het opgegeven scherm om naar toe te gaan. Dit is alleen nuttig als u:
meerdere schermen en gebruiken GEEN Xinerama.

De standaardinstelling is het huidige scherm. Als u --window opgeeft, is de --screen vlag
buiten beschouwing gelaten.

--polair
Gebruik poolcoördinaten. Dit maakt 'x' een hoek (in graden, 0-360, etc) en 'y'
de afstand.

Rotatie begint bij 'omhoog' (0 graden) en draait met de klok mee: 90 = rechts, 180 = omlaag,
270 = links.

De oorsprong is standaard in het midden van het huidige scherm. Als u een specificeert
--window, dan is de oorsprong het midden van dat venster.

--clearmodifiers
Zie CLEARMODIFIERS

--synchroniseren
Wacht na het verzenden van het muisbewegingsverzoek tot de muis daadwerkelijk is verplaatst. Indien
er is geen beweging nodig, we wachten niet. Dit is handig voor scripts die afhankelijk zijn van
over acties die zijn voltooid voordat u verder gaat.

Opmerking: we wachten tot de muis überhaupt beweegt, niet noodzakelijkerwijs dat het ook daadwerkelijk
uw beoogde bestemming bereikt. Sommige toepassingen vergrendelen de muiscursor om
bepaalde delen van het scherm, dus wachten op beweging is beter in de
algemeen geval dan wachten op een specifiek doelwit.

mousemove_relative [Opties] x y
Verplaats de muis x,y pixels ten opzichte van de huidige positie van de muiscursor.

--polair
Gebruik poolcoördinaten. Dit maakt 'x' een hoek (in graden, 0-360, etc) en 'y'
de afstand.

Rotatie begint bij 'omhoog' (0 graden) en draait met de klok mee: 90 = rechts, 180 = omlaag,
270 = links.

--synchroniseren
Wacht na het verzenden van het muisbewegingsverzoek tot de muis daadwerkelijk is verplaatst. Indien
er is geen beweging nodig, we wachten niet. Dit is handig voor scripts die afhankelijk zijn van
over acties die zijn voltooid voordat u verder gaat.

Merk op dat we wachten tot de muis überhaupt beweegt, niet noodzakelijkerwijs dat het ook daadwerkelijk
uw beoogde bestemming bereikt. Sommige toepassingen vergrendelen de muiscursor om
bepaalde delen van het scherm, dus wachten op beweging is beter in de
algemeen geval dan wachten op een specifiek doelwit.

--clearmodifiers
Zie CLEARMODIFIERS

Klik [Opties]
Stuur een klik, dat wil zeggen een mousedown gevolgd door mouseup voor de gegeven knop met een
korte vertraging tussen de twee (momenteel 12 ms).

Knoppen worden over het algemeen als volgt weergegeven: linkermuis is 1, middelste is 2, rechts is 3, wiel omhoog is
4, wiel omlaag is 5.

--clearmodifiers
Wis modifiers voordat u klikt. Zie CLEARMODIFIERS hieronder.

--herhalen HERHALING
Geef op hoe vaak u moet klikken. Standaard is 1. Gebruik '--repeat . om te dubbelklikken
2'

--vertraging MILSECONDEN
Geef op hoe lang, in milliseconden, er tussen klikken moet worden gewacht. Deze optie is niet
gebruikt als de --herhalen vlag is ingesteld op 1 (standaard).

--raam VENSTER
Geef een venster op waarnaar u een klik wilt verzenden. Zie "SENDEVENT NOTES" hieronder voor kanttekeningen. Toepassingen
de huidige muispositie bij het genereren van de gebeurtenis.

De standaardwaarde, als er geen venster wordt gegeven, hangt af van de vensterstapel. Als het raam
stack is leeg het huidige venster is getypt met XTEST. Anders is de standaard
is "%1" (zie "VENSTERSTACK").

mouseDown [Opties]
Hetzelfde als Klik, behalve dat er alleen een muis naar beneden wordt gestuurd.

mouseUp [Opties]
Hetzelfde als Klik, behalve dat er alleen een muis wordt verzonden.

krijgmuislocatie [--schelp]
Voert de x, y, scherm- en venster-ID van de muiscursor uit. Schermnummers worden
niet-nul als u meerdere monitoren heeft en Xinerama niet gebruikt.

--schelp
Dit maakt getmouselocation output shell-gegevens die u kunt evalueren. Voorbeeld:

% xdotool getmouselocation --shell
X = 880
Y = 443
SCHERM=0
VENSTER = 16777250

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

gedragen_screen_edge [Opties] met de meeste commando ...
Bind een actie aan gebeurtenissen wanneer de muis de rand of hoek van het scherm raakt.

Opties zijn:

--vertraging MILSECONDEN
Vertraging in milliseconden voordat de opdracht wordt uitgevoerd. Hierdoor kunt u een
gegeven rand of hoek die een korte tijd moet worden vastgehouden voordat uw opdracht wordt uitgevoerd.
Als u de rand of hoek verlaat voordat de vertraging is verstreken, wordt de tijd opnieuw ingesteld.

--rustig MILSECONDEN
Vertraging in milliseconden voordat de volgende opdracht wordt uitgevoerd. Dit helpt voorkomen
per ongeluk uw opdracht extra keer uitvoeren; vooral handig als je een
zeer kort --delay (zoals de standaardwaarde van 0).

Evenement tijdlijn

* Muis raakt een rand of hoek.
* Als de vertraging niet nul is, moet de muis in deze rand of hoek blijven totdat de vertragingstijd is verstreken.
* Indien nog in de rand/hoek, trigger.
* Als stilte niet nul is, is er een afkoelperiode waarin de volgende
trigger kan niet optreden

Geldige 'waar'-waarden zijn:

links
linksboven
top
rechtsboven
rechts
linksonder
bodem
rechts onder

Voorbeelden:
# Activeer google-chrome wanneer u de muis naar de linkerbenedenhoek beweegt:
xdotool behavior_screen_edge linksonder
zoeken --class google-chrome windowactivate

# Ga naar de volgende werkruimte (rechts). Bekend om te werken in GNOME (metacity en compiz)
xdotool gedrag_screen_edge --delay 500 toets rechtsonder XF86Forward

# Activeer Firefox en zoek op internet in een nieuw tabblad naar tekst op uw klembord
xdotool behavior_screen_edge --vertraging 1000 linksboven
zoek --classname Navigator
vensteractiveren --synchronisatiesleutel --vertraging 250 ctrl+t ctrl+k ctrl+v Return

VENSTER COMMANDO'S


search [Opties] patroon
Zoek naar vensters met titels, namen of klassen met een reguliere expressiepatroon.
De uitvoer is een door lijnen gescheiden lijst met X-venster-ID's. Als u "COMMAND" gebruikt
CHAINING", zal het zoekcommando alleen venster-ID's naar stdout schrijven als dit de laatste is
(of alleen) commando in de keten; anders is het stil.

Het resultaat wordt opgeslagen in de vensterstack voor toekomstige geketende opdrachten. Zie "VENSTER"
STACK" en "COMMAND CHAINING" voor details.

De standaardopties zijn "--name --class --classname" (tenzij u er één specificeert of
meer van --name --class of --classname).

De beschikbare opties zijn:

--klas
Match tegen de raamklasse.

--naam van de klasse
Overeenkomen met de klassenaam van het venster.

--maximale diepte N
Stel recursie/onderliggende zoekdiepte in. De standaardwaarde is -1, wat oneindig betekent. 0 betekent nee
diepte, worden alleen root-vensters doorzocht. Als u alleen vensters op het hoogste niveau wilt, stelt u in
maxdiepte van 1 (of 2, afhankelijk van hoe je windowmanager decoraties maakt).

--naam
Match tegen de naam van het venster. Dit is dezelfde tekenreeks die wordt weergegeven in de
titelbalk van het venster.

--alleen zichtbaar
Toon alleen zichtbare vensters in de resultaten. Dit betekent degenen met kaartstatus
Is zichtbaar.

--pid PID
Match vensters die bij een specifiek proces-ID horen. Dit werkt mogelijk niet voor sommige X
toepassingen die deze metadata niet in de vensters plaatsen.

--scherm N
Selecteer alleen vensters op een specifiek scherm. Standaard is om alle schermen te doorzoeken. Enkel en alleen
zinvol als u meerdere beeldschermen heeft en Xinerama niet gebruikt.

--bureaublad N
Kom alleen overeen met vensters op een bepaald bureaublad. 'N' is een getal. De standaard is om te zoeken
alle bureaubladen.

--begrenzing N
Stop met zoeken na het vinden van N overeenkomende vensters. Het specificeren van een limiet helpt
versnel uw zoekopdracht als u slechts een paar resultaten wilt.

De standaard is geen zoeklimiet (wat gelijk is aan '--limit 0')

--titel
VEROUDERD. Zie --naam.

--alle
Eis dat aan alle voorwaarden wordt voldaan. Bijvoorbeeld:

xdotool zoeken --all --pid 1424 --name "Hallo wereld"

Dit komt alleen overeen met vensters die "Hello World" als naam hebben en eigendom zijn van
pid 1424.

--ieder
Overeenkomen met vensters die overeenkomen met elke voorwaarde (logisch, 'of'). Dit staat standaard aan.
Bijvoorbeeld:

xdotool zoeken --any --pid 1424 --name "Hallo wereld"

Dit komt overeen met alle vensters die eigendom zijn van pid 1424 of vensters met de naam "Hello World"

--synchroniseren
Blokkeren totdat er resultaten zijn. Dit is handig wanneer u een
applicatie wilt wachten tot het applicatievenster zichtbaar is. Voor
voorbeeld:

google-chrome &
xdotool zoeken --sync --onlyvisible --class "google-chrome"

selecteer venster
Verkrijg de venster-ID (voor een klant) door erop te klikken. Handig om scripts op te vragen
jullie mensen voor welk venster te handelen. Bijvoorbeeld een venster doden door erop te klikken:

xdotool selectvenster windowkill

zich gedragen venster actie commando ...
Bind een actie aan een gebeurtenis op een venster. Hiermee kunt u extra xdotool-opdrachten uitvoeren
telkens wanneer een overeenkomende gebeurtenis plaatsvindt.

De opdracht die als resultaat van het gedrag wordt uitgevoerd, wordt uitgevoerd waarbij %1 het venster is dat was
opgevolgd. Voorbeelden volgen na de evenementenlijst.

De volgende zijn geldige evenementen:

muis-enter
Gaat af wanneer de muis een venster binnengaat. Dit is vergelijkbaar met 'mouse over'-gebeurtenissen in
javascript, als dat helpt.

muis-verlof
Vuurt af wanneer de muis een raam verlaat. Dit is het tegenovergestelde van 'muis-enter'

muis klik
Gaat af wanneer er met de muis wordt geklikt. Met name wanneer de muisknop wordt losgelaten.

focus
Wordt geactiveerd wanneer het venster invoerfocus krijgt.

vervagen
Brandt wanneer het raam de focus verliest.

Voorbeelden:

# Druk de cursorlocatie af wanneer de muis een momenteel zichtbare invoer binnengaat
# raam:
xdotool zoeken --onlyvisible . gedraag je %@ muis-voer getmouselocation in

# Druk de venstertitel en pid af wanneer een xterm focus krijgt
xdotool zoeken --class xterm gedragen %@ focus getwindowname getwindowpid

# Focus-volgt-muis emuleren
xdotool zoeken. gedraag je %@ muis-voer windowfocus in

getwindowpid [raam]
Voer de PID uit die een bepaald venster bezit. Dit vereist inspanning van de applicatie die eigenaar is
een venster en werkt mogelijk niet voor alle vensters. Dit gebruikt de eigenschap _NET_WM_PID van de
raam. Zie "UITGEBREIDE WINDOW MANAGER HINTS" hieronder voor meer informatie.

Als er geen venster wordt gegeven, is de standaard '%1'. Als er geen vensters op de stapel staan, dan is dit:
een fout is. Zie "VENSTERSTAPEL" voor meer details.

Voorbeeld: Zoek de PID voor alle xterms:
xdotool zoeken --class xterm getwindowpid %@

vensternaam ophalen [raam]
Voer de naam van een bepaald venster uit, ook wel de titel genoemd. Dit is de weergegeven tekst
in de titelbalk van het venster door uw vensterbeheerder.

Als er geen venster wordt gegeven, is de standaard '%1'. Als er geen vensters op de stapel staan, dan is dit:
een fout is. Zie "VENSTERSTAPEL" voor meer details.

krijg raamgeometrie [Opties] [raam]
Voer de geometrie (locatie en positie) van een venster uit. De waarden omvatten: x, y,
breedte, hoogte en schermnummer.

--schelp
Uitvoerwaarden geschikt voor 'eval' in een shell.

krijgvensterfocus [-F]
Drukt de venster-ID af van het momenteel gefocuste venster. Slaat het resultaat op in het venster
stapel. Zie "VENSTERSTAPEL" voor meer details.

Als het huidige venster geen WM_CLASS-eigenschap heeft, nemen we aan dat het geen normaal topniveau is
venster en doorkruisen de ouders totdat we een venster vinden met een WM_CLASS-set en
geef dat venster-ID terug.

Als je echt wilt dat het venster momenteel focus heeft en het niet uitmaakt of het een . heeft
WM_CLASS-instelling en gebruik vervolgens 'getwindowfocus -f'

venstergrootte [opties] [venster] breedte hoogte
Stel de venstergrootte van het opgegeven venster in. Als er geen venster wordt gegeven, is %1 de standaardinstelling.
Zie "WINDOW STACK" en "COMMAND CHAINING" voor meer details.

Percentages gelden voor breedte en hoogte. Ze zijn relatief aan de geometrie van de
scherm waarop het raam staat. Als u bijvoorbeeld een venster over de volledige breedte van het scherm wilt maken,
maar halve hoogte:

xdotool venstergrootte I 100% 50%

Percentages zijn geldig met --usehints en betekenen nog steeds de pixelbreedte ten opzichte van de
scherm grootte.

De beschikbare opties zijn:

--gebruikstips
Gebruik hints voor venstergrootte (indien beschikbaar) om de breedte en hoogte in te stellen. Dit is handig
op terminals voor het instellen van de grootte op basis van rij/kolom tekst in plaats van pixels.

--synchroniseren
Wacht na het verzenden van het venstergrootteverzoek tot het formaat van het venster daadwerkelijk is gewijzigd.
Als er geen verandering nodig is, wachten we niet. Dit is handig voor scripts die:
afhankelijk van acties die zijn voltooid voordat u verder gaat.

Opmerking: omdat veel vensterbeheerders de oorspronkelijke grootte kunnen negeren of wijzigen
verzoek, we wachten tot de maat verandert van de oorspronkelijke maat, niet nodig
tot de gevraagde maat.

Voorbeeld: om een ​​terminal in te stellen op 80x24 tekens, gebruikt u:
xdotool venstergrootte --usehints een_windowid 80 24

raam verplaatsen [Opties] [raam] x y
Verplaats het venster naar de opgegeven positie. Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zien
"WINDOW STACK" en "COMMAND CHAINING" voor meer details.

Als de gegeven x-coördinaat letterlijk 'x' is, dan zal de huidige x-positie van het venster
onveranderd zijn. Hetzelfde geldt voor 'y'.

Voorbeelden:

xdotool getactivewindow windowmove 100 100 # Verplaatst naar 100,100
xdotool getactivewindow windowmove x 100 # Verplaatst naar x,100
xdotool getactivewindow windowmove 100 y # Verplaatst naar 100,y
xdotool getactivewindow windowmove 100 y # Verplaatst naar 100,y

--synchroniseren
Wacht na het versturen van het raamverplaatsingsverzoek tot het raam daadwerkelijk is verplaatst. Indien
er is geen beweging nodig, we wachten niet. Dit is handig voor scripts die afhankelijk zijn van
over acties die zijn voltooid voordat u verder gaat.

--familielid
Maak beweging ten opzichte van de huidige raampositie.

raamfocus [Opties] [raam]
Stel een raam scherp. Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zie "VENSTERSTAPEL" en
"COMMANDO CHAINING" voor meer details.

Gebruikt XSetInputFocus dat door sommige vensterbeheerders of programma's kan worden genegeerd.

--synchroniseren
Wacht na het verzenden van het vensterfocusverzoek tot het venster daadwerkelijk is scherpgesteld.
Dit is handig voor scripts die afhankelijk zijn van acties die worden voltooid voordat ze worden verplaatst
op.

vensterkaart [Opties] [raam]
Breng een venster in kaart. In X11-terminologie betekent het toewijzen van een venster dat het zichtbaar wordt gemaakt op de
scherm. Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zie "WINDOW STACK" en "COMMANDO"
KETTING" voor meer details.

--synchroniseren
Wacht na het opvragen van de vensterkaart tot het venster daadwerkelijk in kaart is gebracht
(zichtbaar). Dit is handig voor scripts die afhankelijk zijn van acties die worden voltooid
voordat je verder gaat.

vensterminimaliseren [Opties] [raam]
Minimaliseer een raam. In X11-terminologie wordt dit 'iconify' genoemd. Als er geen raam is
gegeven, is %1 de standaard. Zie "WINDOW STACK" en "COMMAND CHAINING" voor meer details.

--synchroniseren
Nadat u het venster minimalisatie hebt aangevraagd, wacht u totdat het venster daadwerkelijk is geminimaliseerd.
Dit is handig voor scripts die afhankelijk zijn van acties die worden voltooid voordat ze worden verplaatst
op.

raamverhogen [venster_id=%1]
Verhoog het venster naar de bovenkant van de stapel. Dit werkt mogelijk niet bij alle windowmanagers. Indien
er wordt geen venster gegeven, %1 is de standaardinstelling. Zie "WINDOW STACK" en "COMMAND CHAINING" voor:
meer details.

vensterreparent [bron_venster] bestemming_venster
Reparent een venster. Dit beweegt de bron_venster een kindervenster van zijn
bestemming_venster. Als er geen bron is opgegeven, is %1 de standaard. "VENSTER STAPEL" venster
referenties (zoals %1) zijn geldig voor beide bron_venster en bestemming_venster Bekijk
"WINDOW STACK" en "COMMAND CHAINING" voor meer details.

raam sluiten [raam]
Sluit een venster. Deze actie zal het raam vernietigen, maar zal niet proberen de . te doden
cliënt die het beheert. Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zie "VENSTERSTAPEL"
en "COMMAND CHAINING" voor meer details.

vensterbank [raam]
Dood een raam. Deze actie vernietigt het venster en doodt de client die het bedient.
Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zie WINDOW STACK en "COMMAND CHAINING" voor:
meer details.

venster niet in kaart brengen [Opties] [venster_id=%1]
Maak de toewijzing van een venster ongedaan, zodat het niet langer op uw scherm verschijnt. Als er geen venster wordt gegeven, %1
is de standaard. Zie "WINDOW STACK" en "COMMAND CHAINING" voor meer details.

--synchroniseren
Wacht na het aanvragen van de unmap van het venster totdat het venster daadwerkelijk is ontkoppeld
(verborgen). Dit is handig voor scripts die afhankelijk zijn van acties die eerder zijn voltooid
verder gaan.

set_venster [Opties] [vensterwid=%1]
Stel eigenschappen over een venster in. Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zie "VENSTER"
STACK" en "COMMAND CHAINING" voor meer details.

Opties:

--naam nieuwe naam
Stel venster WM_NAME in (meestal de venstertitel)

--pictogramnaam nieuwepictogramnaam
Stel venster WM_ICON_NAME in (meestal de venstertitel wanneer geminimaliseerd)

--rol nieuwe rol
Venster instellen WM_WINDOW_ROLE

--naam van de klasse nieuweklassenaam
Naam vensterklasse instellen (niet te verwarren met vensterklasse)

--klas nieuwe klasse
Vensterklasse instellen (niet te verwarren met de naam van de vensterklasse)

--omleiding overschrijven waarde
Stel de override_redirect-waarde van het venster in. Deze waarde is een hint voor de vensterbeheerder
of het wel of niet moet worden beheerd. Als de omleidingswaarde 0 is, dan is de
window manager zal randen tekenen en dit venster normaal behandelen. Als de waarde is
1, zal de vensterbeheerder dit venster negeren.

Als u deze waarde wijzigt, merkt uw windowmanager de wijziging mogelijk pas op als de
venster is opnieuw toegewezen, dus misschien wilt u 'windowunmap' en 'windowmap' uitgeven om
laat de vensterbeheerder er nota van nemen.

DESKTOP EN VENSTER COMMANDO'S


Deze commando's volgen de EWMH-standaard. Zie de sectie "UITGEBREIDE WINDOW MANAGER HINTS"
voor meer informatie.

venster activeren [Opties] [raam]
Activeer het venster. Dit commando verschilt van windowfocus: als het venster aan staat
een ander bureaublad, schakelen we over naar dat bureaublad. Het gebruikt ook een andere methode voor
het raam omhoog brengen. Ik raad aan om deze opdracht te proberen voordat je windowfocus gebruikt, zoals:
het zal werken op meer windowmanagers.

Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zie "WINDOW STACK" en "COMMANDO CHAINING"
voor meer details.

--synchroniseren
Wacht na het verzenden van de vensteractivering tot het venster daadwerkelijk is geactiveerd.
Dit is handig voor scripts die afhankelijk zijn van acties die worden voltooid voordat ze worden verplaatst
op.

getactivevenster
Voer het huidige actieve venster uit. Deze opdracht is vaak betrouwbaarder dan:
vensterfocus krijgen. Het resultaat wordt opgeslagen in de vensterstapel. Zie "VENSTERSTAPEL" voor meer
details.

set_num_desktops aantal
Wijzigt het aantal desktops of werkruimten.

get_num_desktops
Voer het huidige aantal desktops uit.

get_desktop_viewport [--schelp]
Rapporteer de huidige positie van het kijkvenster. Als --shell wordt gegeven, is de uitvoer vriendelijk voor
schaal evaluatie.

Op sommige windowmanagers worden soms viewports gebruikt in plaats van 'virtuele desktops'. EEN
viewport is gewoon een weergave op een zeer groot bureaubladgebied.

set_desktop_viewport x y
Verplaats de viewport naar de opgegeven positie. Niet alle verzoeken zullen worden ingewilligd - sommige
windowmanagers gehoorzamen alleen verzoeken die zijn afgestemd op de grenzen van de werkruimte, zoals de
scherm grootte.

Als uw scherm bijvoorbeeld 1280x800 is, kunt u naar de 2e werkruimte gaan door het volgende te doen:
xdotool set_desktop_viewport 1280 0

set_bureaublad [Opties] desktop_nummer
Wijzig de huidige weergave in het opgegeven bureaublad.

--familielid
Gebruik relatieve bewegingen in plaats van absoluut. Hiermee kunt u relatief ten opzichte van de
huidige bureaublad.

krijg_desktop
Voer het huidige bureaublad in beeld uit.

set_desktop_voor_venster [raam] desktop_nummer
Verplaats een venster naar een ander bureaublad. Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zien
"WINDOW STACK" en "COMMAND CHAINING" voor meer details.

get_desktop_for_window [raam]
Voer het bureaublad uit dat momenteel het gegeven venster bevat. Verplaats een venster naar een andere
bureaublad. Als er geen venster wordt gegeven, is %1 de standaardinstelling. Zie WINDOW STACK en "COMMANDO"
KETTING" voor meer details.

DIVERSE COMMANDO'S


exec [Opties] commando [...]
Een programma uitvoeren. Dit is vaak handig in combinatie met behavior_screen_edge to do
dingen zoals het vergrendelen van je scherm.

Opties:

--synchroniseren
Blokkeren totdat het onderliggende proces wordt afgesloten. De exit-status van het onderliggende proces wordt dan doorgegeven
naar het bovenliggende proces (xdotool) dat het kopieert.

Voorbeelden:
# Vergrendel het scherm wanneer de muis in de rechterbovenhoek zit
xdotool behavior_screen_edge --vertraging 1000 rechtsboven
exec gnome-screensaver-commando --lock
# Vervang 'xscreensaver-command -lock' als je dat programma gebruikt.

# Het volgende zal de muis niet bewegen omdat we '--sync' en . gebruiken
# /bin/onwaar verlaat niet-nul:
xdotool exec --sync /bin/onwaar muisbeweging 0 0

# Dit lukt echter, omdat we --sync niet gebruiken bij het exec-commando.
xdotool-exec /bin/onwaar muisbeweging 0 0

slaap seconden
Slaap voor een bepaalde periode. Fracties van seconden (zoals 1.3 of 0.4) zijn hier geldig.

SCRIPT


xdotool kan een lijst met commando's lezen via stdin of een bestand als je wilt. Een script zal mislukken
wanneer een opdracht mislukt.

Eerlijk gezegd is de 'script'-modus niet volledig uitgewerkt en kan deze onder uw verwachtingen vallen. Indien
heeft u suggesties, stuur dan een e-mail naar de lijst of dien een bug in (zie CONTACT).

Scripts kunnen positionele argumenten gebruiken (weergegeven door $1, $2, ...) en omgeving
variabelen (zoals $HOME of $WINDOWID). Het citeren van argumenten zou moeten werken zoals verwacht.

Scripts worden verwerkt voor uitbreiding van parameters en omgevingsvariabelen en worden vervolgens uitgevoerd alsof
je had xdotool aangeroepen met het hele script op één regel (met COMMAND CHAINING).

· Lees commando's uit een bestand:

xdotool bestandsnaam

· Lees commando's van stdin:

xdotool -

· Lees opdrachten uit een omgeleid bestand

xdotool - < mijnbestand

Je kunt ook scripts schrijven die alleen xdotool uitvoeren. Voorbeeld:

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

venstergrootte %@ $2 $3
vensterverhoging %@

venster verplaatsen %1 0 0
venster verplaatsen %2 $2 0
venster verplaatsen %3 0 $3
venster verplaatsen %4 $2 $3

Dit script neemt alle vensters die overeenkomen met de classname-query gegeven door arg1 ($1) en
maten/verplaatst ze naar een 2x2 raster met vensters die zijn gerangschikt volgens de 2e en 3e parameters.

Hier is een voorbeeld van gebruik:

% ./mijnscript xterm 600 400

Als je het op deze manier uitvoert, heb je 4 zichtbare xterms nodig, verhoog ze en verplaats ze naar een 2x2 tegel
raster met elk venster 600x400 pixels groot.

DUIDELIJKE MODIFICATIES


Elk commando dat de . neemt --clearmodifiers vlag zal proberen alle actieve invoer te wissen
modifiers tijdens de opdracht en herstel ze daarna.

Als u bijvoorbeeld deze opdracht zou uitvoeren:
xdotool-sleutel a

Het resultaat zou 'a' of 'A' zijn, afhankelijk van of je de shift-toets ingedrukt hield
op je toetsenbord. Vaak is het onwenselijk om modifiers actief te hebben, dus je kunt het zien
xdotool om alle actieve modifiers te wissen.

De volgorde van bewerkingen als u shift ingedrukt houdt terwijl u 'xdotool key --clearmodifiers a' uitvoert
is dit:

1. Zoek naar alle actieve modifiers (vindt in dit geval shift)
2. Probeer shift te wissen door 'key up' te sturen voor de shift-toets
3. Voert normale 'xdotool key a' uit
4. Herstel shift-toets door 'toets omlaag' te sturen voor shift

De --clearmodifiers vlag kan momenteel het volgende wissen:

· elke toets in uw actieve toetsenbordindeling waaraan een modifier is gekoppeld. (Zien
xmodmap(1)'s 'xmodmap -pm'-uitvoer)

· muisknoppen (1, 2, 3, 4 en 5)

· Caps Lock

VERZENDEN OPMERKINGEN


Als u toetsinvoer naar een specifiek venster probeert te sturen en dit niet lijkt te zijn
werkt, negeert uw toepassing waarschijnlijk de gebeurtenissen die xdotool genereert.
Dit is vrij gebruikelijk.

Het verzenden van toetsaanslagen naar een specifiek venster gebruikt een andere API dan gewoon typen naar de
actief venster. Als u 'xdotool type --window 12345 hallo' specificeert, zal xdotool genereren
key events en stuur ze rechtstreeks naar venster 12345. X11-servers zullen echter een
speciale vlag op alle gebeurtenissen die op deze manier zijn gegenereerd (zie XEvent.xany.send_event in X11's
handmatig). Veel programma's nemen deze vlag in acht en wijzen deze gebeurtenissen af.

Het is belangrijk op te merken dat we voor toets- en muisgebeurtenissen XSendEvent alleen gebruiken wanneer a
specifiek venster is gericht. Anders gebruiken we XTEST.

Sommige programma's kunnen worden geconfigureerd om gebeurtenissen te accepteren, zelfs als ze zijn gegenereerd door xdotool.
Zoek de documentatie van uw aanvraag voor hulp.

Specifieke toepassingsopmerkingen (uit de tests van de auteur): * Firefox 3 lijkt alles te negeren
invoer wanneer deze geen focus heeft. * xterm kan worden geconfigureerd tijdens het draaien met
ctrl+linksklik, 'SendEvents toestaan' * gnome-terminal lijkt gegenereerde invoer te accepteren door
standaard.

VENSTER STACK


Bepaalde commando's (zoeken, getactivewindow, getwindowfocus) zullen vensters voor je vinden.
Deze resultaten worden over het algemeen afgedrukt naar stdout, maar ze worden ook in het geheugen opgeslagen voor de toekomst
gebruiken tijdens de levensduur van het xdotool-proces. Zie "COMMANDO CHAINING" voor meer
informatie.

De enige ondersteuning voor wijzigingen voor de vensterstapel is om deze te vervangen. Dat wil zeggen, twee van twee
sequentiële zoekopdrachten, alleen de resultaten van de laatste zijn de vensterstapel.

COMMAND KETTING


xdotool ondersteunt het uitvoeren van meerdere opdrachten op een enkele aanroep. Over het algemeen begin je
met een zoekopdracht (zie "WINDOW STACK") en voer vervolgens een reeks acties daarop uit
resultaten.

Om de vensterstapel op te vragen, kunt u de speciale notatie "%N" gebruiken, waarbij N een getal is of de
'@'-symbool. Als %N is opgegeven, wordt het N-de venster geselecteerd uit de vensterstapel.
Over het algemeen wilt u alleen het eerste venster of alle vensters. Merk op dat de volgorde van
vensters in de vensterstapel komt overeen met de vensterstapelvolgorde, dwz de onderste
venster wordt eerst gerapporteerd (zie XQueryTree(3)). Dus de volgorde van de vensters in de
window-stack is mogelijk niet consistent tussen aanroepen.

De hierboven beschreven notatie wordt gebruikt als het "venster" -argument voor een bepaald commando.

Om bijvoorbeeld alle xterms te verkleinen naar 80x24:

xdotool zoeken --class xterm -- windowssize --usehints %@ 80 24

Formaat wijzigen om het huidige venster te verplaatsen:

xdotool getactivewindow windowmove 0 0

In alle gevallen zal het standaard vensterargument, indien weggelaten, standaard "%1" zijn. Het is
uiteraard een fout als u het vensterargument weglaat en de vensterstapel leeg is. als jij
probeer de vensterstapel te gebruiken en deze is leeg, het is ook een fout.

Om het eerste gevonden Firefox-venster te activeren:

xdotool zoeken --class firefox windowactivate

Deze zouden fout zijn:

xdotool venster activeren
xdotool-venster activeer %1
xdotool vensteractiveer %@

Wanneer xdotool wordt afgesloten, gaat de huidige vensterstapel verloren.

Bovendien zullen commando's die de "WINDOW STACK" wijzigen de resultaten niet afdrukken als ze
zijn niet de laatste opdracht. Bijvoorbeeld:

# Voer het actieve venster uit:
% xdotool getactivewindow
20971533

# Voer de pid van het actieve venster uit, maar niet het actieve venster-ID:
% xdotool getactivewindow getwindowpid
4686

UITGEBREID VENSTER MANAGER TIPS


De volgende onderdelen van de EWMH-standaard worden ondersteund:

_NET_ONDERSTEUND
Vraagt ​​de vensterbeheerder wat wordt ondersteund

_NET_CURRENT_DESKTOP
Vraag en stel het huidige bureaublad in. Ondersteuning hiervoor maakt deze opdrachten mogelijk:
"set_desktop", "get_desktop".

_NET_WM_DESKTOP
Vraag en stel in op welk bureaublad een venster leeft. Ondersteuning hiervoor maakt deze mogelijk
commando's: "set_desktop_for_window", "get_desktop_for_window".

_NET_ACTIVE_WINDOW
Hiermee kunt u het actieve venster opvragen en instellen door de vensterbeheerder te vragen het te brengen
naar voren. Ondersteuning hiervoor maakt deze commando's mogelijk: "windowactivate", "getactivewindow".

_NET_WM_PID
Deze functie is applicatie-afhankelijk, niet windowmanager-afhankelijk. Vraag de PID op
het bezit van een bepaald raam. Ondersteuning hiervoor maakt deze commando's mogelijk: "getwindowpid".

ONDERSTEUNDE KENMERKEN


xdotool (en libxdo) zullen onder alle omstandigheden proberen te functioneren. Er kan echter een
sommige gevallen waarin functionaliteit niet wordt geleverd door uw X-server of door uw windowmanager.
In deze gevallen zal xdotool proberen te detecteren en u te vertellen of een actie een functie vereist
momenteel niet ondersteund door uw systeem.

Voor specifieke kenmerken van windowmanager, zie "UITGEBREIDE WINDOW MANAGER HINTS".

XTEST
Als uw X-server XTEST niet ondersteunt, dan zijn sommige functies voor typen en muisbewegingen
werkt mogelijk niet. Met name typen en muisacties die werken op het "huidige venster"
(venster 0 in libxdo) werken waarschijnlijk niet.

In de meeste gevallen is XTEST een functie die u op uw X-server kunt inschakelen als deze niet is ingeschakeld
standaard.

U kunt de lijst met ondersteunde X-extensies bekijken door 'xdpyinfo' te typen en te kijken naar de
tekst 'aantal extensies: ...'

Gebruik xdotool online met onworks.net-services



Nieuwste Linux & Windows online programma's