Electron 38.2+ now defaults to Wayland on Linux, following Chromium's lead in August 2025. The post explains what this means for app developers: Wayland enforces stricter rules around window positioning, focus stealing, global shortcuts, and screen capture compared to X11. Some Electron APIs like win.setPosition() and screen.getCursorScreenPoint() are unsupported on Wayland, while others like win.setOpacity() become newly feasible. A major challenge was client-side decorations (CSD) — Wayland provides only a plain rectangle per window, requiring apps to draw their own title bars and frames. Electron 41 resolved this for all window configurations including frameless windows. Developers are encouraged to test their apps on Electron 41+ with both GNOME and KDE Plasma, and a new Wayland CI test job now helps catch regressions.

10m read timeFrom electronjs.org
Post cover image
Table of contents
The third impact: Electron goes Wayland-native ​Wayland’s house, Wayland’s rules ​Understanding CSD, or when a window isn’t a window ​What’s next — and how you can help ​

Sort: