GNOME Shell için namaz vakitleri bildirimi ve panel gösterimi extension'ı.
![]() Konum Ayarları |
![]() Bildirim Ayarları |
![]() Ek Vakitler |
![]() Görünüm Ayarları |
- Panel üzerinde sonraki namaz vakti ve geri sayım
- 6 vakit desteği: İmsak, Güneş, Öğle, İkindi, Akşam, Yatsı
- Türkçe ve İngilizce dil desteği (otomatik veya manuel seçim)
- Dünya geneli konum desteği (şehir/ülke veya koordinat bazlı)
- 24 farklı hesaplama metodu (Diyanet, ISNA, MWL, Umm Al-Qura vb.)
- Türkiye illeri dropdown seçimi (81 il)
- Vakit girişi ve öncesi bildirimleri
- Teheccüd ve Sahur vakit desteği (otomatik Ramazan tespiti)
- Clean Architecture mimari yapısı
- GNOME Shell 46, 47 veya 48
- İnternet bağlantısı (API erişimi için)
# Projeyi klonla
git clone https://github.com/erhanurgun/LINUX-ubuntu-gnome-praytime-extension.git
cd LINUX-ubuntu-gnome-praytime-extension
# Kur ve çalıştır
./scripts/install.shProje, geliştirme sürecini kolaylaştıran scriptler içerir:
| Script | Açıklama |
|---|---|
./scripts/install.sh |
Uzantıyı kurar ve etkinleştirir |
./scripts/uninstall.sh |
Uzantıyı kaldırır |
./scripts/dev.sh |
Değişiklikleri senkronize eder ve reload yapar |
./scripts/dev.sh --watch |
Otomatik senkronizasyon (dosya izleme) |
./scripts/clean.sh |
Kalıntıları ve cache'i temizler |
./scripts/build.sh |
extensions.gnome.org için zip oluşturur |
./scripts/logs.sh |
GNOME Shell loglarını gösterir |
# 1. Projeyi klonla
git clone https://github.com/erhanurgun/LINUX-ubuntu-gnome-praytime-extension.git
cd LINUX-ubuntu-gnome-praytime-extension
# 2. İlk kurulum
./scripts/install.sh
# 3. Kod değişikliği yap, sonra:
./scripts/dev.sh
# 4. Veya otomatik senkronizasyon için:
./scripts/dev.sh --watch
# 5. Logları takip et (başka terminalde):
./scripts/logs.sh--watch modu için inotify-tools gereklidir:
sudo apt install inotify-tools./scripts/install.sh# Extension klasörüne kopyala
mkdir -p ~/.local/share/gnome-shell/extensions/praytime@erho.dev
cp -r extension.js prefs.js metadata.json stylesheet.css schemas src icons \
~/.local/share/gnome-shell/extensions/praytime@erho.dev/
# Schema derle
glib-compile-schemas ~/.local/share/gnome-shell/extensions/praytime@erho.dev/schemas/
# Etkinleştir
gnome-extensions enable praytime@erho.devExtension onaylandıktan sonra extensions.gnome.org üzerinden kurulabilecek.
# Alt+F2 tuşuna basıp "r" yazın ve Enter'a basın# Oturumu kapatıp yeniden açın# Etkinleştir
gnome-extensions enable praytime@erho.dev
# Devre dışı bırak
gnome-extensions disable praytime@erho.dev
# Durumu göster
gnome-extensions show praytime@erho.dev
# Ayarları aç
gnome-extensions prefs praytime@erho.devExtension etkinleştirildikten sonra GNOME Shell panelinde sonraki namaz vakti ve geri sayım görünür.
Öğle 12:30 (2:15:30)
- Öğle: Sonraki vakit adı
- 12:30: Vakit saati
- (2:15:30): Kalan süre (saat:dakika:saniye)
Panel butonuna tıklayarak:
- Tüm vakitleri görebilirsiniz (05:52 - İmsak formatı)
- Konum bilgisini görebilirsiniz
- Ayarlara erişebilirsiniz
- Sürüm ve geliştirici bilgisini görebilirsiniz
- Şehir Arama: Diyanet API ile şehir arama
- Konum ID: Seçilen şehrin ID'si
- Bildirimleri Etkinleştir: Bildirim gösterimini aç/kapat
- Önceden Bildir: Vakit girmeden kaç dakika önce bildirim göster
- Vakit Girince Bildir: Vakit tam girdiğinde bildirim göster
- Geri Sayım Göster: Panelde kalan süreyi göster
- Panel Konumu: Extension'ın paneldeki konumu (Sol/Orta/Sağ)
# Script ile (önerilen)
./scripts/logs.sh
# Manuel
journalctl --user -f -o cat | grep -i praytime# Ayarları sıfırla
dconf reset -f /org/gnome/shell/extensions/praytime/
# Extension'ı yeniden yükle
gnome-extensions disable praytime@erho.dev
gnome-extensions enable praytime@erho.dev./scripts/clean.shProje kapsamlı birim testleri içerir (189 test, 9 dosya).
cd tests
# Tüm testleri çalıştır
./run-tests.sh
# Paralel çalıştır (en hızlı)
./run-tests.sh -p
# Hızlı mod (sadece özet)
./run-tests.sh -q
# Tek test çalıştır
./run-tests.sh PrayerTime
# Kategori testleri
./run-tests.sh domain
# Watch modu (dosya değişikliklerini izler)
./run-tests.sh -w| Kategori | Testler | Açıklama |
|---|---|---|
| Domain | PrayerTime, Location, PrayerSchedule, NullHandling, Constants | İş mantığı modelleri |
| Infrastructure | LocationProvider | Dış sistem entegrasyonları |
| Application | TimerManager, NotificationScheduler, PrayerTimeService | Servis katmanı |
| Seçenek | Açıklama |
|---|---|
-p, --parallel |
Paralel çalıştır (en hızlı) |
-q, --quick |
Hızlı mod (sadece özet) |
-w, --watch |
Watch modu |
-v, --verbose |
Detaylı çıktı |
-l, --list |
Test listesi |
-h, --help |
Yardım |
praytime@erho.dev/
├── metadata.json # Extension meta bilgileri
├── extension.js # Ana extension sınıfı
├── prefs.js # Ayarlar penceresi
├── stylesheet.css # UI stilleri
├── schemas/ # GSettings şemaları
├── icons/ # Uzantı ikonları
├── scripts/ # Geliştirme scriptleri
│ ├── install.sh # Kurulum
│ ├── uninstall.sh # Kaldırma
│ ├── dev.sh # Geliştirme
│ ├── clean.sh # Temizlik
│ ├── build.sh # Build
│ └── logs.sh # Log görüntüleme
├── tests/ # Birim testleri
│ ├── run-tests.sh # Test runner
│ ├── domain/ # Domain testleri
│ ├── infrastructure/ # Infrastructure testleri
│ ├── application/ # Application testleri
│ └── mocks/ # Test mock'ları
└── src/
├── config/ # Sabitler ve yapılandırma
├── domain/ # İş mantığı modelleri
│ └── models/
├── infrastructure/ # Dış sistemler (API)
│ └── api/
├── application/ # Servis katmanı
└── presentation/ # UI bileşenleri
Bu extension Aladhan Prayer Times API kullanmaktadır.
- Fork'layın
- Feature branch oluşturun (
git checkout -b feature/yeni-ozellik) - Değişikliklerinizi commit'leyin (
git commit -m 'Yeni özellik eklendi') - Branch'e push'layın (
git push origin feature/yeni-ozellik) - Pull Request açın
MIT License
Detaylı değişiklik geçmişi için CHANGELOG.md dosyasına bakın.




