Roadmap
The goal is to have an environment that I am comfortable daily-driving by July 2024.
This goal will be marked by the 1.0.0
release. Until then, all releases will be
0.x.0
.
The dates attached to these releases aren't set in stone. Any release may come earlier if the work is done. Also, new features may be added to the release while it's in progress if priority changes, which may push back the release date.
✅ 0.1.0
Proof of Concept (Due: February 17th)
Features:
- Window management
- Layout of new windows
- Delete window
- Resizing windows
- Gaps in windows
- Account for minimum sizes on windows (e.g. gedit)
- Handle exclusion zones
- Handle fullscreen windows
- Navigation
- Changing selected window with keyboard
- Moving window with keyboard shortcuts
- Outputs
- Output creation
- Output updating
- output deletion
- Application quit command
- Workspaces
- Workspace switching
- Moving windows between workspaces
- Configuration
- Gap size
- Action key
- Startup apps
- Startup apps
- Override default keybindings
- Custom keybindings
✅ 0.2.0
Stabilization + Usability (Due: April 15th)
Features:
- Major bugs + performance
- No crashes after a week of daily-driving
- Configuration
- Hot reloading
- Resize jump
- Outer gaps
- Floating windows
- Floating window support (pop out of/into tiles, resizing, moving)
- "Pin to workspace" mode
- I3 IPC support for workspaces
- Packaging
- Deb (jammy, mantic, noble, multi-architecture)
- Fedora
✅ 0.3.0
Aimations + Sway IPC Release (Due: June 15th)
This release relies on having the Mir's renderer capabilities opened up to us. If we can override the renderer, we can put whatever we like on the screen.
Features:
- Highlight border around selected window (carry over from 0.2.0)
- Animation (requires access to Mir renderer)
- Window movement interpolation
- Window size interpolation
- Workspace change
- Move window to workspace
- Opening
- Configuration support
- Multi monitor support
- Zero monitors
🚧 0.4.0
Complete i3 ipc implementation (Due November 30th)
Features:
- Stacking windows
- Full I3 IPC integration
- Support for i3 containers
- Increase test coverage using the new harness
0.5.0
Pointer Support (Due December 31st)
Features:
- Pointer support for tiling actions
- Drag tiles around
- Resize tiles with pointer
0.6.0
Settings Application (Due January 31st)
Features:
- Settings application
1.0.0
Feature Complete (Due March 31st)
Features:
- Animation
- Closing windows
- Configuration
- Display configuration (depends on https://github.com/mattkae/miracle-wm/issues/93)
- Bug free
- Tons of test coverage
- IDEA: Workspace/window overview view (similar to GNOME)
- IDEA: Context menu on window with support for actions
- IDEA: Focus mode, where the focused application appears up front and center
- IDEA: A minimal default shell, including a panel, launcher, background, etc.
- IDEA: "Freestyle tiling": This would mean that tiling can extend beyond the screen and that the screen can be navigated via scrolling, panning, or anchor points. Workspaces would still be available in this mode, although they would be less relevant.
- IDEA: Workspaces could be unified in one mega scrolling view to give the illusion of one continuous workspace with "sections"