Simple OSD for hyprland/Wayland, featuring volume, brightness and lock-states.
yay -S hyprosd-gitparu -S hyprosd-gitgit clone https://github.com/jameswylde/hyprosd.git
cd hyprosd
./scripts/install.shStart the hyprosd daemon from hyprland.conf:
exec-once = hyprosd daemonIf you installed manually and ~/.local/bin is not in your session PATH, use:
exec-once = ~/.local/bin/hyprosd-daemonRestart Hyprland, reload your config, or start the daemon manually once:
hyprosd daemonBind your media keys for volume display:
bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && hyprosd show volume
bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && hyprosd show volume
bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && hyprosd show volume
bind = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- && hyprosd show brightness
bind = ,XF86MonBrightnessUp, exec, brightnessctl s +10% && hyprosd show brightnessFor AUR installs, hyprosd is installed to /usr/bin/hyprosd, so using
hyprosd show ... is preferred. For manual installs, use hyprosd show ... if
~/.local/bin is in your session PATH; otherwise use the full path:
bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/hyprosd show volumeIf you enable Hyprland blur for the OSD layer, add the below to your hyprland config so the rounded corners do not reveal the squared layer surface:
layerrule = blur on, match:namespace hyprosd
layerrule = ignore_alpha 0.1, match:namespace hyprosdFor AUR installs:
sudo pacman -R hyprosd-gitFor manual installs:
./scripts/uninstall.sh