In this article, we will explore the challenges of implementing window visibility on Wayland, a display server protocol used by various operating systems. We will delve into the design philosophy of Wayland, the XDG Shell protocol, and the implications of these on window management. We will also discuss the implementation of window visibility in the winit and iced libraries, highlighting the modifications made to support this feature. Finally, we will provide a summary of the key takeaways and references for further reading.