A lightweight X11 window manager written in C, featuring workspace management, window focusing, and keyboard shortcuts.
- Workspace Management: 9 virtual workspaces to organize your windows
- Window Management: Automatic window tracking, focusing, and stacking
- Keyboard Shortcuts: Convenient shortcuts for common tasks
- Minimal Resource Usage: Lightweight C implementation
- X11 development libraries (libx11-dev, libxcb, libxrandr, libxinerama, libxft)
- CMake
- C compiler (gcc/clang)
- make
mkdir -p build
cd build
cmake ..
makesudo make installThe easiest way to test Aster WM is using the included test script, which launches a Xephyr nested X server:
# Make sure the script is executable
chmod +x run_test.sh
# Run the test script
./run_test.shThis will open a Xephyr window where you can test Aster WM without affecting your main desktop session.
| Shortcut | Action |
|---|---|
| Alt+Enter | Launch terminal |
| Alt+Tab | Cycle through windows |
| Alt+1 to Alt+9 | Switch to workspace 1-9 |
| Alt+Shift+Q | Quit window manager |
- Windows are automatically managed when created
- Each window gets a colored border (blue for focused, gray for unfocused)
- Windows are automatically positioned to avoid stacking directly on top of each other
- Windows can be organized into 9 separate workspaces
To use Aster WM as your primary window manager with startx, add the following to your ~/.xinitrc:
exec aster-wmsrc/: Source codemain.c: Main window manager setup and event loopclient.c: Window/client management functionswindow.c: X window event handling functionskeyboard.c: Keyboard shortcuts handling
include/: Header filesaster.h: Main header with data structures and function declarations
build/: Build artifacts
Potential features for future development:
- Mouse-based window moving and resizing
- Window tiling capabilities
- Configuration file support
- System tray support
- Multiple monitor support
- Application launcher
MIT License