MCPcopy Create free account
hub / github.com/MagmaWM/MagmaWM

github.com/MagmaWM/MagmaWM @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
215 symbols 430 edges 24 files ⚖ MIT 10 documented · 5% updated 16mo ago★ 23110 open issues

Browse by type

Functions 176 Types & classes 39
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://repository-images.githubusercontent.com/635377565/a694ba10-40cb-4c7e-aec9-c3d44516e6c7" style="width: 15%;" alt="wmlogo"></img>
<h1 align="center">MagmaWM</h1>

a versatile and customizable Wayland Compositor

<img src="https://img.shields.io/github/languages/top/magmawm/magmawm?style=for-the-badge"/>
<img src="https://img.shields.io/github/commit-activity/m/magmawm/magmawm?style=for-the-badge"/>
<img src="https://img.shields.io/github/issues/magmawm/magmawm?style=for-the-badge"/>
<img src="https://img.shields.io/github/license/magmawm/magmawm?style=for-the-badge"/>
<img src="https://img.shields.io/discord/1087402623646322748?style=for-the-badge"/>

About

MagmaWM is a versatile and customizable window manager / Wayland compositor, currently in development and actively seeking contributions from the community. Built with the Smithay library and programmed in Rust, 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!

Features

  • [x] RON Configuration
  • [x] Nvidia Support
  • [ ] Dynamic Tiling and Floating Windows
  • [x] Keyboard and Monitor Managament
  • [x] Screencopy 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.)

# 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.

# pacman -Syu udev wayland wayland-protocols libinput libxkbcommon libglvnd seatd dbus-glib mesa

Fedora

# dnf install systemd-devel libgbm-devel libxkbcommon-devel Mesa-libEGL-devel wayland-devel libinput-devel dbus-glib-devel libseat-devel

openSUSE Tumbleweed

# 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:

$ 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:

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

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 146
Function 30
Class 29
Enum 7
Interface 3

Languages

Rust100%

Modules by API surface

src/utils/workspace.rs25 symbols
src/utils/focus.rs22 symbols
src/utils/render/mod.rs20 symbols
src/debug.rs18 symbols
src/backends/udev.rs17 symbols
src/config/mod.rs16 symbols
src/handlers/mod.rs13 symbols
src/config/types.rs13 symbols
src/handlers/xdg_shell.rs10 symbols
src/state.rs9 symbols
src/protocols/screencopy/frame.rs9 symbols
src/utils/binarytree.rs8 symbols

For agents

$ claude mcp add MagmaWM \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page