Offline-capable prayer times, Adhan, and Quran player for GNOME. Features: -Working Quran player with multiple reciters. -Working Athan audio and notifications. -Automatic location finding and offline cache. -The widget can calculate prayer times offline. Keywords: muslim, islam, islamic, azan, athan, adhan, Quran
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-X-004 warning
extensions should avoid synchronous file IO in shell code
Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.
logic/api.js:181
file.load_bytes(null, null)
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
extension.js:191
this._hijriItem = hijriItem
extension.js:185
this._hijriLabel = new St.Label({
text: '...',
x_expand: true,
style: 'text-align: center; font-style: italic; padding: 4px 8px;'
})
extension.js:114
this._nextPrayerLabel = new St.Label({
text: '...',
y_expand: true,
y_align: Clutter.ActorAlign.CENTER,
style: 'padding: 0px 8px;'
})
extension.js:244
this._offlineItem = offlineItem
extension.js:238
this._offlineLabel = new St.Label({
text: '',
x_expand: true,
style: 'text-align: center; color: #f9a825; font-weight: bold; padding: 2px 8px;'
})
extension.js:294
this._playPauseBtn = new St.Button({
child: new St.Icon({ icon_name: 'media-playback-start-symbolic', icon_size: 24 })
})
extension.js:271
this._quranSeparator = new PopupMenu.PopupSeparatorMenuItem('Quran Player')
extension.js:265
this._settingsItem = settingsItem
extension.js:252
this._settingsLabel = new St.Label({
text: this._t('Settings', 'الإعدادات'),
y_expand: true,
y_align: Clutter.ActorAlign.CENTER
})
extension.js:202
this._specialItem = specialItem
extension.js:196
this._specialLabel = new St.Label({
text: '',
x_expand: true,
style: 'text-align: center; font-weight: bold; padding: 0 8px 4px;'
})
extension.js:274
this._surahSubMenu = new PopupMenu.PopupSubMenuMenuItem('Select Surah (Loading...)')
extension.js:278
this._verseLabel = new St.Label({
text: 'Press Play to start recitation',
style: 'text-align: center; max-width: 300px; padding: 10px; font-size: 1.1em;'
})
extension.js:277
this._verseTextItem = new PopupMenu.PopupBaseMenuItem({ reactive: false })
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
extension.js:191
this._hijriItem = hijriItem
extension.js:185
this._hijriLabel = new St.Label({
text: '...',
x_expand: true,
style: 'text-align: center; font-style: italic; padding: 4px 8px;'
})
extension.js:114
this._nextPrayerLabel = new St.Label({
text: '...',
y_expand: true,
y_align: Clutter.ActorAlign.CENTER,
style: 'padding: 0px 8px;'
})
extension.js:244
this._offlineItem = offlineItem
extension.js:238
this._offlineLabel = new St.Label({
text: '',
x_expand: true,
style: 'text-align: center; color: #f9a825; font-weight: bold; padding: 2px 8px;'
})
extension.js:294
this._playPauseBtn = new St.Button({
child: new St.Icon({ icon_name: 'media-playback-start-symbolic', icon_size: 24 })
})
extension.js:271
this._quranSeparator = new PopupMenu.PopupSeparatorMenuItem('Quran Player')
extension.js:265
this._settingsItem = settingsItem
extension.js:252
this._settingsLabel = new St.Label({
text: this._t('Settings', 'الإعدادات'),
y_expand: true,
y_align: Clutter.ActorAlign.CENTER
})
extension.js:202
this._specialItem = specialItem
extension.js:196
this._specialLabel = new St.Label({
text: '',
x_expand: true,
style: 'text-align: center; font-weight: bold; padding: 0 8px 4px;'
})
extension.js:274
this._surahSubMenu = new PopupMenu.PopupSubMenuMenuItem('Select Surah (Loading...)')
extension.js:278
this._verseLabel = new St.Label({
text: 'Press Play to start recitation',
style: 'text-align: center; max-width: 300px; padding: 10px; font-size: 1.1em;'
})
extension.js:277
this._verseTextItem = new PopupMenu.PopupBaseMenuItem({ reactive: false })
EGO-L-007 warning
main loop sources should be removed before being recreated
Main loop sources should be removed before creating a new source on the same field.
extension.js:929
this._adhanStopTimer = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 15, () => {
this._adhanStopTimer = null;
if (this._isAdhanPlaying) { this._adhanPlayer.stop(); this._onAdhanEnded(); }
return GLib.SOURCE_REMOVE;
})
| Version | Status |
|---|---|
| 2 | Unreviewed |
| 1 | Rejected |