ubuntuusers.de

xdotool: Script anpassen?

Status: Ungelöst | Ubuntu-Version: Xubuntu 12.10 (Quantal Quetzal)
Antworten |

Thorsten_Reinbold Team-Icon

Anmeldungsdatum:
10. Juli 2006

Beiträge: 4784

Hallo.

Ich bräuchte mal etwas Hilfe. Ich habe mir, als bekennender Fan alter Konsolen, vor einer Weile mal ein kleines Script geschrieben, welches mir das Hochleveln in einem Spiel für den Emulator pSX erleichtert:

#!/bin/bash
winid=$(xdotool search "pSX v1.13" | head -n1)
while true
	do
	xdotool keydown --window $winid "x"
	xdotool keyup --window $winid "x"
done
exit 0

Das klappt auch nach wie vor hervorragend. 😉

Nun nutze ich allerdings auch VBA-M (GBA-Emulator) und wollte das Ganze in abgewandelter Form mal darauf anpassen, allerdings scheitere ich hier daran, daß xdotool den Fensternamen irgendwie nicht richtig mitbekommt.

Der Fenstername wurd von xdotool mit

xdotool getactivewindow getwindowname

korrekt mit "VBA-M" ausgewertet.

Versuche ich nun aber (testweise) das hier:

#!/bin/bash
winid=$(xdotool search "VBA-M" | head -n1)
while true
	do
	xdotool keydown --window $winid "x"
	xdotool keyup --window $winid "x"
done
exit 0

kommt nur die Meldung

Defaulting to search window name, class, and classname

und der Befehl wird nicht an das Fenster weitergeleitet. Was mache ich da falsch? Ich bin nach stundenlangem herumsuchen halb am aufgeben. :/

EDIT: ich stelle gerade fest das

xdotool search "VBA-M"

mehrere IDs ausgibt:

xdotool search "VBA-M"
Defaulting to search window name, class, and classname
50331649
50331736
50333201
50333289
50336117
50336738
50335409
50331656

Nur die letzte funktioniert, wenn auch nicht permanent. Offenbar mache ich hier ganz fundamental etwas bei dem Versuch falsch, xdotool das richtige Fenster mitzuteilen. Nur: wie geht das besser?

Thorsten_Reinbold Team-Icon

(Themenstarter)

Anmeldungsdatum:
10. Juli 2006

Beiträge: 4784

Ok, weitere Feststellung: pSX hat scheinbar immer nur eine ID, unabhängig vom Zustand des Programms. VBA-M hat, je nach Zustand (frisch gestartet, Spiel geladen, Savegame geladen) mehrere davon.

Jetzt müsste ich praktisch nur wissen, wie ich xdotool anweisen kann, NUR auf den Fensternamen zu schauen und die IDs zu ignorieren.

Antworten |