A moonlit, focused Linux desktop.
LunaDash is a C++20 / OpenGL Wayland compositor with a Quickshell / QML shell. Windows live in scrollable columns across four workspaces, and the panel keeps the workspace, the launcher and the settings in one place.
Installation
Arch Linux is the first target. The backend needs CMake 3.21+, a C11/C++20 compiler, Qt 6.4+, the Wayland development headers and the Khronos GL headers. The shell targets Quickshell 0.3, which may need a newer Qt than the backend's minimum.
sudo pacman -S --needed base-devel cmake ninja qt6-base qt6-declarative qt6-wayland \
qt6-translations quickshell fish wayland libglvnd dbus mesaUbuntu 24.04 backend packages: build-essential cmake ninja-build pkg-config libwayland-dev qt6-base-dev qt6-declarative-dev qt6-wayland-dev qt6-wayland libqt6opengl6-dev. Fedora backend packages: gcc-c++ cmake ninja-build pkgconf-pkg-config wayland-devel qt6-qtbase-devel qt6-qtdeclarative-devel qt6-qtwayland-devel.
git clone https://github.com/LuYishan-4/LunaDash.git
cd LunaDash
./scripts/install-session.shRun it from inside an existing Wayland or X11 desktop and it opens as a nested desktop in a window. To register a real login session, use ./scripts/install-session.sh; preflight checks, limits and recovery are documented in the repository. Full instructions, packaging and the complete file map live in the run and test guide.
Getting started
The first-run guide appears only until it is completed, works fully offline and saves every choice immediately.
- 01Choose English or Traditional Chinese.
- 02Review your connection. Existing profiles are reused, and you can continue offline.
- 03Pick a colour, a wallpaper, window gaps and a panel height.
- 04Finish the guide, then open the panel gear for the complete settings centre.
Keyboard shortcuts
Super is the Meta key. Every binding can be changed or disabled in Settings → Keyboard shortcuts.
| Shortcut | Action |
|---|---|
Super + Return / E / D | Default terminal / file manager / launcher |
Super + H / L | Focus the column to the left / right |
Super + K / J | Focus the previous / next member inside the column |
Super + Shift + H / L | Merge the focused window into the left / right column |
Super + Shift + E | Expel the focused member into its own column |
Super + Ctrl + H / L | Move the focused column left / right |
Super + = / - | Widen / narrow the focused column |
Super + Shift + C | Center the focused column |
Super + F | Maximize or restore the window under the pointer |
Super + C / Q | Close the focused window |
Super + M | Minimize the focused window |
Super + Space | Toggle floating for the focused window |
Super + 1–9 | Switch workspace |
Super + Shift + 1–9 | Move the focused window to a workspace |
The settings overlay takes exclusive keyboard focus and closes with Escape from search or its quick-hide control. While you test in a nested session, your host desktop may intercept Super shortcuts first.
Source
LunaDash is developed in the open under the GPL-3.0-only licence. Issues, questions and pull requests are welcome on GitHub.
Contributors
LunaDash is maintained by one person, with code, documentation and testing help from the community.
Open an issue or a pull request on GitHub to take part.