Releases: bugraskl/eye-tracker
Release list
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
Eye Tracker 0.1.0
Added
- Glance-to-switch: the cursor (and optionally keyboard focus) moves to the monitor you look at,
using head pose and iris position from any webcam. MediaPipe's face-landmark model runs through
OpenCV's DNN module; the MediaPipe runtime, which contains a usage logger, is not used. - Per-monitor memory: the cursor returns to where you left it on each screen and the last-used
window on that screen gets keyboard focus, without synthetic clicks. - Guards against accidental switches: dwell time, hysteresis at the bezel, typing, mouse and
reading grace periods, and a cooldown. Glances at your phone or desk are recognised from the
calibration's estimate of where your head and eyes point, and ignored, also on desks that mix
monitors of different pixel density (a 4K panel next to a 1080p one). - Robust face tracking: posture shifts, large upward ones included, are caught up within the same
frame, strongly tilted heads are found, and a poster or a colleague picked up while you were away
gives way to you once you are back. - Guided calibration for any number of monitors in any arrangement, with a quality grade and
cross-validated accuracy, and one profile per monitor layout, camera and backend. A setup that
is not calibrated yet is reminded of it, also when Eye Tracker starts at login; one monitor, or
switching turned off, needs no calibration and gets no prompts. - Adaptive learning from natural mouse use and drift alerts that suggest recalibration.
- Walk-away detection: lock the session and/or switch the displays off after a cancellable
countdown, and wake the displays when you return. Until the setup assistant is finished, walking
away only shows a notification. - Privacy mode that fully releases the camera (hotkey and tray) and stays on across restarts and
updates until you turn it off; automatic pause while the session is locked, while another app
uses the camera (Windows and Linux) and while apps from a list run. - An opt-in shoulder-surfer guard that covers the screens, notifies or locks when a second face
appears behind you. Faces are counted, never recognised, and the guard never decides whether you
are at the computer. After you unlock a lock it caused, it covers the screens instead of locking
you out again while the colleague next to you is still around. - Adaptive frame rate and a motion gate for very low CPU use; Eco, Balanced and Responsive profiles.
- Global hotkeys on Windows (Ctrl+Alt+Win+T/P/C), macOS (⌃⌥⌘T/P/C) and X11 (Ctrl+Alt+Super+T/P/C).
A combination that would type a character, that a keyboard-layout option makes impossible to
press, or that another app owns is reported instead of failing silently. The pause and privacy
hotkeys confirm with a notification which way they switched. On Wayland,eye-tracker ctl
commands can be bound to desktop shortcuts. - Start at login on Windows, macOS and Linux.
eye-tracker doctordiagnostics that are safe to paste into a public issue (the home folder is
shown as~), including hotkey registration, the installed Linux lock tools and the command of
your copy;eye-tracker benchperformance measurement.- Windows installer (per user; optionally puts an
eye-trackercommand on the PATH, which starts
the app on its own rather than inside the terminal, and restarts the app after a silent upgrade)
and portable ZIP, macOS DMG (macOS 14 or later, Apple silicon), Linux AppImage and tarball
(without Qt's GTK theme and its VNC, WebGL and framebuffer platform plugins). - A privacy gate that fails CI on networking or frame-writing code and scans every bundled native
library and Python module of the release builds.
Downloads
| Platform | File |
|---|---|
| Windows 10/11 (x64), installer | EyeTracker-0.1.0-windows-x64-setup.exe |
| Windows 10/11 (x64), portable | EyeTracker-0.1.0-windows-x64-portable.zip |
| macOS 14 or later (Apple silicon) | EyeTracker-0.1.0-macos-arm64.dmg |
| Linux (x86_64), AppImage | EyeTracker-0.1.0-linux-x86_64.AppImage |
| Linux (x86_64), tarball | EyeTracker-0.1.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