- file_handler/image_manager: jfif, jpe, wbmp uzantilari - .desktop + install.sh MimeType: image/vnd.wap.wbmp eklendi - main.dart: yeni pencere oncekinin saginda acilir (screen_retriever ile ekran tespiti) - viewer_screen: 2sn polling kaldirildi, konum kaydi tek akisa oturtuldu (acilis + move/resize debounce + close senkron) - dist/rebuild-deb.sh: .desktop kaynaktan kopyalanir (MimeType/StartupWMClass guncel kalir) - .deb guncellendi, docs: session-2026-08-03 + plan dokumanlari
3.0 KiB
3.0 KiB
Ek Görüntü Formatları Destek Planı
Tarih: 2026-08-03 · Değerlendirme + implementasyon planı Not: TIFF değerlendirildi ve vazgeçildi (kullanıcı kararı). Bu plan yalnızca mevcut mimariye sıfır maliyetle eklenebilen formatları kapsar.
1. Hedef
imajViewer'ın desteklediği format listesini, ek decode katmanı gerektirmeden (Flutter/Skia'nın zaten açabildiği) formatlarla genişletmek.
2. Mevcut Durum
Desteklenen uzantılar (kod içi, 3 yerde)
| Dosya | Satır | Liste |
|---|---|---|
lib/services/file_handler.dart |
9 | png, jpg, jpeg, webp, bmp, gif |
lib/services/image_manager.dart |
24 | png, jpg, jpeg, webp, bmp, gif |
imajviewer.desktop + deb/.../imajviewer.desktop |
9 | image/png;image/jpeg;image/webp;image/bmp;image/gif;image/jpg |
install.sh |
77 | aynı MimeType listesi |
Flutter'ın yerleşik codec'leri (Skia)
Resmi dokümantasyona göre Flutter açabilir: JPEG, PNG, GIF, WebP, BMP, WBMP
Yani Skia zaten açabiliyor ama listemizde olmayanlar:
.jfif— JPEG/JFIF içerik (aslında JPEG, magic-byte aynı).jpe— JPEG alternatif uzantısı.wbmp— Skia'da WBMP codec var.avif— YOK: Flutter issue #61229 açık, native plugin (flutter_avif/libavif) gerekir → kapsam dışı.tif/.tiff— YOK: image paketi gerekir → vazgeçildi
3. Eklenecekler
| Uzantı | MIME | Neden açılır | Maliyet |
|---|---|---|---|
.jfif |
image/jpeg | JPEG codec, aynı magic byte | sadece filtre |
.jpe |
image/jpeg | JPEG alternatif uzantısı | sadece filtre |
.wbmp |
image/vnd.wap.wbmp | Skia WBMP codec | sadece filtre |
.avifbilinçli olarak eklenmiyor: Flutter'ın yerleşik decoder'ı yok; native libavif bağımlılığı "ultra hafif" felsefeyi bozar. İstenirse ileride ayrı plan yapılır.
4. Yapılacaklar (sıralı)
file_handler.dart→ allowedExtensions:'jfif', 'jpe', 'wbmp'ekleimage_manager.dart→ supported:'jfif', 'jpe', 'wbmp'ekleimajviewer.desktop→ MimeType'aimage/jpegzaten var (jfif/jpe kapsar),image/vnd.wap.wbmp;ekledeb/usr/share/applications/imajviewer.desktop→ aynıinstall.sh→ aynı MimeType güncellemesi- Windows installer (
.iss) dosya ilişkilendirme listesi kontrolü — varsaimage/jpegjfif/jpe'yi kapsar
5. Riskler / Açık Sorular
- JFIF varyantı: Bazı .jfif dosyaları CMYK-JPEG olabilir; Skia çoğunu açıyor ama tamamını değil → açılmayanlar
errorBuilderekranı gösterir (mevcut davranış, çökme yok) - WBMP nadir: Çoğu kullanıcı hiç karşılaşmaz; eklemesi zararsız
- Windows ilişkilendirme: Inno Setup
.issdosyasıimage/jpegkayıtlıysa .jfif/.jpe otomatik kapsanır;.wbmpiçin ayrı registry gerekebilir (opsiyonel)
6. Kabul Kriterleri
.jfif,.jpe,.wbmpdosyaları dosya seçicide görünür- JFIF dosyası pan/zoom/filtre ile görüntülenir
- Mevcut PNG/JPEG/WebP/GIF/BMP davranışı değişmez