2023-12-19 18:39:11 +03:00
|
|
|
**WARNING**: This project is very much a work in progress. I have provided a rough roadmap in the timeline section.
|
|
|
|
Use at your own risk.
|
|
|
|
|
2023-12-28 21:43:07 +03:00
|
|
|
# miracle-wm
|
|
|
|
**miracle-wm** is a wayland tiling window manager based on [Mir](https://github.com/MirServer/mir). The tiling features
|
|
|
|
will be very sway/i3-like for the first iteration, but will diverge in some important ways later on. See the [timeline](#timeline)
|
|
|
|
section below for the current status and direction.
|
2023-12-21 19:34:04 +03:00
|
|
|
|
2023-12-28 21:43:07 +03:00
|
|
|
The ultimate goal of this work is to build an entire desktop envrionment on top of this window manager, but that will remain a
|
|
|
|
concern for a different repository with a different timeline.
|
2023-12-21 19:34:04 +03:00
|
|
|
|
2023-12-28 21:43:07 +03:00
|
|
|
# Building locally
|
|
|
|
```sh
|
|
|
|
git clone https://github.com/mattkae/miracle-wm.git
|
|
|
|
cd miracle-wm
|
2023-12-07 17:52:38 +03:00
|
|
|
|
2023-02-18 20:06:27 +03:00
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
2023-12-28 21:43:07 +03:00
|
|
|
./bin/miracle-wm
|
|
|
|
```
|
|
|
|
|
|
|
|
# Building the snap
|
|
|
|
```sh
|
|
|
|
cd miracle-wm
|
|
|
|
snapcraft
|
|
|
|
sudo snap install --dangerous --classic miracle-wm_*.snap
|
2023-02-18 20:06:27 +03:00
|
|
|
```
|
|
|
|
|
2023-12-28 22:07:52 +03:00
|
|
|
# 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 on your desktop
|
|
|
|
To run the window manager as a window in your current desktop session, simply run:
|
|
|
|
```sh
|
|
|
|
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.
|
|
|
|
|
2023-12-19 18:39:11 +03:00
|
|
|
# Timeline
|
2023-12-28 21:43:07 +03:00
|
|
|
## Tiling Window Manager Basics (Due: January 1st)
|
2023-12-19 18:39:11 +03:00
|
|
|
Version: 0.1
|
|
|
|
|
|
|
|
Features:
|
2023-12-07 17:52:38 +03:00
|
|
|
- [x] Layout new window
|
|
|
|
- [x] Delete window
|
2023-12-19 18:39:11 +03:00
|
|
|
- [x] Resizing windows
|
|
|
|
- [x] Changing selected window with keyboard
|
|
|
|
- [x] Moving window with keyboard
|
2023-12-07 17:52:38 +03:00
|
|
|
- [ ] Gaps in windows
|
|
|
|
- [ ] Account for minimum sizes on windows (e.g. gedit)
|
2023-12-28 21:31:57 +03:00
|
|
|
- [x] Disabling many of the Floating Window Manager features
|
2023-12-19 18:39:11 +03:00
|
|
|
- [ ] Handle exclusion zones
|
|
|
|
- [ ] Handle output creation, updating, and deletion
|
2023-02-25 21:09:26 +03:00
|
|
|
|
2023-12-28 21:43:07 +03:00
|
|
|
## Tiling Advanced(Due: February 1st)
|
2023-12-19 18:39:11 +03:00
|
|
|
Version: 0.2
|
|
|
|
|
|
|
|
Features:
|
2023-12-07 17:52:38 +03:00
|
|
|
- [ ] Workspaces
|
|
|
|
- [ ] Moving windows between workspaces
|