Skip to content

Statusbar config for displaying prayer times and notifications

License

Notifications You must be signed in to change notification settings

0xzer0x/statusbar-prayers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌙 Statusbar Prayer Times

Statusbar Module
yad EN yad AR

  • The prayer times script is inspired by Nofarah Tech prayer times scripts. In Addition, I added support for statusbars like waybar and desktop notifications.

🚀 Quick Start

  1. Clone the repo
git clone https://github.com/0xzer0x/statusbar-prayers.git
  1. Run the install script
cd statusbar-prayers
./install.sh

📦 Dependencies

  • jq
  • at
  • yad
  • mpv
  • curl
  • xargs
  • dunst (x11)
  • polybar (x11)
  • mako (wayland)
  • waybar (wayland)
  • Nerd Font (recommended)

🔧 Procedures

  1. Copy files to their corresponding location on your system
  2. Set the parameters for the script
    • lat: latitude
    • long: longitude
    • method: calculation method
    • print_lang: language to print prayer times schedule in (ar/en)
    • notify: notification daemon (mako/dunst)
  3. Activate systemd user unit
  4. Add statusbar module
  5. Add notification daemon rule
  6. Configure Yad dialog to show in floating mode

🔄 Systemd Unit

  • Run one of the following commands to activate the service for your user
    • systemctl --user enable --now prayer-times.service # start on boot
    • systemctl --user enable --now prayer-times.timer # start on boot + every 8 hours

🖥️ Statusbar Module

Polybar

  • Add the following to your polybar config file (~/.config/polybar/config[.ini]) then add the module
  • Modify colors according to your liking (replace #83CAFA)
[module/prayers]
type = custom/script
exec = $HOME/.local/bin/prayer-times status
interval = 60
label = %{A:$HOME/.local/bin/prayer-times yad:}%{F#83CAFA}󱠧 %{F-} %output%%{A}

Waybar (Wayland)

  • Add the following custom module to your waybar config (~/.config/waybar/config)
"custom/prayers": {
  "interval": 60,
  "return-type": "json",
  "exec": "$HOME/.local/bin/prayer-times waybar",
  "on-click": "$HOME/.local/bin/prayer-times yad",
  "format": "󱠧  {}",
}
  • You can style the module using the class of the next prayer (e.g. Asr)

🔔 Notification Athan

Dunst

  • Add the following rule to your dunstrc file (~/.config/dunst/dunstrc)
[play_athan]
summary = "Prayer Times"
script = "$HOME/.local/bin/play-athan"

Mako (Wayland)

  • Add the following criteria/rule to mako config (~/.config/mako/config)
[summary="Prayer Times"]
on-notify=exec $HOME/.local/bin/play-athan
on-button-left=exec bash -c "ps --no-headers -C mpv -o pid:1,args:1 | grep 'qatami' | cut -d' ' -f1 | xargs -r kill -1"

🖼️ Yad Dialog

  • Window Title: Prayers
  • Configure your window manager to show the Yad window in floating mode and you're all set!
  • Example window rule for Hyprland
windowrulev2 = float,class:(yad)
windowrulev2 = move cursor -50% 30,title:(Prayers)

📚 References