# EXWM

> full-featured tiling X window manager for Emacs

**Wikidata**: [Q108816697](https://www.wikidata.org/wiki/Q108816697)  
**Source**: https://4ort.xyz/entity/exwm

## Summary
EXWM is a full-featured tiling X window manager for Emacs, written in Emacs Lisp. It integrates with GNU Emacs to provide a tiling window management experience, allowing users to organize and manage windows efficiently within the Emacs environment. Released in 2015, EXWM is part of the GNU Project and distributed as a free software package.

## Key Facts
- **Type**: Tiling X window manager for Emacs
- **Language**: Written in Emacs Lisp
- **License**: GNU General Public License (GPL)
- **First Release**: July 17, 2015
- **Latest Version**: 0.29 (as of May 23, 2024)
- **Operating Systems**: Linux (X.Org Server) and BSD
- **Part of**: GNU Project (since November 3, 2015)
- **Distributed via**: GNU ELPA (Emacs Lisp Package Archive)
- **Repository**: Hosted on GitHub under the `emacs-exwm` organization
- **Dependencies**: Requires GNU Emacs and X.Org Server

## FAQs
### Q: What is EXWM and how does it work?
A: EXWM is a tiling window manager for Emacs that allows users to organize and manage windows within the Emacs environment. It is written in Emacs Lisp and integrates with GNU Emacs to provide a tiling window management experience.

### Q: Is EXWM free software?
A: Yes, EXWM is free software distributed under the GNU General Public License (GPL), allowing users to freely run, study, modify, and distribute it.

### Q: What operating systems does EXWM support?
A: EXWM supports Linux (with X.Org Server) and BSD-based operating systems.

### Q: How do I install EXWM?
A: EXWM can be installed via GNU ELPA, the Emacs Lisp Package Archive, or directly from its GitHub repository. It is also available in package managers for Debian, Ubuntu, and Gentoo.

### Q: Who developed EXWM?
A: EXWM was developed by Chris Feng and is part of the GNU Project. The project has since been maintained under the `emacs-exwm` organization on GitHub.

## Why It Matters
EXWM addresses the need for a tiling window manager specifically designed for Emacs, enhancing the user experience by allowing seamless integration of window management within the Emacs environment. By leveraging Emacs Lisp, it provides a consistent and customizable workflow for users who rely on Emacs for their development and productivity tasks. As part of the GNU Project, EXWM aligns with the principles of free software, ensuring accessibility and community-driven development. Its availability on multiple platforms and through various package managers makes it a practical choice for users seeking an efficient window management solution within Emacs.

## Notable For
- **Integration with Emacs**: EXWM is uniquely designed to work within the Emacs environment, providing a seamless tiling window management experience.
- **Free Software**: As part of the GNU Project, EXWM is distributed under the GNU General Public License, ensuring it remains free and open-source.
- **Cross-Platform Support**: EXWM supports both Linux (X.Org Server) and BSD-based operating systems, making it accessible to a wide range of users.
- **Active Development**: With regular updates and a dedicated community, EXWM continues to evolve, addressing user feedback and incorporating new features.
- **Package Availability**: EXWM is available through GNU ELPA, Debian, Ubuntu, and Gentoo package managers, simplifying installation and distribution.

## Body
### Overview
EXWM is a tiling X window manager specifically designed for GNU Emacs. It is written in Emacs Lisp and integrates with the Emacs environment to provide a tiling window management experience. The project was initiated in July 2015 and has since been maintained under the `emacs-exwm` organization on GitHub.

### Development and Release
- **First Commit**: The initial commit to the project was made on July 17, 2015.
- **GNU ELPA Integration**: EXWM was added to GNU ELPA on November 3, 2015, making it available for installation via the Emacs package manager.
- **Version History**: EXWM has undergone several releases, with the latest version being 0.29, released on May 23, 2024.

### Technical Details
- **Programming Language**: Emacs Lisp
- **Dependencies**: Requires GNU Emacs and X.Org Server for Linux support, with BSD compatibility.
- **Package Management**: Available through GNU ELPA, Debian, Ubuntu, and Gentoo package managers.

### Community and Support
- **GitHub Repository**: The project is hosted on GitHub under the `emacs-exwm` organization, with the primary repository located at [github.com/emacs-exwm/exwm](https://github.com/emacs-exwm/exwm).
- **Documentation**: Comprehensive documentation is available on the project's GitHub wiki.
- **Package Availability**: EXWM is included in the Nixpkgs collection and can be installed via the `emacsPackages.exwm` package.

### Licensing and Legal
- **License**: GNU General Public License (GPL)
- **Copyright**: Copyrighted under the GNU General Public License, with Chris Feng as the primary copyright holder.

### Related Projects
- **GNU Project**: EXWM is part of the GNU Project, a collection of free software projects.
- **Free Software Movement**: The project aligns with the principles of the free software movement, promoting software freedom and community collaboration.

## References

1. [Source](https://elpa.gnu.org/packages/exwm.html)
2. [Source](https://github.com/ch11ng/exwm/commit/10a7fe8d65e8f0ce9c1fc24ba6080afedcc1a76a)
3. Free Software Directory
4. [exwm version 0.24. 2020](https://lists.gnu.org/archive/html/gnu-emacs-sources/2020-05/msg00036.html)
5. [Release 0.24. 2021](https://github.com/ch11ng/exwm/releases/tag/0.24)
6. [Exwm version 0.25. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-10/msg00102.html)
7. [Release 0.25. 2021](https://github.com/ch11ng/exwm/releases/tag/0.25)
8. [Exwm version 0.26. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-11/msg00022.html)
9. [Release 0.26. 2021](https://github.com/ch11ng/exwm/releases/tag/0.26)
10. [Release 0.20. 2018](https://github.com/ch11ng/exwm/releases/tag/0.20)
11. [Release 0.21. 2018](https://github.com/ch11ng/exwm/releases/tag/0.21)
12. [Release 0.22. 2019](https://github.com/ch11ng/exwm/releases/tag/0.22)
13. [Release 0.23. 2019](https://github.com/ch11ng/exwm/releases/tag/0.23)
14. [exwm version 0.23. 2019](https://lists.gnu.org/archive/html/gnu-emacs-sources/2019-09/msg00005.html)
15. [Release 0.27. 2022](https://github.com/ch11ng/exwm/releases/tag/0.27)
16. [Exwm version 0.27. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-11/msg00022.html)
17. [Exwm version 0.28. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-10/msg00018.html)
18. [Source](https://github.com/emacs-exwm/exwm/releases/tag/0.29)
19. [[GNU ELPA] Exwm version 0.30. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-05/msg00056.html)
20. [Release 0.31. 2024](https://github.com/emacs-exwm/exwm/releases/tag/0.31)
21. [[GNU ELPA] Exwm version 0.31. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-07/msg00015.html)
22. [Release 0.32. 2024](https://github.com/emacs-exwm/exwm/releases/tag/0.32)
23. [[GNU ELPA] Exwm version 0.32. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-10/msg00007.html)
24. [Release 0.33. 2025](https://github.com/emacs-exwm/exwm/releases/tag/0.33)
25. [[GNU ELPA] Exwm version 0.33. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-01/msg00040.html)
26. [Release 0.34. 2025](https://github.com/emacs-exwm/exwm/releases/tag/0.34)
27. [[GNU ELPA] Exwm version 0.34. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-06/msg00064.html)
28. [Source](https://github.com/ch11ng/exwm)