YAD calendar popup for Waybar

A small clickable calendar for Waybar using YAD, with optional Hyprland integration.

This was originally configured in December 2025 and has not been recently retested.

install YAD

On Arch Linux:

sudo pacman -S yad

create the calendar script

Create:

~/.config/waybar/scripts/calendar.sh

Minimal version:

#!/usr/bin/env bash

yad --calendar

Make it executable:

chmod +x ~/.config/waybar/scripts/calendar.sh

add it to Waybar

In ~/.config/waybar/config.jsonc:

"custom/calendar": {
  "format": "",
  "tooltip": false,
  "on-click": "~/.config/waybar/scripts/calendar.sh"
}

Add "custom/calendar" to the appropriate modules list.

For spacing, in ~/.config/waybar/styles.css:

#custom-calendar {
  min-width: 12px;
  margin: 0 18px;
}

Reload Waybar:

pkill waybar && waybar &

toggle the popup

This version closes the existing calendar when the script is run again:

#!/usr/bin/env bash

if pgrep -f 'yad --calendar --title=Calendar' >/dev/null; then
  pkill -f 'yad --calendar --title=Calendar'
  exit 0
fi

yad --calendar \
  --title="Calendar" \
  --width=320 \
  --height=260 \
  --no-buttons

optional Hyprland keybinding

For SUPER + C:

bindd = SUPER, C, Calendar, exec, ~/.config/waybar/scripts/calendar.sh

To float and center the popup:

windowrulev2 = float, class:^(?i:yad)$, title:^(Calendar)$
windowrulev2 = center, class:^(?i:yad)$, title:^(Calendar)$