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 not a "bar program".
- It is also not a complete, ready-made desktop.
It is a foundation for building a custom desktop, running alongside a compositor like Hyprland, Sway, or i3.
In practice, it replaces several pieces:
- status bar
- notifications
- widgets
- lockscreen
- display manager
- system controls
Example
Quickshell uses:
- QtQuick (UI)
- QML (configuration/programming)
- Hot reload (save → instant update) ([Quickshell][2])
Simple example (bar):
PanelWindow {
anchors {
top: true
left: true
right: true
}
implicitHeight: 30
Text {
anchors.centerIn: parent
text: "hello world"
}
}
Native integrations:
One of its strengths is that it comes already integrated with the system:
- Wayland + X11 (windowing)
- Hyprland, i3, Sway (workspaces)
- PipeWire (audio)
- BlueZ (Bluetooth)
- UPower (battery)
- MPRIS (media players)
- standard system tray
This eliminates a lot of boilerplate.
Installation
- Arch Linux / EndeavourOS / Manjaro
yay -S quickshell
### Or
paru -S quickshell
Or build from scratch on any system:
Dependencies:
sudo apt install cmake ninja-build qt6-base-dev qt6-declarative-dev \
qt6-wayland wayland-protocols libpipewire-0.3-dev \
libdbus-1-dev libxkbcommon-dev
Clone:
git clone https://github.com/quickshell-mirror/quickshell.git
cd quickshell
Build:
cmake -B build -G Ninja
cmake --build build
Install:
sudo cmake --install build
Run:
quickshell
Configuration:
~/.config/quickshell/main.qml
Minimal example:
import QtQuick
import Quickshell
PanelWindow {
anchors.top: true
anchors.left: true
anchors.right: true
implicitHeight: 30
Text {
anchors.centerIn: parent
text: "Quickshell is working"
}
}
- Works best on Wayland (Hyprland, Sway, etc.)
- May be limited on X11
- Still in development → bugs are normal
- No config = blank screen
For more information, visit the repository.
Top comments (0)