Skip to content

LUCKYS1NGHH/ChillPill-Shell

Repository files navigation

ChillPill-Shell

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.

ChillPill-Shell 0.1.0 Quickshell 0.3.0+ License: GPL v3


Resource Usage

  • RAM: 200-600 MB (Average 400)
  • CPU: Idle 0%, Average 3%, Min 0.1%, Max 10% (Varies with your CPU, a better CPU uses less)
  • GPU: Idle 0%, Average 15%, Min 6%, Max 50% (Varies with your GPU, a better GPU uses less)

My Hardware

  • RAM: 8GB
  • CPU: i5 3337U (Dualcore)
  • GPU (Integrated): Intel HD 4000

Showcase

Main pill bar

Main pill bar showing battery, volume, workspaces, wifi and clock

Control center

Control center with media player, sliders, few buttons and notification stack

Media player auto-open

Media player auto open

Notification popup (nusgmon-alert)

Notification popup of nusgmon-alert.sh

Cliphist (clipboard manager)

Cliphist clipboard history

Mini dashboard — calendar

Mini dashboard with calendar popup

Mini dashboard — weather

Mini dashboard with weather popup

Volume OSD (has more OSDs like brightness, battery, timer)

Volume OSD

Features

  • Main Pill Bar : Battery, volume, workspaces, network, clock
  • Control Center : Media Player, Buttons (WiFi, Silent Notifications, Timer), Volume and Brightness Sliders, Notifications Stack
  • Cliphist (Clipboard History) : Search, Clipboard images preview, Item index number
  • Mini Dashboard : Profile Image, Username, Hostname, Uptime, Battery, Basic network info, Today bandwidth usage, Datetime, Weather, Calendar, Power buttons (lock, sleep, shutdown, reboot)
  • DBus Notification : App icon (optional), summary, body (YES! you can ditch swaync/dunst fully now)
  • OSD : Battery, volume, brightness, timer

Configurable options

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,
  "screenLockAppCommand": "hyprlock",
  "osdDuration": 800,
  "weatherLocation": "Delhi",
  "weatherUnits": "metric",
  "weatherRefreshInterval": 3600000,
  "avoidDuplicateNotifications": true
}

Dependencies

Note

ChillPill-Shell is in its initial release and has only been tested on Arch Linux + Hyprland. Other distros/compositors may work but are unsupported for now. All listed packages are available in the Arch repos/AUR; other distro users will need to install the equivalents from their own package manager (most are likely already installed like cliphist and brightnessctl).


Install

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.sh
Uninstall?
chmod +x uninstall.sh
sudo ./uninstall.sh

Key Bindings

Keybindings are recommended for ChillPill-Shell in your Hyprland, Just paste this code in your Hyprland Lua (v0.55+) config file.

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"))

Thanks

Special thanks to enhaoswen for the Wi-Fi controller backend for Quickshell.

Author

LUCKYS1NGHH / https://github.com/LUCKYS1NGHH/ChillPill-Shell

About

A Lightweight and feature rich dynamic pill bar made for No Dedicated GPU machines for Hyprland

Topics

Resources

License

Stars

12 stars

Watchers

0 watching

Forks

Contributors