.github/workflows | ||
.idea | ||
resources | ||
session/usr/local/share/wayland-sessions | ||
snap | ||
src | ||
tests | ||
.gitignore | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
USERGUIDE.md |
Warning
: This project is a work in progress. Only use if you are willing to encounter some paper cuts along the way. If you are willing to lend your time to find/fix bugs or submit proposals for new features, it is greatly appreciated.
About
miracle is a wayland tiling window manager based on Mir. The tiling features are very sway/i3-like, but will diverge in some important ways in the future. See the timeline section below for the current status and direction.
Install
sudo snap install miracle-wm --edge --classic
Building
From Source:
git clone https://github.com/mattkae/miracle.git
cd miracle
mkdir build
cd build
cmake ..
./bin/miracle-wm
Snap:
cd miracle-wm
snapcraft
sudo snap install --dangerous miracle-wm_*.snap
Running
On login:
Once installed, you may select the "Miracle WM" 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.
Hosted:
To run the window manager as a window in 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.
Usage
See the user guide for information on how to use the miracle window manager.
Timeline
The goal is to have a tiling manager that I am comfortable daily-driving by summer of 2024.
Proof of Concept (Due: January 15th) Version: 0.1.0
Features:
- Layout new window
- Delete window
- Resizing windows
- Changing selected window with keyboard
- Moving window with keyboard
- Gaps in windows
- Account for minimum sizes on windows (e.g. gedit)
- Disabling many of the Floating Window Manager features
- Handle exclusion zones
- Handle output creation
- Handle output updating
- Handle output deletion
- Handle fullscreen
- Application Quit Behavior
Stabilization + Usability (Due: March 1st) Version: 0.2.0
Features:
- Fix major bugs
- Configuration File
- Gap size
- Action key
- Keybindings
- Workspaces
- Moving windows between workspaces
- Stacking windows
- Highlight border around selected window