[Windows][Pets] Avatar overlay ignores monitor work area in mixed-resolution multi-monitor layout
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using?
Current Windows desktop installation. The executable does not expose a file or product version. Installation build path hash: 8e5b6932251c2c1c.
What subscription do you have?
Paid ChatGPT subscription.
What platform is your computer?
Windows 11 Pro 25H2, build 26200.9168.
Three-monitor layout reported by Windows:
- Primary:
2560x1440at(0,0), working area2560x1392 - Left:
1920x1080at(-1920,226), working area1920x1032 - Right:
1920x1080at(2560,217), working area1920x1032 - The Windows taskbar reserves 48 pixels at the bottom of each display.
What issue are you seeing?
The Codex pet/avatar overlay settles at the bottom of the physical display instead of the bottom of the Windows working area, so its lower portion is hidden behind the taskbar. The overlay is click-through and cannot be dragged, leaving no way to correct its position manually.
Codex also stores incorrect geometry for this mixed-resolution layout. In .codex-global-state.json, electron-avatar-overlay-bounds.byDisplayId contains three distinct display IDs, but all three entries are recorded as 2560x1440 at (0,0). Only the primary monitor actually has that geometry; the two side monitors are 1920x1080 with different virtual-desktop origins.
An observed resting overlay position was (2424,1278) with stored display bounds (0,0,2560,1440). This aligns the overlay with the full display bottom at y=1440 rather than the usable bottom at y=1392, placing the bottom 48 pixels behind the taskbar.
The custom pet package itself validates correctly as a v2 pet and renders normally. The failure concerns desktop overlay placement, not sprite cropping.
What steps can reproduce the bug?
- On Windows, configure one 2560x1440 primary monitor and two vertically offset 1920x1080 side monitors.
- Keep the taskbar visible at the bottom, reserving 48 pixels.
- Open the Codex desktop app on the primary monitor.
- Enable a Codex pet/avatar overlay.
- Let the pet return to its resting position at the bottom-right of the primary display.
- Observe that the pet is partly hidden behind the taskbar.
- Inspect
electron-avatar-overlay-boundsin.codex-global-state.json; all three display IDs are stored with the primary monitor's geometry.
What is the expected behavior?
The avatar overlay should use the selected display's actual bounds and its Windows working area. Its resting position should remain above the taskbar. Each display ID should retain its own resolution and virtual-desktop origin. If the overlay remains click-through, Codex should provide another supported placement control or reliably calculate a usable position.
Additional information
The Codex main window was open on the primary monitor. Restarting Codex did not correct the saved display geometry or taskbar overlap. Taskbar auto-hide is not an acceptable requirement for using pets.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Windows display handling for electron-avatar-overlay-bounds and compare stored per-display geometry with each monitor's working area. Reproduce the mixed-resolution layout, then verify each display ID keeps its own bounds and the resting overlay stays above the taskbar.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, rust
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100