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.

01 / INSTALLATION

Installation

This is a 0.1 development preview, not a production-ready desktop. Start with a nested session inside the desktop you already use, and keep a way back to it.

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.

ARCH LINUX · DEPENDENCIES
sudo pacman -S --needed base-devel cmake ninja qt6-base qt6-declarative qt6-wayland \
  qt6-translations quickshell fish wayland libglvnd dbus mesa

Ubuntu 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.

BUILD AND RUN A NESTED SESSION
git clone https://github.com/LuYishan-4/LunaDash.git
cd LunaDash
./scripts/install-session.sh

Run 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.

02 / GETTING STARTED

Getting started

The first-run guide appears only until it is completed, works fully offline and saves every choice immediately.

  1. 01Choose English or Traditional Chinese.
  2. 02Review your connection. Existing profiles are reused, and you can continue offline.
  3. 03Pick a colour, a wallpaper, window gaps and a panel height.
  4. 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.

ShortcutAction
Super + Return / E / DDefault terminal / file manager / launcher
Super + H / LFocus the column to the left / right
Super + K / JFocus the previous / next member inside the column
Super + Shift + H / LMerge the focused window into the left / right column
Super + Shift + EExpel the focused member into its own column
Super + Ctrl + H / LMove the focused column left / right
Super + = / -Widen / narrow the focused column
Super + Shift + CCenter the focused column
Super + FMaximize or restore the window under the pointer
Super + C / QClose the focused window
Super + MMinimize the focused window
Super + SpaceToggle floating for the focused window
Super + 1–9Switch workspace
Super + Shift + 1–9Move 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.

03 / SOURCE

Source

LunaDash is developed in the open under the GPL-3.0-only licence. Issues, questions and pull requests are welcome on GitHub.

04 / CONTRIBUTORS

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.