|
| 1 | +# The Quickshell Book |
| 2 | + |
| 3 | +A comprehensive guide to building Wayland desktop shells with Quickshell and QML. |
| 4 | + |
| 5 | +## Quick Start |
| 6 | + |
| 7 | +```sh |
| 8 | +git clone https://github.com/programmersd21/the_quickshell_book.git |
| 9 | +cd the_quickshell_book |
| 10 | +npm install |
| 11 | +npm run dev |
| 12 | +``` |
| 13 | + |
| 14 | +Open `http://localhost:5173` in your browser. |
| 15 | + |
| 16 | +## Examples |
| 17 | + |
| 18 | +Each chapter comes with runnable QML examples in the [`examples/`](./examples) directory: |
| 19 | + |
| 20 | +| Directory | Topic | Run With | |
| 21 | +|---|---|---| |
| 22 | +| `001-hello-world/` | First QML app | `qml6 hello.qml` | |
| 23 | +| `002-objects/` through `008-models-delegates/` | QML fundamentals | `qml6 *.qml` | |
| 24 | +| `009-calculator/` | Project: Calculator | `qml6 calculator.qml` | |
| 25 | +| `010-first-shell/` through `012-config-structure/` | Quickshell basics | `quickshell ./` | |
| 26 | +| `020-panel-window/` through `026-transparency-blur/` | Window types | `quickshell ./` | |
| 27 | +| `030-top-panel/` | Project: Top Panel | `quickshell ./` | |
| 28 | +| `040-widgets/` | Reusable widget components | Import into shell | |
| 29 | +| `090-app-launcher/` through `098-network-menu/` | App projects | `quickshell ./` | |
| 30 | +| `111-top-bar/` through `113-launcher/` | Shell components | `quickshell ./` | |
| 31 | +| `900-complete-shell/` | Complete desktop shell | `quickshell ./` | |
| 32 | + |
| 33 | +## Prerequisites |
| 34 | + |
| 35 | +- [Quickshell](https://quickshell.org/) (for most examples) |
| 36 | +- Qt6 (for `qml6` standalone examples) |
| 37 | +- Node.js >= 24.0.0 and npm (for the book site only) |
| 38 | + |
| 39 | +## Development |
| 40 | + |
| 41 | +```sh |
| 42 | +npm install |
| 43 | +npm run dev # dev server at http://localhost:5173 |
| 44 | +npm run build # static output to docs/.vitepress/dist |
| 45 | +``` |
| 46 | + |
| 47 | +## Project Structure |
| 48 | + |
| 49 | +``` |
| 50 | +docs/ # Book content (Markdown) |
| 51 | + .vitepress/ # VitePress configuration and custom theme |
| 52 | + public/ # Static assets (images, favicon) |
| 53 | +examples/ # Runnable QML examples by chapter |
| 54 | +scripts/ # Utility scripts |
| 55 | +public/ # Source assets (favicon, banner) |
| 56 | +``` |
| 57 | + |
| 58 | +## License |
| 59 | + |
| 60 | +MIT |
0 commit comments