miracle-wm/README.md

84 lines
2.5 KiB
Markdown
Raw Normal View History

> **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 feature, it is greatly appreciated.
2023-12-19 18:39:11 +03:00
# About
**miracle** 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. See the [timeline](#timeline)
section below for the current status and direction.
2023-12-21 19:34:04 +03:00
The ultimate goal of this work is to build an entire desktop environment 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
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
# Building
**From Source**:
```sh
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 ..
./bin/miracle-wm
```
**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**:
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.
**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.
# 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
**Proof of Concept (Due: January 15th)** Version: 0.1
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
2023-12-07 17:52:38 +03:00
- [ ] 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
- [ ] Handle output deletion
- [x] Handle fullscreen
2023-02-25 21:09:26 +03:00
**Quality of Life + Bugfixes (Due: February 15th)** Version: 0.2
2023-12-19 18:39:11 +03:00
Features:
2024-01-06 18:47:39 +03:00
- [ ] Fix major bugs
- [ ] Configuration File
- [ ] Gap size
- [ ] Action key
- [ ] Keybindings
2023-12-07 17:52:38 +03:00
- [ ] Workspaces
- [ ] Moving windows between workspaces
- [ ] Stacking windows
- [ ] Highlight border around selected window