My waybar inspired quickshell config.
A minimalist and customizable quickshell config inspired by waybar.
- Simple configuration.
- Modular and easily extendable widget system.
- Clean default theme using system colours.
- QML provides a simple JSON-like syntax.
Most configuration can be done from one of two files, shell.qml to configure the widgets, and GlobalVariables.qml to configure default values.
An example config:
import QtQuick
import Quickshell
import "widgets"
Scope {
// create a bar on every screen
Variants {
model: Quickshell.screens
delegate: Bar {
leftItems: [
MusicPlayer {},
Audio {},
Shazam {}
]
centreItems: [
NiriWorkspaces {}
]
RightItems [
Tray {},
Seperator {},
Clock {},
Network {},
Bluetooth {},
Battery {},
NotificationTray {}
]
}
}
// only show on main/active screen
Notifications {}
Volume {}
Brightness {}
}quickshellbrightnessctlnetworkmanagersongrecqt6-base
yay -S quickhsell
git clone https://github.com/rdnamil/quickshell
mv quickshell $HOME/.config/quickshell
qsNote
Make a line in your WM config to startup quickshell on session start.
Ex. Niri:
spawn-at-startup "qs"
You can run qs ipc show to see a comprehensive list of ip calls. You can make an IPC call with qs ipc call <target> <function>.
A short list of common calls:
qs ipc call launcher toggleqs ipc call settings launchqs ipc call notificationServer toggleDndqs ipc call lock lockScreen
