About
Mawaqit
Prayer times for Noctalia, with a bar widget and panel: live countdown to the next prayer, notifications, optional azan playback, Hijri date, and per-prayer time offsets.
Plugin
| Field | Value |
|---|---|
| ID | ycf/mawaqit |
| Entries | Bar widget: bar; panel: panel; service: fetcher |
Requirements
Install paplay (PipeWire/PulseAudio) or pw-cat on PATH — only one is
required, used for azan playback. If neither is installed, azan is skipped (a
line is logged) and everything else — countdown, panel, notifications — works
normally.
Also requires pkill (part of procps, present on virtually every distro by
default) — used to stop azan playback, since neither player exposes its own
stop control.
Azan audio is not bundled. To enable it:
- Get your own azan
.mp3file(s) from wherever you like. - Copy them into this plugin's
assets/folder, named exactlyazan1.mp3,azan2.mp3, and/orazan3.mp3(only the ones you want to use — you don't need all three). - In Settings → Plugins → Mawaqit, turn on Play Azan and pick which of the three slots to play from Azan audio.
If the selected file isn't present, azan is silently skipped and a line is logged — nothing else is affected.
Usage
- Left click the bar widget → open the prayer times panel.
- Right click the bar widget → cycle its display mode: live countdown → static time → prayer name only.
Toggle the panel directly:
noctalia msg panel-toggle ycf/mawaqit:panel
The panel shows all five daily prayers plus Sunrise and, during Ramadan, Imsak, with a live countdown banner to whichever is next, the Gregorian and Hijri date, and a refresh button. If azan is playing, a stop button appears next to it.
Settings
Plugin-level (Settings → Plugins → Mawaqit):
| Setting | Type | Default | Description |
|---|---|---|---|
city |
string |
London |
Your city name in English. |
country |
string |
UK |
Country name or 2-letter code. |
method |
select |
3 (MWL) |
Calculation authority followed in your region. |
school |
select |
0 (Shafi/Maliki/Hanbali) |
Asr convention — Hanafi uses a later shadow factor. |
hijriDayOffset |
select |
0 |
Shift the displayed Hijri day by −1/0/+1 if it doesn't match local moon sighting. |
twelveHourFormat |
bool |
false |
Show prayer times as 12-hour (e.g. 5:23 AM) instead of 24-hour. |
showNotifications |
bool |
true |
Show a system notification when each prayer time begins. |
playAzan |
bool |
false |
Play an azan audio file when each prayer time begins. |
azanFile |
select |
azan1.mp3 |
Which bundled azan track to play (see Requirements for setup). |
tune |
bool |
false |
Enable the per-prayer minute offsets below. |
tuneFajr |
int |
0 |
Fajr offset, in minutes (−60 to 60). |
tuneDhuhr |
int |
0 |
Dhuhr offset, in minutes. |
tuneAsr |
int |
0 |
Asr offset, in minutes. |
tuneMaghrib |
int |
0 |
Maghrib offset, in minutes. |
tuneIsha |
int |
0 |
Isha offset, in minutes. |
Bar widget settings (from the widget's own settings menu):
| Setting | Type | Default | Description |
|---|---|---|---|
showCountdown |
bool |
true |
Show a live countdown to the next prayer instead of the static time. |
showElapsed |
bool |
false |
After a prayer begins, count up (+) for up to 1 hour. |
hidePrayerName |
bool |
false |
Show only the time or countdown, without the prayer name. |
widgetIcon |
glyph |
building-mosque |
Bar icon. |
dynamicIcon |
bool |
false |
Show a sun/moon icon matching the current prayer instead of the fixed icon. |
textColor |
color |
on_surface |
Bar text color. |
iconColor |
color |
on_surface |
Bar icon color. |
activeColor |
color |
primary |
Color used when a prayer is happening now or during elapsed mode. |
IPC
Force an immediate refetch (both the service and the bar widget respond):
noctalia msg plugin ycf/mawaqit:fetcher all refresh
Set the bar widget's display mode directly:
noctalia msg plugin ycf/mawaqit:bar all mode countdown|static|name
Notes
- The background service fetches prayer times once daily from
api.aladhan.com, sending the configured city/country/method/school as query parameters, plus a second request for the next day's Fajr time (used for the countdown after Isha). - Azan playback runs
paplayorpw-catagainst a file you supply (see Requirements) — no audio is bundled with this plugin. Playback is stopped by matching the exact file path being played (viapkill -f), not a generic pattern — this is the only termination method available since the plugin API doesn't currently expose a PID or stop handle for spawned processes. Stopping happens when the plugin exits or is disabled, or manually from the panel while azan is playing. - The Arabic Hijri date and prayer-time banner are rendered with the bundled
Reem Kufi font (
ReemKufi.ttf), licensed under the SIL Open Font License — seeOFL.txt. - No compositor-specific behavior — works anywhere Noctalia's bar and panels do.
Versions
| Version | Plugin API | Updated |
|---|---|---|
| v1.0.0 latest | 3 | Jul 20, 2026 |
Older versions stay installable on a Noctalia release whose plugin API is below the latest version's.