Miracle is a Wayland tiling window manager built on Mir
Go to file
2024-01-23 21:34:19 -05:00
.github/workflows bugfix: fix for snap publish 2024-01-15 11:33:32 -05:00
.idea snap support 2023-12-28 13:31:57 -05:00
resources documentation: another screenshot 2024-01-06 15:32:28 -05:00
session/usr/local/share/wayland-sessions feature: installation for make install 2024-01-16 16:36:37 -05:00
snap bugfix: no more plug necessary AFAICT 2024-01-23 21:34:19 -05:00
src Merge branch 'master' of github.com:mattkae/miracle 2024-01-21 16:54:21 -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 feature: installation for make install 2024-01-16 16:36:37 -05:00
LICENSE Create LICENSE 2023-12-28 13:45:30 -05:00
README.md bugfix: did not need classic confinement 2024-01-15 11:56:18 -05:00
USERGUIDE.md feature: close selected application with meta + shift + q 2024-01-21 11:00:37 -05:00

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.

miracle in action miracle in action

Install

sudo snap install miracle-wm --edge

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

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

Stabilization + Usability (Due: March 1st) Version: 0.2

Features:

  • Fix major bugs
  • Configuration File
    • Gap size
    • Action key
    • Keybindings
  • Workspaces
    • Moving windows between workspaces
  • Stacking windows
  • Highlight border around selected window