Miracle is a Wayland tiling window manager built on Mir
Go to file
Matthew Kosarek 37d803997e refactor: window management and node discovery (#41)
* Refactored window management and node discovery in preparation for a floating window manager
* This includes making node discovery a pointer jump instead of a tree search (huge for performance!)
* Renamed WindowTree to Tree
* Renamed MiracleWindowManagementPolicy to TilingWindowManagementPolicy
2024-02-25 15:08:01 -05:00
.github/workflows feature: supporting I3 IPC enough to make waybar's workspaces function (#35) 2024-02-21 18:54:59 -05:00
.idea snap support 2023-12-28 13:31:57 -05:00
resources docs: update snap description and screenshot 2024-02-17 18:00:52 -05:00
session/usr/local/share/wayland-sessions Use GNUInstallDirs for install locations (#39) 2024-02-25 10:27:29 -05:00
snap feature: supporting I3 IPC enough to make waybar's workspaces function (#35) 2024-02-21 18:54:59 -05:00
src refactor: window management and node discovery (#41) 2024-02-25 15:08:01 -05:00
tests feature: unit testing integration + bugfix for starting in fullscreen mode (#13) 2024-01-15 10:56:41 -05:00
.gitignore snap support 2023-12-28 13:31:57 -05:00
CMakeLists.txt refactor: window management and node discovery (#41) 2024-02-25 15:08:01 -05:00
LICENSE Create LICENSE 2023-12-28 13:45:30 -05:00
README.md Fix source build instructions to actually build it (#30) 2024-02-20 09:12:22 -05:00
ROADMAP.md feature: automatically reloading configuration (#38) 2024-02-24 16:39:25 -05:00
USERGUIDE.md feature: automatically reloading configuration (#38) 2024-02-24 16:39:25 -05:00

Warning

This project is a work in progress. The first stable, feature-complete release will be version 1.0.0. As such, it is advised that you do not use this as your daily driver unless you are willing to encounter some paper cuts along the way. If you are willing to lend your time to find bugs, fix bugs, or submit proposals for new features, it would be greatly appreciated.

About

miracle-wm is a Wayland compositor based on Mir. It features a tiling window manager at its core, very much in the style of i3 and sway. The intention is to build a compositor that is flashier and more feature-rich than either of those compositors, like swayfx.

Please see the roadmap document for the current status and direction of the project.

miracle in action

Install

sudo snap install miracle-wm --classic

Or for the nightly build:

sudo snap install miracle-wm --classic --edge

Note

While the project is only built as a snap at this moment, I am not allergic to other packaging formats, just perhaps too lazy to implement them at this moment. I will happily accept contributions in this domain.

Usage

See the user guide for info on how to use miracle-wm.

Building

From Source:

git clone https://github.com/mattkae/miracle-wm.git
cd miracle-wm

cmake -Bbuild
cmake --build build
WAYLAND_DISPLAY=wayland-98 ./build/bin/miracle-wm

Snap:

cd miracle-wm
snapcraft
sudo snap install --dangerous --classic miracle-wm_*.snap

Running

On login:

Once installed, you may select the "Miracle" option from your display manager before you login (e.g. GDM or LightDM). In most environments, this presents itself as a little "settings" button after you select your name.

Note that if you build directly from source, the option may read "Miracle (Non Snap)" to distinguish it from the snapped version.

Hosted:

To run the window manager as a window on your current desktop session, simply run:

WAYLAND_DISPLAY=wayland-98 miracle-wm

Note that this is only useful if you want to test-drive the window manager or do some development on it for yourself.