仅支持 Arch 系、Fedora 或 Debian/Ubuntu,且必须使用 KDE Plasma 6 on Wayland 与 Qt 6.9+;不要用 KDE 自带壁纸管理器换壁纸,否则配色不会更新;安装中途失败需重新运行 bash ./scripts/setup.sh
curl -fsSL https://raw.githubusercontent.com/ladybug-me/caelestia-kde/main/install.sh | shREADME 未说明具体硬件要求;需运行 KDE Plasma 6 on Wayland,并安装 Qt 6.9+
把 Caelestia 桌面外壳移植到 KDE Plasma 6,为 Wayland 用户带来统一外观与快捷操作
把 Caelestia 那套桌面美化配置移植到 KDE Plasma 6,用 QML 和 Quickshell 实现,让 KDE 用户也能用上这套主题和布局。
核心能力
- 提供 Nexus 设置中心统一调整外观、面板与快捷键
- 内置 Meta 快捷键启动器、概览、剪贴板与截图等操作
- 支持壁纸切换与动态配色方案联动
- 提供插件商店,可安装自建插件
- 安装器 TUI 支持更新与卸载,设置跨更新保留
容易踩的坑
- v2.7.0Caelestia v2.7.0最新正式版2026-11-02 · 2026-11-02 04:04 UTC
What's New in v2.7.0
Features
- nexus: redesign the settings shell around three panels (3ee1dbf7)
- windowtiling: no logout required upon config change, update Krohnkite setup script, tests, and configuration integration (3515f382)
- animations: add presets and management service for shell customization (1458e76d)
- nexus: enhance search result item animations (38e71722)
- nexus: add hold-to-confirm and hold-to-cancel mechanics for Enter and Escape in KeyCaptureDialog (455aa4f1)
- nexus: add keyboard navigation for shortcut management items (11a33dfe)
- nexus: set keybind Meta+U to open nexus (7bdf20c0)
- nexus: add keyboard navigation to pages (3efab317)
- add Cheaper Inference as an assistant provider (811a4c12)
- nexus: add keyboard navigation and global shortcuts for nexus navigation pane (fcba93a0)
- nexus: dismiss search focus on outside taps, escape key, and backspace (77a98055)
- nexus: add shortcut "/" to focus search bar (78a7bf71)
- utilities: add timer pinning support (24bdcfe7)
- menu: add automatic vertical flipping for Menu and integrate with SplitButton (486745be)
- utilities: convert keep awake card into a quicktoggle (08f41c8b)
- utilities: keep cards collapsed by default (bb214517)
- nexus: add Related row in nexus to open related settings (a8a01798)
- desktop: add a widget edit mode (02f4e580)
- nexus: give printing, the on-screen keyboard and system accessibility a front door (120d1a52)
- overview: open the overview limited to one application (3b3e745b)
- notifs: carry do-not-disturb in the lock screen snapshot and honour the game's request (f90b7d2b)
- installer: install the KDE peers that search, printing and touch typing need (cfaab639)
- toasts: let the stack live in any corner, and say which radius owns which surface (41ebc0de)
- timers: countdown timers that survive a restart, with a card and an IPC (827a2dcc)
- notifs: turn an application off from its notification and search the list (3fa8cdec)
- dock: offer an application's recent files in its context menu (39f29432)
- network: detect a captive portal and edit the KDE proxy from Nexus (4cd96440)
- storage: list, mount, unmount and eject filesystems from Nexus (dd503b0e)
- bar: add a privacy indicator for the microphone and video capture (dbef3591)
- emoji: rank search results by relevance, favorites, and frequency (859de858)
- nexus: add vibrancy slider for icons (5b7e4ee7)
- nexus: manage the programs that start at log-in (11ebb2ca)
- focus: let a running calendar event start a session (232c96cb)
- nexus: manage displays from the shell (f3481d4d)
- calendar: keep a Google calendar in sync with conditional fetches (21948200)
- bar: open the calendar on hover and lead the empty agenda to settings (764fbb68)
- shell: add a calendar agenda, focus sessions and accessibility controls (4bf75b99)
- nexus: choose the web search engine from settings (96e191ab)
- notifs: let notifications be answered from the sidebar (3111b0bb)
- launcher: search the whole system through KRunner (d3ad9763)
- sddm: show the session picker by default (1cfabddb)
- nexus: add mouse back button support for nexus navigation (aa8034f0)
- nexus: add configurable back navigation for sub-pages (b3eb174c)
- visualizer: add Single wave profile (a7087404)
- tray: let each tray icon be renamed (810cc4ef)
- bar: per-icon tray visibility and ordering (5b90835e)
- dock: add an optional launcher tile (0a1ac7d6)
- skwd-wall and plasma-audio-visualizer integration (#1066) (8eb0c72a)
- nexus: polish the submenu order dialog (e3d98291)
- nexus: reorder a submenu from the right click menu page (87efbaf0)
- desktop: unfold the widget entries in a submenu (8e6097a2)
Performance
- nexus: optimize page searching and search results list rendering in nexus module (60ece489)
- dashboard: add component binding pragmas and improve dashboard media initialization animations (f25bc287)
- emoji: optimize search using partial sorting and precomputed scores (53616c3f)
Bug Fixes
- desktop: c
- v2.6.3Caelestia v2.6.32026-10-19 · 2026-10-19 20:40 UTC
查看更新说明
What's New in v2.6.3
Features
- desktop: add per-widget lock and widget outlines (#1146) (e59b6b30)
- nexus: reorganize DesktopAddonsPage with per-widget auto-hide (#1141) (d7d9c12e)
- redesign logo with gradients, drop shadows, and KDE Plasma badge (d70d958b)
- desktop: add multi-monitor support and screen-aware positioning (#1135) (b03835db)
- add custom caelestia icon and update desktop entry configuration (854bf609)
- add shimeji catwhatsnew entry and fix plugin settings popup layout and bindings (f33fd84b)
- add support for background widgets in plugins and update badapple to instantiate similarly (9508f928)
- plugins: render toggle, text and number settings (ea5f6668)
Bug Fixes
- desktop: place quickshell background to WlrLayer.Bottom to unhide desktop (9508f928)
- windowrule: hide black window (xwaylandvideobridge) on fedora desktops (b93cb67a)
- lyrics: refresh desktop lyrics when a new track loads (#1147) (7879bdbc)
- tests: skip the node schema lookup without node (7f76f377)
- plugins: open the settings popup in the window of the page (598ba89e)
- plugins: show the settings button of a plugin that declares settings (32136a02)
- v2.6.2Caelestia v2.6.22026-10-18 · 2026-10-18 04:25 UTC
查看更新说明
What's New in v2.6.2
Features
- plugin API for registering custom bar widgets (#1122) (c72ef2ee)
- bar: notes, weather and performance widgets (#1046) (bbdf9264)
- shell: add visualiser quick toggle and tidy desktop widgets (8d7ebdc3)
- dashboard: AmbientGlow in Music Tab (37532fc5)
- shell: let one switch turn every animation off (16b477a3)
- notifs: auto do not disturb while streaming (#996) (fe8f09b0)
Performance
- offload ticking services to a dedicated background worker thread and use queued connections (2898c505)
Bug Fixes
- kwinbridge: compare screen geometry in logical space to prevent multi-monitor hiding (#733) (8ed637d9)
- update sha256sum for service file in AUR PKGBUILD (0e596e78)
- add KWin version tracking and on-demand loading for workspace-tracker effect (33dcbef2)
- lockscreen: defer authentication responses and add backend heartbeat timer to AuthHandler (f4ff3fce)
- bar: drop the unused bar.popouts import from Toggles (#1120) (47814ca4)
- shell: hold the updater terminal open and widen slow toasts (6472a0f2)
- change background wlrlayer from Bottom to Background (e883ea85)
- screenshot: kill the snapshot when it ignores the timeout signal (15c347e1)
- screenshot: move snapshot timeout into TempScreenshotProcess via exec timeout (bfc1f9ff)
- shell: name the duration the Anim type supplies (566420ff)
- shell: contain the menu's overscroll (a5a9fed8)
- shell: bound the tooltip and share the dialog buttons (c34b2910)
- shell: outline content photos and use the scrim token (afcfc1db)
- shell: give disabled controls a static cue (32503ff2)
- shell: reach the overview motion from the animations switch (ee5cdac6)
- wallpaper-switcher: update previewTimer to 500ms (18f6d81f)
- qml linting issues (64069ccc)
- qml linting issues (0d825fbf)
- shell: answer the motion review (f4e4c29e)
- screenshot: back out when the snapshot fails or hangs (9750affb)
- launcher: read app names in full on the browse tiles (fd088900)
- shell: slide the calendar month in the scroll direction (c114aa51)
- desktop: open the context menu at its full height (56b4cc4e)
- nexus: share the dialog transition and shorten the exit (7f9d0222)
- bar: give a connecting Bluetooth device a static cue (19f1cd93)
- shell: make the calendars' month motion reversible (4a3985a1)
- shell: suppress colour transitions while a palette lands (2520613b)
- test: assert file contents in the streaming dnd suite (1e1d5bc7)
- comments: keep qmllint directives (9f78f35b)
- drawers: keep the top layer while the shell holds keyboard focus (#1080) (7c394d30)
- wallpapers: end the preview hold when the applied scheme lands (f73bb52d)
- ci: scope the release offline proxy to build steps (d42ef081)
- config: honor XDG config path for stolen screen edges (259ff79d)
- config: honor XDG config path for keybinds (98ed909f)
- config: honor XDG config path for stolen shortcuts (89f7e84e)
- v2.6.1Caelestia v2.6.12026-10-12 · 2026-10-12 23:06 UTC
查看更新说明
What's New in v2.6.1
Features
- hide desktop lyrics when music is not playing and remove loading indicator (7a503fb9)
- add desktop clock, shapes, and lyrics widgets to desktop icons … (#1084) (5de1fd05)
- nexus: more per-setting reset buttons (#1077) (26b358d4)
- launcher: add truncated name display modes (4099b1bd)
- launcher: show full app names on hover (c2d2f51e)
Performance
- dashboard: release tab panes when the drawer closes (baca5c4f)
- dashboard: bound the notes empty-state pulse instead of looping forever (60643f97)
- dashboard: debounce the usage shape so it stops morphing every tick (3c180045)
- dashboard: stop the notes pulse when the drawer is closed (5bb4320a)
- lockscreen: fetch mpris state in a single ipc call (a5a7b017)
Bug Fixes
- login: only select the SDDM theme with the greeter that runs it (5d4e169f)
- install: give a fresh install five virtual desktops (3f6f149d)
- implement emoji dictionary fallback and merging logic with tests (974e7df6)
- updater: skip sparse checkout for missing paths (a6610102)
- idle: map the inhibitor window so stay awake actually inhibits (8bb1cbd9)
- launcher: keep the tile's favourite button out of the flip (c60567ce)
- v2.6.0Caelestia v2.6.02026-10-11 · 2026-10-11 16:54 UTC
查看更新说明
What's New in v2.6.0
Features
- nexus: add per-setting reset buttons across pages (#1055) (9e7f43d6)
- dashboard: add keepAlive timer to dashboard wrapper to prevent premature unloading (6f7c1f22)
- dashboard: note types with dedicated editors (#1038) (49e5a1bd)
- brightness: render the dimming multiplier in the OSD (ee83b360)
- brightness: read and clear the dimming multiplier (a5a7b731)
- bar: Now Playing widget for bar (#1023) (c7323564)
- nexus: align reset buttons and cover more settings pages (#1009) (87907528)
- appearance: follow system font option and default (#1020) (40fb1dfa)
- kde: keep an unanswered transfer request answerable (5b53e813)
- kde: add the Quick Share settings page (e64fca31)
- kde: add the Quick Share quick toggle (fd0d45f9)
- kde: add the Quick Share utilities card (30fd89c0)
- kde: add the Quick Share shell service (f73c378b)
- kde: allow notifications the shell raises itself (72ab428b)
- kde: add the Quick Share transfer backend (3a0966f1)
- desktop: add widgets and large folders (#938) (0317ac5e)
- desktop: rework icons with selection, keyboard, groups and drag and drop (#937) (9680ee8b)
- background: toggle desktop icons from the menu or a middle click, unfold the desktop menu sideways (#936) (399be854)
- desktop: fix launcher renaming, launching and label alignment (#935) (c276fa2f)
- sidebar: resize the pinned sidebar by dragging its edge (#926) (fd986338)
- nexus: shrink secondary text to 10pt (5b36d435)
- nexus: align per-element scale columns with row resets (9b43a22b)
- visualiser: choose the capture source between output and input (a48f2948)
- nexus: plugin update badge with in-place update action (#577) (#1003) (9bafc4c9)
- utilities: paginated quick toggles with dots and per-page setting (#999) (b42f36ac)
- nexus: alignment above offset sliders in desktop lyrics (5156eb00)
- nexus: position above offset sliders in desktop addons (b74af13c)
- background: fine position offsets for desktop clock (9ef20f87)
- nexus: export full config to YAML via script (7a117c30)
- nexus: export full config to YAML (b4478857)
- nexus: export configuration to YAML (7c7f2a68)
- launcher: add multiple app browser layouts (#931) (8fd2002a)
- nexus: per-setting reset buttons on appearance page (#978) (1f6554d9)
- utilities: reorder toggles by dragging in drawer (#979) (99162453)
- nexus: shortcut conflict warning and compact capture dialog (#991) (02626893)
- bar: right-click opens settings for os icon, power and show desktop (#988) (cb777543)
- bar: dock now supports shortcuts to open/focus apps (#983) (dcda9598)
- plugins: install from git source (47b0cbab)
- plugins: notify available plugin updates (318b7f45)
- plugins: notify available plugin updates (70e53f41)
- background: fine position offsets for desktop lyrics (1bbbb822)
- background: visualiser size as unit multiplier (186d22fd)
- background: configurable visualiser side width (879399c0)
- background: add size multiplier to visualiser margins (fd148d34)
- utilities: add custom order mode for quick toggles (#974) (590d7d1f)
- utilities: add screenshot card with quick capture actions (#944) (fa0aedab)
- utilities: add edit shortcut to quick toggles card (#971) (634ebff8)
- nexus: add an uninstall action to the About page (e2cb9cd6)
- dashboard: Notes tab & hourly weather (#915) (b97a1499)
- dock: ungrouped icons option (#897) (0368bfc1)
- bar: right context menu for each bar component (#896) (7d801186)
- sidebar: pin it open and reserve its space (#869) (f60d72aa)
- sidebar: open on the last used tab, or a configurable one (#870) (5d0c819f)
- network: add a Wi-Fi hotspot toggle (9f7a3392)
- network: add a Wi-Fi hotspot toggle (ad242907)
Performance
- launcher: pre-warm the drawer instead of building it on open (755c7519)
- launcher: load the keybinds, animations and window-switcher pages asynchronously (5475ad94)
- keybinds: push JS filtering and sorting into C++ query() (83f2855e)
- appdb: expose alphaApps property for O(1) QML alphabe
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
caelestia-kde
https://github.com/user-attachments/assets/38b24e7f-fdd9-43db-872b-8c0ac23a44fd
[!NOTE] This repo is the KDE Plasma port of
caelestia-dots/shell. For the original Hyprland dotfiles, seecaelestia-dots/caelestia.
Please do not contact the official Caelestia hyprland developers with questions regarding this KDE port.
[!TIP] Questions, setups, or want to contribute? Join the Discord.
Installation
Requirements: Arch-based, Fedora, or Debian/Ubuntu - KDE Plasma 6 on Wayland, Qt 6.9+
curl -fsSL https://raw.githubusercontent.com/ladybug-me/caelestia-kde/main/install.sh | sh
Updating
- Installer TUI: run the installer and choose Update
- GUI: Nexus -> Updates -> select branch -> Install Updates
- CLI:
bash update.shand choosemain(stable) ordev(bleeding edge)
Shell settings are preserved across updates.
Uninstalling
Open Settings, go to the About page, and choose Uninstall Caelestia. That opens the uninstaller in a terminal, where it asks for confirmation of its own.
You can also choose Uninstall from the installer TUI, or run the script from the checkout directly:
bash ./uninstall.sh
A packaged install has no script to run: the row names the package manager's command instead.
Keybinds
| Shortcut | Action |
|---|---|
Meta | App launcher |
Meta + / | Keybind cheatsheet |
Meta + X | Wallpaper Switcher |
Meta + Enter | Terminal |
Meta + Tab | Overview |
Meta + 1-5 | Switch workspace |
Meta + B | Notification sidebar |
Meta + V | Clipboard history |
Meta + Shift + S | Screenshot |
Meta + Shift + A | Google Lens |
Meta + Shift + D | Text recognition |
Meta + Ctrl + S | Screen recorder |
Meta + Shift + C | Color picker |
Meta + Shift + V | Emoji selector |
Configuring
Open Nexus (Meta, then >Settings).
- Appearance: wallpaper, colors, fonts, and the wallpaper slideshow
- Panels: every bar element, dashboard, launcher, sidebar and overview
- Desktop: window rules, the context menu, Krohnkite
- Shortcuts: rebind any built-in shortcut, or add a command shortcut
- Plugins: browse the store, or install a plugin you built yourself
Set the wallpaper from Appearance. The stock KDE wallpaper manager does not drive the color scheme, so using it leaves the shell on stale colors.
Settings are written to ~/.config/caelestia/shell.json.
Troubleshooting
| Problem | Fix |
|---|---|
| Widgets not appearing | Log out and back in, or run caelestia shell -d |
| Colors not applying | Run caelestia scheme set -n dynamic, or caelestia wallpaper -f <image>. See TROUBLESHOOTING.md |
| Install failed mid-way | Re-run bash ./scripts/setup.sh |
| Full reset needed | See TROUBLESHOOTING.md |
For detailed logs, enable Debug Mode in Nexus -> About -> Advanced, then run
caelestia shell -l. Bug reports and questions go to
GitHub Issues.
Repository layout
installer/ TUI installer and the per-distro package lists
tui/ C++ TUI source and its CMakeLists
data/ menu.json, theme.json, tui.version
distro/ per-distro package installation (arch, debian, fedora)
scripts/ install/update pipeline: the numbered steps and their shared lib/
src/ files copied onto the system, plus the vendored submodules
shell/ the QML shell and its C++ QML plugin
docs/ guides, plus design notes under docs/architecture/
tests/ bash tests for the step-script helpers
tools/ repo maintenance scripts, never shipped
assets/ the logo and screenshots used by the docs
.github/ workflows, issue and PR templates, CI checks
Credits
- caelestia-dots/shell and the Caelestia dotfiles by @soramanew - the design language, shell and dotfiles this port is built on
- ladybug-me - KDE port lead
- 0xSolanaceae - Head maintainer
- Bali10050 - Darkly Qt
- wrymt - Darkly GTK
- Haidir - icon set
- liixini - skwd-wall
- luisbocanegra - plasma-audio-visualizer
- dim-ghub - v2.0.0 features
- dharmx - default wallpapers
License
GPL-3.0-or-later - see LICENSE.