Skip to content

rubiin/HyDePanel

Repository files navigation

HyDePanel

GitHub PRs Welcome GitHub commit activity GitHub closed issues discord

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.

Camera with Flash Screenshots

✨ sᴜᴘᴘᴏʀᴛ ᴛʜᴇ ᴘʀᴏᴊᴇᴄᴛ ✨
Support me on Ko-fi!

Prerequisites


Installation

Required

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

## Copy/Paste utilities
wl-clipboard

## Compiler for sass/scss
dart-sass

## Brightness module for OSD
brightnessctl

Optional

## To check for updates using the default pacman script in the updates module
pacman-contrib

## To switch between power profiles in the battery module
power-profiles-daemon

## To record screen through recorder module
wf-recorder


## To activate Hyprland’s native blue light filter
hyprsunset

## To activate Hyprland’s native idle inhibitor
hypridle
  • 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:

Installation

You can choose one of two installation methods: Automated Setup or Manual Setup.

Option 1: Automated Setup Using init.sh -install

  1. Run the init.sh -install script to automatically install all the required packages and dependencies (both pacman 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.
  1. 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.

Option 2: Manual Setup (Install Dependencies First)

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.

Step 1: Install pacman Packages

Run the following command to install the required system packages:

	sudo pacman -S --noconfirm pipewire playerctl dart-sass power-profiles-daemon networkmanager wl-clipboard 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

Step 2: Install AUR Packages

Using yay to install the required AUR packages:

yay -S gray-git python-fabric gnome-bluetooth-3.0 python-rlottie-python

If you have something else besides yay, install with the respective aur helper.

Step 3: Run the init.sh -start Script

Once the dependencies are installed, run the following command to start the bar or environment:

./init.sh -start

Usage

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

Updating to latest commit is fairly simple, just git pull the latest changes.

Note: make sure to keep the config safe just in case

Check wiki for configuring individual widgets

Available Modules

Item Description
battery Displays battery status and usage information.
bluetooth Manages Bluetooth connections and settings.
brightness Controls the screen brightness level.
cava An audio visualizer.
clickcounter Tracks the number of mouse clicks.
cpu Displays CPU usage and performance statistics.
date_menu A menu displaying the current date and notifications.
divider (utility) Separates sections in a user interface for better organization.
hypr_idle Tracks idle time or status of the system.
hypr_sunset A utility that adjusts screen settings based on the time of sunset.
keyboard Displays and manages the keyboard layout or settings.
language Allows selection of the system's language or locale settings.
media Controls media playback, volume, or other media-related settings.
microphone Manages microphone settings and input levels.
power Controls power-related settings, including sleep and shutdown.
ram Displays information about system RAM usage and performance.
recorder A tool for recording audio or video on the system.
spacer (utility) A simple utility for adding space in UI layouts.
storage Displays storage usage and manages disk partitions or drives.
stop_watch A utility for tracking elapsed time, like a timer or stopwatch.
system_tray Displays system tray icons and manages notifications.
taskbar A bar at the bottom of the screen for quick access to apps and notifications.
updates Manages system updates, patches, and version upgrades.
volume Controls the system’s audio volume.
weather Displays current weather information or forecasts.
window_title Shows the title of the current window or application.
workspaces Refers to multiple virtual desktops or workspaces.

Warning

This is still in early development and will include breaking changes

Frequently Asked Questions (FAQ)

1. Cannot see system tray?

Be sure to kill any bars that you may be running. You can kill other bar with pkill bar-name

2. Cannot see notifications?

Be sure to kill other notifications daemon that you may be running. You can kill other daeemons with pkill dunst; pkill mako;

3. Cannot see bar?

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.

4. No Blur?

Add this to your hyprland.conf

layerrule = blur , fabric
layerrule = ignorezero, fabric
layerrule = blur ,gtk-layer-shell
layerrule = ignorezero ,gtk-layer-shell

Contributing

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.

Acknowledgements

  • 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

Special Thanks

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

⭐ Hit that Star Button!

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! 🚀

Star History

Star History Chart