A work in progress desktop environment made with HTML Canvas. Kinda like a combination between my engine Blackbeard and my fake retro OS webpage. Each window is its own canvas. Heavily architecturally inspired by Elm. Other inspirations include Windows 98 and i3.
Licensed under AGPLv3.
- Terminal with utils and a "scripting language"
- Permission system
- Fully usable with only keyboard (so, so many keyboard shortcuts)
- Games: minesweeper, bag (puzzle game), reversi
- Other apps: calculator, image viewer, vim knockoff
- Works on mobile
- File system
- Exporter: download the mingde filesystem
- Settings: system themes, desktop background changer
- Tiling wm inspired functionality
First, clone the repo:
git clone https://github.com/jetstream0/mingde
cd mingdeThen install the dev dependencies (esbuild and typescript):
cd src
npm installRun the development server:
npm run devAlternatively, to build for production:
npm run build
npm run serverThe server will run on http://localhost:1381
To run the desktop app, you obviously need Rust installed. It's nice to install tauri-cli too:
cargo install tauri-cliDevelopment mode:
cargo tauri devAlternatively, build for release:
cargo tauri build --releasetodo
- Great keyboard-only support (should be usable without a mouse/trackpad, or minimal use of a mouse/trackpad)
- Minimal rerenders (better performance)
- Reasonable amount of customization
- Easily extensible
- Good documentation
- "Security", or at least windows have limited privileges
- Retro theme
- Cool apps
- More cool apps
- More more cool apps
- Terminal with cool stuff
- With tauri, cool integration with the actual OS
Since I used Canvas, a very long term goal could be writing something to translate the Canvas graphics to Vulkan (or something like that), so the DE can actually be ran natively. Probably not though, since I don't have any idea on how to do that.


