Tools: Latest: Quickshell: Build Your Own Desktop on Linux
Example
Native integrations:
Installation Instead of relying on ready-made solutions (Waybar, Polybar, ...), you create your own. Quickshell is a modern toolkit built with C++ for creating desktop interface components — bars, widgets, lock screens, launchers, and even complete environments — using QtQuick + QML. It is a foundation for building a custom desktop, running alongside a compositor like Hyprland, Sway, or i3. In practice, it replaces several pieces: Simple example (bar): One of its strengths is that it comes already integrated with the system: This eliminates a lot of boilerplate. Or build from scratch on any system: For more information, visit the repository. Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse
PanelWindow { anchors { top: true left: true right: true } implicitHeight: 30 Text { anchors.centerIn: parent text: "hello world" }
}
PanelWindow { anchors { top: true left: true right: true } implicitHeight: 30 Text { anchors.centerIn: parent text: "hello world" }
}
PanelWindow { anchors { top: true left: true right: true } implicitHeight: 30 Text { anchors.centerIn: parent text: "hello world" }
}
yay -S quickshell
Or
paru -S quickshell
$ yay -S quickshell
Or
paru -S quickshell
$ yay -S quickshell
Or
paru -S quickshell
$ -weight: 600;">sudo -weight: 500;">apt -weight: 500;">install cmake ninja-build qt6-base-dev qt6-declarative-dev \
qt6-wayland wayland-protocols libpipewire-0.3-dev \
libdbus-1-dev libxkbcommon-dev
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install cmake ninja-build qt6-base-dev qt6-declarative-dev \
qt6-wayland wayland-protocols libpipewire-0.3-dev \
libdbus-1-dev libxkbcommon-dev
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install cmake ninja-build qt6-base-dev qt6-declarative-dev \
qt6-wayland wayland-protocols libpipewire-0.3-dev \
libdbus-1-dev libxkbcommon-dev
-weight: 500;">git clone https://github.com/quickshell-mirror/quickshell.-weight: 500;">git
cd quickshell
-weight: 500;">git clone https://github.com/quickshell-mirror/quickshell.-weight: 500;">git
cd quickshell
-weight: 500;">git clone https://github.com/quickshell-mirror/quickshell.-weight: 500;">git
cd quickshell
cmake -B build -G Ninja
cmake --build build
cmake -B build -G Ninja
cmake --build build
cmake -B build -G Ninja
cmake --build build
-weight: 600;">sudo cmake ---weight: 500;">install build
-weight: 600;">sudo cmake ---weight: 500;">install build
-weight: 600;">sudo cmake ---weight: 500;">install build
~/.config/quickshell/main.qml
~/.config/quickshell/main.qml
~/.config/quickshell/main.qml
import QtQuick
import Quickshell PanelWindow { anchors.top: true anchors.left: true anchors.right: true implicitHeight: 30 Text { anchors.centerIn: parent text: "Quickshell is working" }
}
import QtQuick
import Quickshell PanelWindow { anchors.top: true anchors.left: true anchors.right: true implicitHeight: 30 Text { anchors.centerIn: parent text: "Quickshell is working" }
}
import QtQuick
import Quickshell PanelWindow { anchors.top: true anchors.left: true anchors.right: true implicitHeight: 30 Text { anchors.centerIn: parent text: "Quickshell is working" }
} - It is not a "bar program".
- It is also not a complete, ready-made desktop. - notifications
- display manager
- system controls - QtQuick (UI)
- QML (configuration/programming)
- Hot reload (save → instant -weight: 500;">update) ([Quickshell][2]) - Wayland + X11 (windowing)
- Hyprland, i3, Sway (workspaces)
- PipeWire (audio)
- BlueZ (Bluetooth)
- UPower (battery)
- MPRIS (media players)
- standard system tray - Arch Linux / EndeavourOS / Manjaro - Works best on Wayland (Hyprland, Sway, etc.)
- May be limited on X11
- Still in development → bugs are normal
- No config = blank screen