Multi-Tofu 0.3.0
Having it running when you play, plus the performance work from 0.2.4.
Starting it automatically
macOS has no trigger for "start this app when that other app starts". launchd watches paths, mounts and queues, not application launches, and an app can only be told about launches once it is already running. So there are two honest routes, and Multi-Tofu now supports both.
Start at login. A checkbox in Settings, registered through SMAppService so it shows up in System Settings > General > Login Items where you can revoke it. It costs nothing while you are not playing: with no Dofus client running, a scan never reaches the accessibility layer at all.
Or watch the launcher's files. Both the Ankama Launcher and the game write to their own directories on startup, and launchd can watch those.
./tools/watch_ankama.sh install
./tools/watch_ankama.sh remove
It starts the app in the background so nothing steals focus, and launching it twice is harmless because a second instance refuses to start.
Performance, from 0.2.4
The keyboard tap was also watching every mouse move, because the wheel needs the pointer. An event tap sees the whole session event stream and mouse moves are the highest volume events on it. Mouse tracking is now a separate listen-only tap that exists only while the wheel is on screen. At rest the app touches no mouse events at all.
Also
The build no longer fights iCloud, which was making code signing fail at random, and the bundle version is read from the package rather than a hardcoded 0.1.0 that every earlier release reported.
Upgrading
Replacing the app drops the Accessibility grant. Switch Multi-Tofu back on in System Settings > Privacy & Security > Accessibility.