https://github.com/MagmaWM/MagmaWM
A versatile and customizable Window Manager and Wayland Compositor
https://github.com/MagmaWM/MagmaWM
rust smithay wayland wayland-compositor window-manager
Last synced: 9 months ago
JSON representation
A versatile and customizable Window Manager and Wayland Compositor
- Host: GitHub
- URL: https://github.com/MagmaWM/MagmaWM
- Owner: MagmaWM
- License: mit
- Created: 2023-05-02T15:05:38.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-29T05:05:15.000Z (about 2 years ago)
- Last Synced: 2024-04-29T16:51:06.758Z (about 2 years ago)
- Topics: rust, smithay, wayland, wayland-compositor, window-manager
- Language: Rust
- Homepage: https://magmawm.org
- Size: 305 KB
- Stars: 172
- Watchers: 9
- Forks: 17
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
MagmaWM
a versatile and customizable Wayland Compositor
## About
**MagmaWM** is a versatile and customizable window manager / [Wayland compositor](https://wayland.freedesktop.org/), currently in development and actively seeking contributions from the community. Built with the [Smithay](https://github.com/Smithay/smithay) library and programmed in [Rust](https://www.rust-lang.org/), MagmaWM along with it's RON config provides users with flexibility and customization options. MagmaWM is licensed under MIT, ensuring that it remains open-source and free for all to use and contribute to.
Join our [Discord](https://discord.gg/VM8DkxaHfa)!
## Features
- [x] RON Configuration
- [x] Nvidia Support
- [ ] Dynamic Tiling and Floating Windows
- [x] Keyboard and Monitor Managament
- [x] [Screencopy](https://wayland.app/protocols/wlr-screencopy-unstable-v1) Protocols for Screensharing/Screenshots
- [ ] Blur
- [ ] Animations
- [X] Borders
- [x] Can display wayland applications
- [ ] Xwayland Support
- [x] Working Popups
- [x] Can be launched from TTY
## Build
### 1. Dependencies
You will need to install MagmaWM's dependencies with your package manager of choice.
#### Debian and derivatives (Ubuntu, Linux Mint, MX Linux, etc.)
```bash
# apt install libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev
```
#### Arch and derivatives (EndeavourOS, Garuda, etc.)
> **Manjaro is not supported.**
```bash
# pacman -Syu udev wayland wayland-protocols libinput libxkbcommon libglvnd seatd dbus-glib mesa
```
#### Fedora
```bash
# dnf install systemd-devel libgbm-devel libxkbcommon-devel Mesa-libEGL-devel wayland-devel libinput-devel dbus-glib-devel libseat-devel
```
#### openSUSE Tumbleweed
```bash
# zypper in systemd-devel libgbm-devel libxkbcommon-devel Mesa-libEGL1 wayland-devel libinput-devel libdbus-glib-1-3 seatd-devel
```
### 2. Compilation
Clone the git repo and build MagmaWM by running the following command:
```bash
$ cargo build --release
```
The binary will be created in `./target/release/magmawm`.
> 💡 You can also use `cargo run --release` to run the project.
## Install
**MagmaWM** is still under heavy development and installation is not recommended.
If you really want to, run the following command to install MagmaWM:
```bash
cargo install --path .
```
## Troubleshooting
### Getting logs
Logs for MagmaWM can be found at `$HOME/.local/share/MagmaWM/`, when debugging a issue run MagmaWM with `RUST_LOG=debug`