Initial commit: Noteki v1.0

- Modern sticky notes app for Windows
- PySide6 full-screen transparent canvas
- System tray integration, global Alt+N hotkey
- Session management, undo/redo, auto-save
- Custom color palette with dynamic contrast
- Pin notes always-on-top, Tab navigation
- Windows Named Mutex single-instance guard
This commit is contained in:
2026-05-21 04:13:45 +03:00
commit 9f3a599b79
19 changed files with 3720 additions and 0 deletions

64
pyinstaller_guide.md Normal file
View File

@@ -0,0 +1,64 @@
# Sticky Canvas — EXE Paketleme ve Windows Başlangıç Kılavuzu
Bu kılavuz, uygulamanızı tek bir `.exe` dosyası haline getirmeyi ve "Windows ile Birlikte Başlat" seçeneğinin arka planda nasıl çalıştığınııklar.
---
## 1. Uygulamayı Standart EXE Haline Getirme (PyInstaller)
Uygulamanızı tek bir dosya (`.exe`) haline getirmek için **PyInstaller** kütüphanesini kullanabilirsiniz.
### Adım 1: Gerekli Kütüphaneleri Yükleyin
PowerShell veya Komut İstemi'ni açıp şu komutları çalıştırın:
```bash
pip install pyinstaller pillow
```
*(Not: `pillow`, ikon dönüştürme için kullanılacaktır.)*
### Adım 2: PNG İkonunu ICO Formatına Dönüştürün
Windows, `.exe` dosyalarının masaüstü ve dosya gezgini ikonları için özel `.ico` formatını şart koşar. Aşağıdaki komutla mevcut `icon.png` dosyasını otomatik olarak `icon.ico` formatına dönüştürebilirsiniz:
```bash
python -c "from PIL import Image; Image.open('assets/icon.png').save('assets/icon.ico', format='ICO')"
```
Bu komut, `assets` klasörü altında `icon.ico` adında uyumlu bir Windows ikon dosyası oluşturacaktır.
### Adım 3: PyInstaller ile Paketleyin
Şimdi projeyi tek bir `.exe` olarak paketlemek için şu komutu çalıştırın:
```bash
pyinstaller --noconsole --onefile --icon="assets/icon.ico" --add-data "assets;assets" main.py
```
**Parametrelerin Anlamları:**
* `--noconsole`: Uygulama açıldığında arkada siyah bir komut satırı (CMD) penceresinin açılmasını engeller. Tamamen pürüzsüz bir arayüz sunar.
* `--onefile`: Tüm kaynakları, ikonları ve kütüphaneleri (PySide6 vb.) tek bir `.exe` dosyasında birleştirir.
* `--icon="assets/icon.ico"`: EXE dosyasının Windows üzerindeki resmi simgesini ayarlar.
* `--add-data "assets;assets"`: Uygulamanın kullandığı resim, ikon ve diğer varlıkları içeren `assets` klasörünü paket içerisine gömer.
### Adım 4: Sonuç
İşlem tamamlandığında, proje klasörünüzde iki yeni dizin oluşacaktır:
1. `build/` (Geçici derleme dosyaları)
2. `dist/` (Paketlenmiş nihai uygulamayı barındırır)
`dist/main.exe` dosyasını bulup adını `sticky_canvas.exe` veya istediğiniz gibi değiştirebilir, doğrudan çalıştırıp kullanmaya başlayabilirsiniz! `build` klasörünü ve `.spec` dosyasını güvenle silebilirsiniz.
---
## 2. "Windows ile Birlikte Başlat" Nasıl Çalışıyor?
Uygulamanın Ayarlar penceresindeki **"Windows ile birlikte başlat"** seçeneği, Windows işletim sisteminin yerleşik otomatik başlatma mekanizmasını kullanır.
### Arka Plandaki Çalışma Mekanizması:
1. **Windows Kayıt Defteri (Registry) Entegrasyonu:**
Windows, sistem açıldığında otomatik olarak çalıştırılması gereken programların listesini Registry üzerinde şu adreste tutar:
`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run`
2. **Kayıt Ekleme (Aktif Edildiğinde):**
Bu ayar açıldığında, uygulamamız Registry'de bu dizinin altına `"Sticky Canvas"` adında yeni bir anahtar (String Value) ekler.
* **Geliştirici Modunda (Script):** Değer olarak Python yorumlayıcısının yolunu ve `main.py` dosyamızın tam yolunu yazar: `"[PYTHON_YOLU]\python.exe" "[PROJE_YOLU]\main.py"`
* **Paketlenmiş Modda (EXE):** Değer olarak doğrudan derlenmiş `.exe` dosyamızın tam yolunu yazar: `"[EXE_YOLU]\sticky_canvas.exe"`
3. **Kayıt Silme (Devre Dışı Bırakıldığında):**
Bu ayar kapatıldığında, uygulamamız Registry'deki `"Sticky Canvas"` anahtarını siler ve Windows açılışında otomatik başlama durdurulur.
4. **Kullanıcı Yetkisi:**
`HKEY_CURRENT_USER` (HKCU) kullanıldığı için bu işlem **Yönetici yetkisi (UAC / Administrator) gerektirmez.** Herhangi bir kullanıcı hesabı altında tamamen güvenli ve sorunsuz şekilde çalışır.