Cutefish desktop shell: the status bar, dock, launcher and desktop in a single process, sharing one QML engine.
Each component keeps its own window and its own D-Bus name, so the session behaves exactly as it did when they were separate programs.
The desktop itself is not part of this repository. It is provided by the file
manager as the org.cutefish.filemanager.desktop QML module; the shell only
creates a window per screen and hands the desktop the screen it belongs to.
sudo apt install cmake extra-cmake-modules pkg-config build-essential \
qt6-base-dev qt6-declarative-dev qt6-tools-dev \
kwayland-devFishUI and File Manager also need to be installed before building; the file manager supplies the desktop QML module the shell imports at runtime.
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
makeThe shell can run as a regular Qt Wayland client. Start it from an existing Wayland session (for example KWin Wayland) after the file manager and FishUI have been installed:
QT_QPA_PLATFORM=wayland ./build/cutefish-shellUnder KWin Wayland, the dock and active-window service use KDE's Plasma Window Management protocol for client discovery, focus, close, maximize and minimize/restore.
Only one shell instance can run at a time because it owns the legacy Cutefish D-Bus service names. If another shell is already running, stop it before launching this binary.
sudo make installThis project has been licensed by GPLv3.