2024-01-06 20:34:28 +03: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
|
2024-01-07 00:00:34 +03:00
|
|
|
> or submit proposals for new features, it is greatly appreciated.
|
2023-12-19 18:39:11 +03:00
|
|
|
|
2024-01-06 20:34:28 +03:00
|
|
|
# About
|
2023-12-29 18:09:27 +03:00
|
|
|
**miracle** is a wayland tiling window manager based on [Mir](https://github.com/MirServer/mir). The tiling features
|
2024-01-07 17:43:31 +03:00
|
|
|
are very sway/i3-like, but will diverge in some important ways in the future. See the [timeline](#timeline)
|
2023-12-28 21:43:07 +03:00
|
|
|
section below for the current status and direction.
|
2023-12-21 19:34:04 +03:00
|
|
|
|
2024-01-06 23:30:51 +03:00
|
|
|
![miracle in action](./resources/screenshot1.png "miracle in action")
|
|
|
|
![miracle in action](./resources/screenshot2.png "miracle in action")
|
2024-01-06 23:17:59 +03:00
|
|
|
|
2024-01-15 19:33:32 +03:00
|
|
|
# Install
|
|
|
|
```
|
2024-01-24 05:40:57 +03:00
|
|
|
sudo snap install miracle-wm --edge --classic
|
2024-01-15 19:33:32 +03:00
|
|
|
```
|
|
|
|
|
2024-01-06 20:34:28 +03:00
|
|
|
# Building
|
|
|
|
**From Source**:
|
2023-12-28 21:43:07 +03:00
|
|
|
```sh
|
2023-12-29 18:09:27 +03:00
|
|
|
git clone https://github.com/mattkae/miracle.git
|
|
|
|
cd miracle
|
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
|
|
|
|
```
|
|
|
|
|
2024-01-06 20:34:28 +03:00
|
|
|
**Snap**:
|
2023-12-28 21:43:07 +03:00
|
|
|
```sh
|
|
|
|
cd miracle-wm
|
|
|
|
snapcraft
|
2024-01-15 19:47:40 +03:00
|
|
|
sudo snap install --dangerous miracle-wm_*.snap
|
2023-02-18 20:06:27 +03:00
|
|
|
```
|
|
|
|
|
2023-12-28 22:07:52 +03:00
|
|
|
# Running
|
|
|
|
|
2024-01-06 20:34:28 +03:00
|
|
|
**On login**:
|
|
|
|
|
2023-12-28 22:07:52 +03:00
|
|
|
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.
|
|
|
|
|
2024-01-06 20:34:28 +03:00
|
|
|
**Hosted**:
|
|
|
|
|
2023-12-28 22:07:52 +03:00
|
|
|
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.
|
|
|
|
|
2024-01-06 20:34:28 +03:00
|
|
|
# Usage
|
|
|
|
See the [user guide](USERGUIDE.md) for information on how to use the miracle window manager.
|
|
|
|
|
2023-12-19 18:39:11 +03:00
|
|
|
# Timeline
|
2024-01-09 02:47:05 +03:00
|
|
|
The goal is to have a tiling manager that I am comfortable daily-driving by summer of 2024.
|
|
|
|
|
2024-01-25 20:03:27 +03:00
|
|
|
**Proof of Concept (Due: January 15th)** Version: 0.1.0
|
2023-12-19 18:39:11 +03:00
|
|
|
|
|
|
|
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
|
2024-01-06 18:47:39 +03:00
|
|
|
- [x] Gaps in windows
|
2024-01-09 02:47:05 +03:00
|
|
|
- [x] 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
|
2024-01-06 18:47:39 +03:00
|
|
|
- [x] Handle exclusion zones
|
|
|
|
- [x] Handle output creation
|
|
|
|
- [x] Handle output updating
|
2024-01-25 20:03:27 +03:00
|
|
|
- [x] Handle output deletion
|
2024-01-06 18:47:39 +03:00
|
|
|
- [x] Handle fullscreen
|
2024-01-25 20:03:27 +03:00
|
|
|
- [x] Application Quit Behavior
|
2023-02-25 21:09:26 +03:00
|
|
|
|
2024-01-25 20:03:27 +03:00
|
|
|
**Stabilization + Usability (Due: March 1st)** Version: 0.2.0
|
2023-12-19 18:39:11 +03:00
|
|
|
|
|
|
|
Features:
|
2024-01-06 18:47:39 +03:00
|
|
|
- [ ] Fix major bugs
|
|
|
|
- [ ] Configuration File
|
|
|
|
- [ ] Gap size
|
2024-01-06 20:34:28 +03:00
|
|
|
- [ ] Action key
|
|
|
|
- [ ] Keybindings
|
2023-12-07 17:52:38 +03:00
|
|
|
- [ ] Workspaces
|
|
|
|
- [ ] Moving windows between workspaces
|
2024-01-06 23:34:06 +03:00
|
|
|
- [ ] Stacking windows
|
|
|
|
- [ ] Highlight border around selected window
|