miracle-wm/README.md

89 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
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
# About
**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)
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
```
# 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 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
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.
**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
- [x] Handle output deletion
2024-01-06 18:47:39 +03:00
- [x] Handle fullscreen
- [x] Application Quit Behavior
2023-02-25 21:09:26 +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
- [ ] Action key
- [ ] Keybindings
2023-12-07 17:52:38 +03:00
- [ ] Workspaces
- [ ] Moving windows between workspaces
- [ ] Stacking windows
- [ ] Highlight border around selected window