openai / openai/codex

[Windows][Pets] Avatar overlay ignores monitor work area in mixed-resolution multi-monitor layout

Open
#45,253 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug pets windows-os
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: 2560x1440 at (0,0), working area 2560x1392
  • Left: 1920x1080 at (-1920,226), working area 1920x1032
  • Right: 1920x1080 at (2560,217), working area 1920x1032
  • 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?
  1. On Windows, configure one 2560x1440 primary monitor and two vertically offset 1920x1080 side monitors.
  2. Keep the taskbar visible at the bottom, reserving 48 pixels.
  3. Open the Codex desktop app on the primary monitor.
  4. Enable a Codex pet/avatar overlay.
  5. Let the pet return to its resting position at the bottom-right of the primary display.
  6. Observe that the pet is partly hidden behind the taskbar.
  7. Inspect electron-avatar-overlay-bounds in .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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.