Eye Tracker 0.2.0
Added
- Project website at https://bugraskl.github.io/eye-tracker/ in English and Turkish, rebuilt
with the download links of every release. - Split-pane focus (experimental, off by default): looking at another pane of a tmux, WezTerm or
Windows Terminal window on the monitor you work on gives that pane the keyboard focus, through the
tools' own command-line interfaces (tmux also inside WSL) or, for Windows Terminal, UI Automation
(while it is the foreground window). Only panes several times larger than your
calibration's gaze error take part; the typing, reading and mouse graces apply, and Electron and
Chromium apps are never inspected (except the opt-in desktop apps below). Turn it on with Follow split panes in the tray menu or in
Settings → Switching; see split-pane focus. - Split-pane focus for the Claude and ChatGPT desktop apps on Windows (opt-in with
panes.desktop_appsor Settings → Switching → Split panes, off by default): with two Claude
chat sessions side by side, or a ChatGPT or Codex conversation next to its side chat or side
panel, the one you look at gets the keyboard focus in its message box. The app's accessibility tree is
walked through UI Automation in a few dozen bounded steps (never more than 400), reading only
element types, class names and rectangles. Asking for that tree makes the app build it, which can
cost it some CPU and memory while the setting is on. Every other Chromium and Electron app stays
on the deny-list. - With split-pane focus, the mouse cursor follows into the pane that gets the keyboard focus, back
to where you last left it in that pane, or its centre (panes.move_cursor, on by default). - The calibration now measures the gaze error on each monitor across and down; calibrations made
with earlier versions get it from their saved samples when it is first needed. eye-tracker ctl statusreports split-pane focus in apanesblock, and--tracerecords the
pane decisions (pane ids only).
Fixed
- Windows: started from a terminal inside a packaged (MSIX) app, Eye Tracker took its own use of the
camera for another app's and released the camera every few seconds. It now also recognises its
interpreter under the redirected path that Windows records.
Downloads
| Platform | File |
|---|---|
| Windows 10/11 (x64), installer | EyeTracker-0.2.0-windows-x64-setup.exe |
| Windows 10/11 (x64), portable | EyeTracker-0.2.0-windows-x64-portable.zip |
| macOS 14 or later (Apple silicon) | EyeTracker-0.2.0-macos-arm64.dmg |
| Linux (x86_64), AppImage | EyeTracker-0.2.0-linux-x86_64.AppImage |
| Linux (x86_64), tarball | EyeTracker-0.2.0-linux-x86_64.tar.gz |
Verify a download with SHA256SUMS.txt, e.g. sha256sum -c SHA256SUMS.txt --ignore-missing,
or its build provenance with gh attestation verify <file> --repo bugraskl/eye-tracker.
Command line (doctor, ctl, bench…): eye-tracker in a new terminal after
installing on Windows (the installer adds it to PATH unless you untick that option;
the portable ZIP has eye-tracker-cli.exe),
"/Applications/Eye Tracker.app/Contents/MacOS/eye-tracker-cli" on macOS, and the
.AppImage file itself (or eye-tracker/eye-tracker from the tarball) on Linux.
The builds are not signed with a paid certificate: Windows SmartScreen may ask you to
confirm ("More info" → "Run anyway"), and on macOS the first launch needs
"Open Anyway" in System Settings → Privacy & Security.
Updating on macOS: this build is signed ad hoc, so macOS treats every version
as a new app. It asks for camera access again, and the Accessibility switch for
Eye Tracker still looks on but no longer applies: if keyboard focus stops following
your gaze, open System Settings → Privacy & Security → Accessibility, remove
Eye Tracker with "−" and add it again.
Help: troubleshooting ·
platform support · privacy