How to Actually Use Tracker Quick for Window Management on Windows
Tracker Quick is a lightweight Windows utility that saves and restores window positions, sizes, and z-order. It was built by a developer who got tired of windows randomly repositioning themselves after a reboot or when switching between multiple displays. The tool itself is simple, but the way people try to use it often goes wrong pretty quickly. I spent a couple of hours last year troubleshooting why my IDE was opening off-screen on a laptop docked to a second monitor, and the issue had nothing to do with Tracker Quick itself — it was a resolution mismatch between the two states. The download page is at trackerquick.sourceforge.net. The latest stable release is an executable around 400KB with no installer — just a .zip you extract and run. There's no UAC prompt, no bloatware, nothing suspicious. It runs entirely from memory and uses a JSON config file stored in your AppData folder. I put the exe in a dedicated folder under Program Files, right-click, and run it as admin only if I need it to manage windows of elevated processes. For normal desktop apps, standard user privileges are sufficient. Once launched, the UI is minimal: a main window with a list of tracked applications, a save button, a load button, and a settings panel. The settings panel lets you toggle auto-save on close, auto-load on startup, and configure per-monitor behavior. Here's where most people mess up. The per-monitor setting defaults to "save and restore exactly." That sounds fine until you move from a 4K monitor to a 1080p laptop screen and your windows end up half off the left edge of the display. You need to enable the relative positioning option under settings if you switch displays regularly. This makes Tracker Quick store window placement as a percentage of screen size rather than absolute pixels.
How It Actually Works Under the Hood
Tracker Quick hooks into the Windows message queue and intercepts the WM_MOVE and WM_SIZE messages sent to application windows. When a window closes, it captures the handle, the class name, the executable path, and the window rect. That information gets written to the config file. On next launch, it reads the config, matches the process by name, and sends post messages to reposition the window. The matching algorithm is straightforward but not perfect — it primarily matches on executable filename, which means if you have two different apps with the same exe name in different directories, Tracker Quick can't tell them apart. I ran into this exact problem with a custom internal tool. We had two versions of the same build sitting in dev and prod directories, both named app.exe. Tracker Quick saved the position for one and restored it for the other. The workaround was adding a unique command-line argument to each instance and then using the advanced config option to match on full process path instead of just the exe name. That option is buried in the settings dialog under "Advanced Matching" — easy to miss if you're not reading the tool tips.
Common Pitfalls and What Actually Breaks
The biggest issue I see people hit is that some modern apps use frameless windows or custom title bars. Tracker Quick uses the standard Windows rectangle, which includes the client area plus the non-client chrome. Apps like VS Code, Slack, and newer Electron-based tools sometimes report their bounds differently depending on whether they're using native or synthetic frames. The result is that Tracker Quick will reposition the window correctly but it will be slightly offset — usually about 8 to 16 pixels too high because it's placing the top of the client area at the saved coordinate instead of the top of the window frame. Another thing nobody warns you about: Tracker Quick doesn't handle virtual desktops well on Windows 10 and later. If you save a window position on Desktop 1 and then switch to Desktop 2 before loading, the restoration call silently fails because the window isn't on the active desktop. The fix is to make sure you're on the correct virtual desktop before hitting load, or just use the auto-load feature which fires when the app starts — at which point you're typically already on the active desktop. The tool also doesn't track overlay windows. If you have a main application window and a floating side panel that's a child process, Tracker Quick will save and restore the parent but ignore the child. I found this out the hard way with a multi-pane terminal setup where the main terminal window would restore perfectly but the split-pane tab bar would be missing entirely. The workaround was to add the terminal emulator's child process to the track list separately and give it its own saved position.
Get the Full Details

Should You Use It or Look Elsewhere?
Tracker Quick is fine if you need something dead simple and you're managing a handful of apps on a single display setup or two monitors with the same resolution. It does its job and it doesn't eat memory. But if you're running a complex multi-monitor rig, working across virtual desktops, or managing applications with non-standard window behavior, you're going to hit limits fast. In those cases, AutoHotkey with window management scripts or PowerToys FancyZones will give you more control, even though they require more setup time. FancyZones in particular handles per-monitor layouts natively and respects virtual desktop boundaries, which Tracker Quick simply doesn't. For what it is, Tracker Quick is adequate. Don't expect it to solve problems it was never designed to handle. Read the config file manually if something goes wrong — it's just JSON, no encryption, no obfuscation. Check the timestamps on your saves, verify the paths match your current machine, and make sure relative positioning is enabled if your display setup changes. That alone will save you most of the headaches I ran into.