Ekrandaki seçili metni global hotkey ile rapor-N.txt dosyalarına kaydeden çapraz platform terminal aracı.
Project description
Kopyala-Yapıştır
Ekrandaki seçili metni tek tuş kombinasyonuyla rapor-N.txt dosyalarına kaydeden çapraz platform terminal uygulaması. Linux / macOS / Windows.
Tarayıcıdan, PDF okuyucudan, editörden — herhangi bir uygulamada metin seçin, ayarladığınız tuş kombinasyonuna basın, metin otomatik olarak raporlar/ klasörüne yazılır.
Özellikler
- Global hotkey — Hangi uygulamada olursanız olun çalışır
- İki kayıt kipi
- Çoklu dosya: her kopya yeni
rapor-1.txt,rapor-2.txt, ... şeklinde artarak - Tek dosya (ekleme): tüm kopyalar aynı
rapor-1.txtiçine boş satırla ayrılarak
- Çoklu dosya: her kopya yeni
- Opsiyonel zaman damgası — her kayda
--- YYYY-MM-DD HH:MM:SS ---başlığı - Etkileşimli tuş kaydı —
--record-hotkeyile basarak kombinasyon belirleme - Önceki pano içeriği korunuyor — yedekle/geri yükle ile şifreniz / kopyaladığınız önceki şey kaybolmaz
- Chrome-güvenli — DevTools kazasını önlemek için modifier release bekleme; gecikmeli pano yazımları için sentinel polling
- Self-test — bağımlılıkları, panoyu, izinleri doğrulayan tanı modu
Kurulum
Seçenek 1: pip ile (en kolay)
# Doğrudan GitHub'dan
pip install git+https://github.com/sersayser/kopyala-yapistir.git
# Sonra her yerden çalıştır:
kopyala-yapistir
Yerel bir klon üzerinde geliştirme yapıyorsanız:
git clone https://github.com/sersayser/kopyala-yapistir.git
cd kopyala-yapistir
pip install -e . # editable install
Seçenek 2: GitHub Releases'tan hazır binary
Her tag push'unda CI otomatik olarak 4 platform için binary üretir. Releases sayfasından kendi platformunuza ait zip'i indirin: https://github.com/sersayser/kopyala-yapistir/releases
Mevcut platformlar:
kopyala-yapistir-macos-arm64.zip— Apple Silicon Mac (M1/M2/M3/M4)kopyala-yapistir-macos-x86_64.zip— Intel Mackopyala-yapistir-linux-x86_64.zip— Linux x86_64kopyala-yapistir-windows-x86_64.zip— Windows x86_64
Seçenek 3: Kaynak + manuel çalıştırma (pip kurmadan)
git clone https://github.com/sersayser/kopyala-yapistir.git
cd kopyala-yapistir
pip install -r requirements.txt
python3 app.py
Seçenek 4: Kendi platformunuz için binary üret
git clone https://github.com/sersayser/kopyala-yapistir.git
cd kopyala-yapistir
pip install -r requirements.txt pyinstaller
./build.sh # macOS / Linux
./dist/secili-metin-kaydedici
macOS'ta dist/Calistir.command'a çift tıklayarak da başlatabilirsiniz.
macOS Erişilebilirlik İzni (ZORUNLU)
macOS'ta global tuş dinleme için Erişilebilirlik izni şarttır. Aksi halde uygulama çalışmaz.
- Sistem Ayarları → Gizlilik ve Güvenlik → Erişilebilirlik
- + butonuna basın, çalıştırdığınız şeye göre şu yolu ekleyin:
- Kaynaktan çalıştırıyorsanız:
/usr/bin/python3ya da/opt/anaconda3/bin/python3(sisteminizdeki Python yolu) - Binary'den çalıştırıyorsanız:
.../kopyala-yapistir/dist/secili-metin-kaydedici
- Kaynaktan çalıştırıyorsanız:
- Yanındaki anahtarı AÇIK konuma getirin
- Uygulamayı kapatıp yeniden başlatın
Hangi yolu eklemeniz gerektiğini --self-test veya --record-hotkey size söyler.
Kullanım
Tuş kombinasyonunu ayarla (bir kez)
# Etkileşimli — bir kombinasyona basın, otomatik yakalanır
python3 app.py --record-hotkey
# Manuel — string olarak ayarla
python3 app.py --set-hotkey '<ctrl>+<shift>+s'
Varsayılan: <ctrl>+<shift>+s. Ayar ~/.secili_metin_kaydedici.json içinde saklanır.
Çalıştır
python3 app.py
Banner görüntülenir, hotkey dinlenmeye başlar. Metin seçin → hotkey'e basın → raporlar/rapor-N.txt oluşur.
Kayıt kipini değiştir
# Tek dosya kipi (tüm kopyalar rapor-1.txt'ye eklenir)
python3 app.py --append
# Her kopya zaman damgası alsın
python3 app.py --timestamp
# Çoklu dosya kipine geri dön
python3 app.py --no-append
# Tek seferde her şey
python3 app.py --set-hotkey '<ctrl>+<alt>+r' --append --timestamp
CLI Referansı
--set-hotkey KOMBO Tuş kombinasyonunu string olarak ayarla (kalıcı)
--record-hotkey Etkileşimli kayıt (Esc=iptal)
--output-dir, -o DIZIN Çıktı dizini (varsayılan: ./raporlar)
--append, --no-append Tek dosya kipi / çoklu dosya kipi (kalıcı)
--timestamp, --no-timestamp Zaman damgası başlığı (kalıcı)
--show-config Mevcut ayarları göster
--self-test Bağımlılıkları ve izinleri sına
--help, -h Yardım metni
Örnek Çıktı
Çoklu dosya kipi (varsayılan)
raporlar/
├── rapor-1.txt ← ilk kopyalama
├── rapor-2.txt ← ikinci kopyalama
├── rapor-3.txt ← ...
Ekleme kipi + zaman damgası (--append --timestamp)
raporlar/rapor-1.txt:
--- 2026-05-22 14:32:15 ---
Müvekkilin ifadesi başlangıcı...
--- 2026-05-22 14:35:48 ---
Tanık beyanı.
İki satırlı.
--- 2026-05-22 14:41:02 ---
Sonuç.
Platform Notları
| Platform | Ek Gereksinim |
|---|---|
| macOS | Erişilebilirlik izni (zorunlu) |
| Linux | X11 önerilir; Wayland'de global hotkey sınırlı çalışabilir. Pano için xclip veya xsel gerekli. |
| Windows | Ek ayar gerekmez |
Chrome'da Güvenli Çalışma
Uygulama Chrome ile aşağıdaki önlemleri içerir:
- DevTools kazası yok: Kullanıcı
Ctrl+Shift+Stutarken bizCmd+Csimüle edersek OS bunuCmd+Shift+C(DevTools) olarak görür. Bu yüzden modifier release beklenir. - Gecikmeli pano yazımı yakalanır: Sabit
sleepyerine sentinel + 1.5s polling. - Pano restore: İşlem sonrası kullanıcının önceki pano içeriği geri yüklenir.
Geliştirici Notları
Birim testleri ve Chrome E2E testleri için:
# Edge case birim testleri inline olarak app.py içinde değil — manuel koşulur
python3 -c "import app; print(app.timestamp_header())"
# Chrome veri yolu testi (izin gerektirmez)
python3 test_chrome_clipboard.py
# Chrome E2E testi (Erişilebilirlik izni gerektirir)
python3 test_chrome_e2e.py
Lisans
MIT — bkz. LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kopyala_yapistir-1.1.0.tar.gz.
File metadata
- Download URL: kopyala_yapistir-1.1.0.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79bf04dd6d5168ad6af2e473d7f9960fbcb890a447db2bc9868568f2f5037f90
|
|
| MD5 |
8b10a3f2c0dc4acab7c14a75ce4d3ba1
|
|
| BLAKE2b-256 |
bc9f616c762d56dce2bd04e94461dd02b875cb5572ae1a630c12d01fc1107382
|
File details
Details for the file kopyala_yapistir-1.1.0-py3-none-any.whl.
File metadata
- Download URL: kopyala_yapistir-1.1.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78442c2122cf3fc5059d60e8ca32a1ddd7e52a254efb1c5710588fa4fbf45c96
|
|
| MD5 |
2d2283a240d91cd5f38b0983f67ee6ca
|
|
| BLAKE2b-256 |
9660f390be016d6fa79aa2d72f2ef0e2ad0d5df36bb9ce4d8fdd58f562c5cbd0
|