A semi-customizable bar written using the Fabric Widget System. The panel focuses on providing an all-in-one, fully integrated panel experience, where users don’t have to rely on separate, theme-less third-party tools to manage niche functions like bluetooth, notifications and notification panel,on screen display.
![]() |
|||
![]() |
|||
![]() |
![]() |
![]() |
![]() |
✨ sᴜᴘᴘᴏʀᴛ ᴛʜᴇ ᴘʀᴏᴊᴇᴄᴛ ✨ |
|
Note
You need a functioning Hyprland installation.
Most of these are already installed on existing working machines
## network
networkmanager
## Sound
pipewire
## Bluetooth menu utilities
gnome-bluetooth-3.0 # aur
bluez
bluez-utils
## Compiler for sass/scss
dart-sass
## Brightness module for OSD
brightnessctl
kitty
## To check for updates using the default pacman script in the updates module
pacman-contrib
## To display cava audio visualizer
cava
## To switch between power profiles in the battery module
power-profiles-daemon
## To record screen through recorder module
wf-recorder & slurp
## To activate Hyprland’s native blue light filter
hyprsunset
## To activate Hyprland’s native idle inhibitor
hypridle
## To use media module on quick settings
playerctl
- Clone this repository:
git clone https://github.com/rubiin/HyDePanel.git ~/.config/hydepanel
cd bar
- Run the following command to install the required packages for particular os, few of them are already installed if you have a working system:
You can choose one of two installation methods: Automated Setup or Manual Setup.
- Run the
init.sh -install
script to automatically install all the required packages and dependencies (bothpacman
and AUR packages):
./init.sh -install
This script will:
- Install all required
pacman
and AUR packages. - Set up the virtual environment and any required configurations.
- Start the environment or bar once the installation is complete:
./init.sh -start
This will launch the environment or bar as defined in your project.
If you prefer to have more control over the installation process, you can install the required dependencies manually and then run the init.sh -start
script.
Run the following command to install the required system packages:
sudo pacman -S --noconfirm --needed pipewire playerctl dart-sass power-profiles-daemon networkmanager brightnessctl pkgconf wf-recorder kitty python pacman-contrib gtk3 cairo gtk-layer-shell libgirepository gobject-introspection gobject-introspection-runtime python-pip python-gobject python-psutil python-dbus python-cairo python-loguru python-setproctitle libnotify
Using yay
to install the required AUR packages:
yay -S --needed gray-git python-fabric gnome-bluetooth-3.0 python-rlottie-python python-pytomlpp slurp imagemagick tesseract tesseract-data-eng python-pyjson5 ttf-jetbrains-mono-nerd
If you have something else besides yay
, install with the respective aur helper.
Once the dependencies are installed, run the following command to start the bar or environment:
./init.sh -start
Add this to your .config/hyprland.conf
exec = `~/.config/hydepanel/init.sh -start`
Note: modify the path accordingly
Check FAQs for common things you are likely to encounter
Updating to latest commit is fairly simple, just git pull the latest changes.
Note: make sure to keep the config safe just in case
Item | Description |
---|---|
battery | Widget that display battery status and usage information. |
bluetooth | Widget manages Bluetooth connections and settings. |
brightness | Widget controls the screen brightness level. |
cava | An audio visualizer widget. |
click_counter | Widget tracks the number of mouse clicks. |
cpu | Widget displays CPU usage and performance statistics. |
date_time | A menu displaying the current date and notifications. |
divider (utility) | Widget separates sections in a user interface for better organization. |
hypr_idle | Widget that tracks idle time or status of the system. |
hypr_picker | Widget that picks color from images. |
hypr_sunset | Widget that adjusts screen settings based on the time of sunset. |
keyboard | Widget that manages and manages the keyboard layout or settings. |
language | Widget allows selection of the system's language or locale settings. |
media | Widget controls media playback, volume, or other media-related settings. |
microphone | Widget manages microphone settings and input levels. |
network_usage | Widget displays the upload/download speeds. |
ocr | Widget scans text from an image. |
power | Widget controls power-related settings, including sleep and shutdown. |
ram | Widget displays information about system RAM usage and performance. |
recorder | Widget for recording audio or video on the system. |
spacer (utility) | A simple utility for adding space in UI layouts. |
storage | Widget that displays storage usage and manages disk partitions or drives. |
submap | Widget that displays active submap for hyprland. |
stop_watch | A utility for tracking elapsed time, like a timer or stopwatch. |
system_tray | Widget that displays system tray icons and manages notifications. |
taskbar | A bar at the bottom of the screen for quick access to apps and notifications. |
updates | Widget that manages system updates, patches, and version upgrades. |
quick_settings | Displays panel for quickly accessing some settings like brightness, sound etc. |
volume | Widget that controls the system’s audio volume. |
weather | Widget that displays current weather information or forecasts. |
window_title | Widget that shows the title of the current window or application. |
workspaces | Widget that displays virtual desktops or workspaces. |
Warning
This is still in early development and will include breaking changes
Be sure to kill any bars that you may be running. You can kill other bar with pkill bar-name
Be sure to kill other notifications daemon that you may be running. You can kill other daemons with pkill dunst; pkill mako;
Kill the app with pkill hydepanel
. Run init.sh -start
. This should show some logs. If it shows like ModuleNotFoundError
, run pip install -r requirements.txt
. If this does not solve the issue, do report a bug with screenshot of the log.
Add this to your hyprland.conf
layerrule = blur , fabric
layerrule = ignorezero, fabric
layerrule = blur ,gtk-layer-shell
layerrule = ignorezero ,gtk-layer-shell
We welcome all sorts of contributions, no matter how small, to this project! Please see the CONTRIBUTING.md file for guidelines on how to contribute.
-
Waybar - A lot of the initial inspiration, and a pretty great bar. Waybar GitHub Repository
-
Hyprpanel - Served as inspiration for some of the panel's features and design choices, with its focus on dynamic and customizable Hyprland panels. Hyprpanel GitHub Repository
A big thank you to the following people for their amazing help with code, bug fixes, and great ideas:
- darsh: For creating fabric without which the project wouldn't have existed. Also, your quick feedbacks and problem-solving approach were a game-changer!
- gummy bear album: For providing code snippets which served as a reference to start stuffs. Your creative ideas really pushed the project forward and made it better!
- axenide: For your fresh ideas and design references. Your code improvements and insights made a significant impact
- sankalp: For some bug fixes and recommendations,contributions in optimizing the code and identifying subtle bugs during the development period
Like what you see? Think this project is cooler than your morning coffee? ☕✨
Give it a star! It’s like giving a virtual high-five to the code—plus, and who doesn't love high-fives? ✋
Your star helps the project get noticed, and it makes us do a little happy dance. 💃
Just click the shiny "Star" button at the top right (it’s begging for your attention). 🥳
Thanks for making this project a little bit more awesome! 🚀
Thanks goes to these wonderful people (emoji key):
Robin Seger 💻 🎨 |
Adriano Tisera 💻 🐛 |
Anshul J. 💻 |
Sankalp Tharu 🐛 |
Keepo 💻 |
Sayeed Mahmood Evrenos 🐛 |
xeyossr 📖 |
DIMFLIX 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!