rust-windowing / rust-windowing/winit

Mac OS window shadow disappears for transparent windows after switching away using Mission Control

Open
#2,882 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

A - needs repro B - bug DS - appkit
Dominant language
Rust
Stars
6.2k
Forks
1.3k
Avg merge
2d 19h
Merged PRs (30d)
9

Description

Starting from the window example, if you enable transparency on the window, then switch away using Mission Control, the window's shadow disappears when it's not foreground. Since it's complicated to explain preisely, I've made a screen recording. I used a third app (TextEdit) because switching back to Terminal did't seem to trigger the bug.

https://github.com/rust-windowing/winit/assets/27617/2a1c779f-b876-4c12-a377-787ee8f5c0b5

The issue originates from https://github.com/neovide/neovide/issues/1888. Since MacOS uses the shadow to represent the window's edge, it's not just an aesthetic annoyance, it causes overlapping windows with lots of text to visually blend together.

Screenshot 2023-06-16 at 11 48 44

There seems to be a rectangular artifact in the top-left corner of the window; perhaps the window manager thinks the window is very small and the rectangle is the shadow it draws?

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 with the window example and reproduce the issue by enabling transparency, switching away with Mission Control, and switching back via a third app such as TextEdit. Investigate the macOS window behavior shown in the recording and screenshot; done means the shadow remains visible for transparent, non-foreground windows without the top-left artifact.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.