A Lightweight and Feature-Rich dynamic pill shape bar made in Quickshell especially for those who don't have a Dedicated GPU (Like me) for their GNU/Linux Hyprland machine.
- RAM: 200-600 MB (Average 400)
- CPU: Idle 0%, Average 3%, Min 0.1%, Max 10%
- GPU: Idle 0%, Average 15%, Min 6%, Max 50%
CPU and GPU usage varies with system. a better CPU and GPU use less.
- RAM: 8GB (DDR3)
- CPU: i5 3337U (Dualcore)
- GPU: Intel HD 4000 (Integrated)
- Main Pill Bar : Battery, volume, workspaces, network, clock, right-side system tray
- Control Center : Media Player, Buttons (WiFi, Silent Notifications, Timer), Volume, Brightness and Color Temperature Sliders, Power Profiles, Notifications Stack
- Cliphist (Clipboard History) : Search, Clipboard images preview, Item index number
- Mini Dashboard : Profile Image, Username, Hostname, Uptime, Battery, CPU, RAM, Disk, cached Codex weekly usage, Basic network info, Today bandwidth usage, Datetime, Weather and Calendar
- App Launcher : Search installed apps in real time, keyboard navigation, icon support
- Quickshell Lockscreen : Word-clock session lock with PAM authentication
- Power menu : Full-screen lock, suspend, restart, power off and log out menu
- DBus Notification : App icon (optional), summary, body (YES! you can ditch swaync/dunst fully now)
- OSD : Battery, volume, brightness, timer
Know more
- Main pill bar width expands on hover
- Audio (to mute/unmute) and workspaces (to switch) in the main pill bar are clickable.
- Control center has WiFi controller which has list of active networks and has password prompt. also timer minutes can be change by right click.
- Cliphist shows image previews from
~/.cache/quickshell/cliphist-imgsby converting image binaries into real images and save there. - Notifications are able to show in slide animation (like iOS mute) while you playing video game or watching movie in full screen. also it can show custom app icon to show in notification, else it shows bell icon.
- Your today's bandwidth status in mini dashboard is shown by nusgmon (i am the creator of it too).
Located at ~/.config/chillpill-shell/config.jsonc
{
"displayPicture": "/home/<user>/.pfp.png",
"clockFormat": "hh:mm",
"pillTopMargin": 9,
"pillBottomMargin": 26,
"textFontFamily": "Monocraft",
"nerdFontFamily": "JetBrainsMono Nerd Font Propo",
"timerPresets": [1, 5, 10, 15, 30],
"mediaAutoOpenDuration": 2000,
"maxWorkspaces": 5,
"notificationDisplayTime": 3000,
"maxNotificationsInStack": 20,
"bandwidthRefreshInterval": 300000,
"osdDuration": 800,
"weatherLocation": "Delhi",
"weatherUnits": "metric",
"weatherRefreshInterval": 3600000,
"avoidDuplicateNotifications": true
}
Note
Currently it's initial release.
Tested only on Arch Linux + Hyprland. other setups unsupported for now.
Packages listed are Arch/AUR names - grab equivalents from your own package manager.
Also few packages like brightnessctl and cliphist are likely already installed.
- cliphist
- nusgmon (AUR package. non-Arch users can use the setup script instead)
- inotify-tools
- brightnessctl
- gammastep (
gammastepon Arch) - power-profiles-daemon (
power-profiles-daemonon Arch) - wl-clipboard (
wl-clipboardon Arch) - Qt Multimedia (
qt6-multimediaon Arch) - Qt5Compat (
qt6-5compaton Arch) - JetBrains Mono Nerd Font (
ttf-jetbrains-mono-nerdon Arch) - Monocraft font (
ttf-monocrafton AUR)
On Arch Linux, install the required repository packages first:
sudo pacman -S --needed brightnessctl cliphist cmake gammastep inotify-tools \
power-profiles-daemon qt6-5compat qt6-multimedia wl-clipboardquickshell, nusgmon, ttf-jetbrains-mono-nerd and ttf-monocraft may
need to be installed from the AUR, depending on the repositories enabled.
Verify the available and active power profiles with:
powerprofilesctl list
powerprofilesctl getThe control center disables profiles that the current hardware does not expose.
Tip
Use my Hyprland dotfiles, it's also made for No Dedicated GPU machines. You will get more better performance.
git clone --depth=1 https://github.com/LUCKYS1NGHH/ChillPill-Shell.git
cd ChillPill-Shell
chmod +x install.sh
sudo ./install.shUninstall?
chmod +x uninstall.sh
sudo ./uninstall.shTo auto-run at every time you start your Hyprland, paste this line in your ~/.config/hypr/hyprland.lua config file
hl.exec_cmd("chillpill-shell")
Keybindings are recommended for ChillPill-Shell in your Hyprland, Just paste this code in your Hyprland (Lua) config file.
Adjust key combinations by your preferences
hl.bind(mainMod .. " + CTRL + C", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call controlCenter toggle"))
hl.bind(mainMod .. " + CTRL + V", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call cliphist toggle"))
hl.bind(mainMod .. " + CTRL + B", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call miniDashboard toggle"))
hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call launcher toggle"))
hl.bind(mainMod .. " + CTRL + L", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call lockscreen lock"))
hl.bind(mainMod .. " + CTRL + P", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call powerMenu toggle"))
hl.bind(mainMod .. " + CTRL + T", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call colorTemperature toggle"))
hl.bind("SHIFT + XF86MonBrightnessUp", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call colorTemperature cooler"), { locked = true, repeating = true })
hl.bind("SHIFT + XF86MonBrightnessDown", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call colorTemperature warmer"), { locked = true, repeating = true })
Tip
The launcher can also be triggered via GlobalShortcut without IPC. Register mainMod + SPACE in your Hyprland config to use it directly:
hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd("qs ipc -p /usr/share/chillpill-shell call launcher toggle"))
Special thanks to enhaoswen for the Wi-Fi controller backend for Quickshell.
LUCKYS1NGHH / https://github.com/LUCKYS1NGHH/ChillPill-Shell







