A modern, hackable window manager written in Zig.
ZWM is a lightweight window manager designed with hackability and customization in mind. Built using the Zig programming language, it aims to provide a flexible and efficient window management solution for Linux desktop environments.
Note: This project is in active development. Features and APIs may change significantly.
- Customizable Keyboard Shortcuts: Define and modify keyboard shortcuts through an intuitive configuration system
- Flexible Layout System: Easy-to-implement window layouts and arrangements
- Modular Architecture: Clean separation of concerns for better maintainability and extensibility
- Native Zig Implementation: Built from the ground up in Zig for optimal performance
ZWM follows a modular design with these core components:
- Window Manager (WM): Central component orchestrating all window management operations
- Window: Handles individual application window management and state
- Workspace: Manages layouts and workspace-specific constraints
- EventHandler: Routes system events to appropriate handlers
- Zig compiler (master branch) older versions are not supported
- X11 development libraries
- Linux operating system
# Installation instructions coming soonConfiguration is handled through a simple configuration file in Config.zig.
// Example configuration coming soon- Core window management functionality
- Basic layout implementations
- Event handling system
- Window focus handling needs improvement
- Some keyboard shortcuts may not register correctly
- Error handling improvements
- Floating window support
- Enhanced logging system
- Enhance zig build file.
- Codebase refactoring
- Keyboard shortcut system refinement
- Window restacking implementation
- Basic bar widget
- X11 Atoms support for legacy applications
- Extended Window Management Protocol support
- Additional layout implementations
- Plugin system
Contributions are welcome! Please feel free to:
- Submit feature requests and bug reports through issues
- Fork the repository and submit pull requests
No licence for now, do whatever you want.
Made with ❤️ using Zig