Polecenie XDoTool, aby czekać na zakończenie procesu

5

Używam programu VisiPics do usuwania zduplikowanych zdjęć. Czas przetwarzania usuwania zależy od liczby zdjęć i duplikatów. Utworzyłem polecenie Xdotool, aby wykonać pewne operacje na Visipics:

xdotool mousemove 239 85 click 1 mousemove 316 68 click 1 mousemove 413 71 click 1 mousemove 605 243 click 1 click 1 click 1 click 1 click 1 mousemove 468 301 click 1 sleep 30 mousemove 817 170 click 1 mousemove 769 483 click 1 mousemove 809 249 sleep 1 click 1 mousemove 757 484 click 1 mousemove 800 487 click 1 mousemove 839 11 click 1 mousemove 760 485 click 1

Oto obraz działań:

wprowadź opis zdjęcia tutaj

Część polecenia, która stwarza problemy, to krok 3 na powyższym obrazku. sleepCzasami stwierdziłem, że to działa:

mousemove 468 301 click 1 sleep 30 mousemove 817 170 click 1

Ponieważ czas oczekiwania na przetwarzanie zdjęć jest różny, sleeppolecenie nie działa dobrze przez cały czas. Próbowałem także użyć --delaypolecenia, ale pojawia się błąd xdotool: Unknown command: --delay.

Nawiasem mówiąc, kilka lat temu zadałem podobne pytanie dotyczące Visipics , ale to nie pomaga mi w tym konkretnym problemie, chociaż działania, które chcę, aby Xdotool wykonywał za pomocą Visipics, są takie same.

Czy istnieje sposób, aby Xdotool stwierdził, że program zakończył przetwarzanie zdjęć przed wykonaniem pozostałych czynności?

użytkownik8547
źródło
2
Czy zastanawiałeś się nad użyciem innego narzędzia, które może nie wymagać tej automatyzacji?
l0b0,
Visipics to najlepsza wyszukiwarka duplikatów obrazów, z jakiej kiedykolwiek korzystałem i korzystałem z wielu z nich, zarówno dla systemu Windows, jak i Linux. Visipics doskonale współpracuje również z Wine. Deweloper powiedział, że planuje stworzyć wersję CLI, ale ponieważ jest to hobby, nie spieszy mu się. Jednak nie wypróbowałem kilku programów do duplikowania wymienionych pod twoim linkiem, więc sprawdzę je.
user8547,
Oczekiwanie na zakończenie procesu można łatwo wykonać w skrypcie powłoki. Ale przeczytanie reszty pytania brzmi tak, jakbyś nie próbował tego zrobić. Zaktualizuj swoje pytanie, tak aby tytuł i pytanie zadawały to samo.
kasperd
Jak sugerowałbyś to słowo? „Polecenie XDoTool, aby czekać na zakończenie procesu w toku”?
user8547,

Odpowiedzi:

-1

Odpowiedź jest taka, że ​​obecnie nie można tego zrobić. Polecenia uśpienia / opóźnienia są jedynymi możliwymi obejściami, jeśli robisz to w ten sposób.

Jedynym sposobem na pełną i niezawodną automatyzację procesu jest

  • Odp .: Jeśli narzędzie może być obsługiwane z wiersza poleceń zamiast z GUI, dowiedz się, jakie argumenty wiersza poleceń są potrzebne, w jakiej kolejności, a następnie skonfiguruj alias w bashrc, aby móc go uruchomić w dowolnym momencie.
  • B: Znalezienie alternatywnego programu, który mógłby zrobić to samo za pomocą wiersza poleceń zamiast polegać na GUI.

Szybkie wyszukiwanie w Google pokaże, że dla visipics 2 powinno to obsługiwać w wersji pro zgodnie z jego koncepcją, jednak ponieważ nie zostało jeszcze opracowane, a minęło 8 lat od jego planów, jest mało prawdopodobne, abyśmy Zobaczymy to w najbliższym czasie.

Co pozostawia Ci tylko opcję zadowolenia się tym, co masz teraz i korzystania ze snu, lub przełączenia się na inne narzędzie, takie jak dupeGuru lub fslint.

Cestarian
źródło