>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
C-sharp

CrossMacro łączy nagrywanie kliknięć, skróty klawiszowe i harmonogram na trzech systemach operacyjnych

Spróbuj zautomatyzować rutynowe kliknięcia myszą na nowoczesnym Linuksie z Wayland. W dziewięciu na dziesięć przypadków stare, sprawdzone narzędzia takie jak xdotool po prostu rozkładają ręce z powodu ograniczeń bezpieczeństwa serwera wyświetlania. Na Windowsie do takich zadań zazwyczaj używa się AutoHotkey, a na macOS ludzie instalują osobne programy do klikania i rozwijania tekstu. Efekt jest taki, że każda stacja robocza kończy z niekompatybilną kolekcją oprogramowania.

Projekt CrossMacro próbuje wypełnić tę lukę i zapewnić jedno przejrzyste narzędzie do automatyzacji dla Linuksa, Windowsa i macOS.

CrossMacro recording interface preview

Pod maską

Autor napisał aplikację w C# z użyciem frameworka Avalonia UI. Zapewnia to przejrzysty interfejs, który wygląda identycznie na wszystkich systemach i obsługuje tuzin wbudowanych motywów (od Nord i Gruvbox po Dracula i Catppuccin).

Ale najważniejsza tutaj nie jest GUI — to jak rozwiązano problem wprowadzania danych. Na Linuksie aplikacja może działać w dwóch trybach: przez własny demon systemowy lub bezpośrednio przez urządzenia wejściowe (uinput / bezpośredni dostęp do urządzenia). Dzięki temu makra wykonują się bez problemów zarówno w klasycznym X11, jak i pod Wayland.

Główne funkcje

CrossMacro zbudowane jest jak szwajcarski scyzoryk dla pulpitu. Wewnątrz zawiera od razu cztery kierunki automatyzacji.

Nagrywanie i odtwarzanie akcji

Wszystko zaczyna się od klasycznego rejestratora. Naciśnij F8, wykonaj akcje myszą i klawiaturą, naciśnij ponownie F8. Gotowe.

Odtwarzanie przez F9 można dostosować do własnych potrzeb:

  • zmiana prędkości od 0,1x do 10,0x;
  • wstawienie pauzy w F10;
  • ustawienie liczby powtórzeń lub nieskończonej pętli;
  • dodanie losowych opóźnień między iteracjami, aby symulować działania żywej osoby.

Edytor makr z logiką

Zapisany plik z rozszerzeniem .macro nie wymaga ponownego nagrywania od zera, jeśli przypadkowo chybiłeś o kilka pikseli. Wbudowany edytor pozwala ręcznie edytować współrzędne, zmieniać kolejność akcji, wstawiać pauzy i bloki tekstu.

Podstawowe warunki i odczytywanie ekranu są również dostępne tutaj:

  • pixelcolor — odczytywanie koloru konkretnego piksela;
  • waitcolor — oczekiwanie na właściwy odcień w określonym punkcie ekranu;
  • pixelsearch — wyszukiwanie właściwego koloru w danym obszarze.

Takie polecenia przydają się, gdy trzeba poczekać na załadowanie okna lub zmianę stanu przycisku przed następnym kliknięciem.

| Odtwarzanie | Rozszerzanie tekstu | Skróty | | :---: | :---: | :---: | | Playback | Text Expansion | Shortcuts | | Zaplanowane zadania | Edytor | Ustawienia | | Scheduled Tasks | Editor | Settings |

Fragmenty tekstu i klawisze skrótów

Jeśli nie potrzebujesz skomplikowanych ruchów kursora i chcesz tylko szybko wstawić szablony odpowiedzi, adresy lub fragmenty kodu, CrossMacro ma wbudowany moduł rozszerzania tekstu. Wpisz zdefiniowany skrót, a narzędzie natychmiast zastąpi go długim tekstem.

Makra można też powiązać z kombinacjami klawiszy. Dostępne są dwa tryby: normalne uruchomienie przy naciśnięciu i wykonanie tylko podczas przytrzymywania klawisza.

Harmonogram i praca przez terminal

Dowolną akcję można zaplanować: raz, w interwale, co tydzień lub w wybrane dni.

Dla entuzjastów skryptów bash dostępna jest pełna linia poleceń. Aplikacja może uruchomić się bez otwierania głównego okna, działając w tle i wykonując makra bezpośrednio z terminala:

# Валидация файла макроса
crossmacro macro validate ./demo.macro

# Запуск макроса с ускорением в 1.25x и тремя повторами
crossmacro play ./demo.macro --speed 1.25 --repeat 3 --repeat-delay-ms 500

# Выполнение цепочки действий одной строкой
crossmacro run --step "move abs 800 400" --step "click left" --dry-run

Warto o tym pamiętać: tryb konsolowy nadal wymaga aktywnej sesji pulpitu. Nie będziesz w stanie uruchomić go na zdalnym serwerze bez wyświetlania graficznego.

Jak zainstalować i skonfigurować

Projekt jest dystrybuowany przez praktycznie wszystkie popularne kanały dystrybucji.

Na Linuksie dostępne są:

  • Flatpak przez Flathub (io.github.alper_han.crossmacro);
  • pakiety .deb i .rpm na stronie wydań;
  • AUR dla Arch Linuksa (yay -S crossmacro);
  • Oficjalny moduł dla NixOS (services.crossmacro).

Na Windowsie aplikacja jest instalowana przez winget (winget install AlperHan.CrossMacro), Microsoft Store lub przenośny plik exe. Na macOS dostępne są pakiety DMG dla Apple Silicon i Intela.

Jeśli coś pójdzie nie tak po instalacji (na przykład brak uprawnień do gniazda demona na Linuksie lub zapomnienie o przyznaniu uprawnień do nagrywania ekranu na macOS), deweloper dodał wbudowaną diagnostykę:

crossmacro doctor --json --verbose

Polecenie wyświetli status wszystkich usług i zasugeruje, których uprawnień brakuje w bieżącej sesji.

Czy warto wypróbować

CrossMacro nadaje się dla osób zmęczonych konfigurowaniem różnych narzędzi na różnych systemach operacyjnych. Jeśli regularnie wypełniasz te same formularze w starszych programach desktopowych, testujesz interfejsy za pomocą kliknięć lub wykonujesz powtarzalne czynności według harmonogramu, projekt z pewnością zaoszczędzi kilka godzin żmudnej pracy. Repozytorium jest otwarte na licencji GPL-3.0, aktywnie rozwijane i gotowe do użycia.

Powiązane projekty