Floating ยท Window Manager / Compositor
EWM (Wayland)
EWM is a modern, fast Linux desktop environment based on Emacs.
Ezemtsov, contributors
Overview
About EWM (Wayland)
EWM is a modern, fast Linux desktop environment based on Emacs. It is written in Rust, built on Smithay, and runs as a dynamic module inside an Emacs session. Wayland applications appear as Emacs buffers, which means graphical windows can be managed with the same commands, keybindings, and workflows as the rest of Emacs.
The ultimate goal of EWM is to let power users be bottlenecked by their own thinking, not by the tools they use. Computers should never stand in our way. EWM is built around the idea that window management, application launching, navigation, text input, and system control should be fast, deterministic, programmable, and composable.
Years ago I tried Emacs and became obsessed with how elegant and powerful the flow was. Most Emacs actions do not require visual feedback: once a command sequence is learned, it can be executed blindly through deterministic key presses. Over time this creates a huge productivity boost, with virtually no skill cap. The only missing piece was graphical windows. EWM solves that by making Wayland windows part of the Emacs environment itself.
Approach
EWM was bootstrapped with LLM assistance. Today, coding agents are used mainly to compare EWM against niri and catch divergences from proven Smithay compositor patterns before they become correctness, performance, or reliability issues. This feedback loop is a major reason EWM could be built quickly while still becoming fast and reliable enough for daily use.
Notable features
Runs as a Rust dynamic module inside Emacs so graphical surfaces behave like Emacs buffers
Gallery