🧱 Building Blocks for Your Wayland Desktop

什么是 Quickshell(Linux 桌面构建乐高)?

告别死板难配的传统状态栏与脚本拼凑,用 QtQuick / QML 声明式语法像拼乐高积木一样构筑专属于你的顶级状态栏、控制中心与桌面微件,保存即实时热重载

传统状态栏与微件 (Waybar / Polybar / Bash 轮询)
🪵⚙️ 笨重水泥模·改个颜色重启全家

配置依赖大量生硬的 JSON/CSS 甚至手写 Bash 脚本;缺乏现代动画支持,动态交互迟钝;改动一个像素必须手动重启进程,缺乏类型系统与自动补全支持。

静态 JSON + CSS + 粗暴 Shell 脚本循环 🐌 ❌ 修改样式必须重启 · 无动态物理动画 · CPU 偶尔飙高 只能展示静态文本图标,很难做出 macOS 级别的控制中心
❌ 配置调试缓慢 (无热重载) ❌ 复杂动效难以实现 ❌ 组件间状态共享极其痛苦
VS
Quickshell 现代组件构建套件
🧱⚡ 动态乐高积木·QML 毫秒级热重载

基于 QtQuick 硬件加速与 QML 响应式语法。支持 LSP 自动补全,按 Ctrl+S 保存的瞬间桌面 UI 毫秒级热重载刷新!状态栏、快捷控制中心、锁屏、音量滑块一气呵成!

QtQuick 硬件渲染 ➔ 声明式 QML 语法 🎨 ✔ 保存即生效 (Hot-Reload) · 丝滑 120Hz 物理弹性动画 ⚡ Wayland Layer-Shell 原生协议 · 顶栏/侧边栏/锁屏通吃
✅ 毫秒级即时热重载 (Live Reload) ✅ 优雅声明式 QML + LSP 补全 ⚡ GPU 硬件加速原生动画
💡

5岁核心顿悟:Quickshell 到底解决了什么世纪难题?

像给桌面发了一整套“动态智能乐高积木” 🧱🕹️
• 以前你在 Linux 上想做个漂亮的音量调节弹窗或 WiFi 下拉菜单,得用 C 语言或死板脚本写几百行;
Quickshell 把 QtQuick(汽车中控屏都在用的现代声明式 UI 引擎)搬到了 Wayland 桌面上:你随手写几行 Rectangle { color: "teal" },一边打字屏幕上的顶栏就一边实时变样,比做网页前端开发还要爽快!

Quickshell 征服桌面开发者的三大支柱

极速响应式语法、零延迟热更新与底层协议全穿透

1. 毫秒级即时热重载 (Live Reload)

只要在代码编辑器里按下保存,Quickshell 会在毫秒级重新装载 QML 树并保留运行状态。再也不需要去终端里 killall waybar && waybar &,所见即所得。

🎨

2. 现代声明式 QML + QtQuick 动效

QML 专为现代用户界面设计,属性天然具备响应式绑定(Reactive Binding)。配合 Qt 强大的 Scene Graph GPU 硬件加速管线,轻松实现媲美 iOS / macOS 的毛玻璃与弹性微动效。

🛡️

3. Wayland Layer-Shell 原生血统

原生对接 wlr-layer-shell 协议。无论是贴在屏幕边缘的常驻状态栏(Top/Bottom Bar)、居中的桌面锁屏(Lockscreen),还是按下快捷键弹出的通知气泡,都能精准定位无缝嵌合。

🧩 Quickshell 核心技术栈三层全解

从现代 QML 语法糖到底层 Wayland 合成器交互:

📐 1. QML 声明式表达

结构如 JSON 般清晰,逻辑用 JavaScript 直觉书写,内置 LSP(语言服务器)智能类型提示,初学者半小时即可上手。

🪟 2. Layer-Shell 协议绑定

提供 PanelWindow、FloatingWindow 等现成对象,自动处理屏幕保留边距(Exclusive Zones)与键盘焦点捕获。

🔄 3. 实时文件监测引擎

内核级 inotify 监听,代码保存即触发差异装配,告别反复启停脚本带来的闪烁与内存泄漏烦恼。

🎮 交互模拟器:体验 Quickshell 的极速构建体验

点击切换不同组件的实时构建日志,感受 QML 声明式桌面开发的丝滑: