Skip to main content

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.txt içine boş satırla ayrılarak
  • Opsiyonel zaman damgası — her kayda --- YYYY-MM-DD HH:MM:SS --- başlığı
  • Etkileşimli tuş kaydı--record-hotkey ile 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 Mac
  • kopyala-yapistir-linux-x86_64.zip — Linux x86_64
  • kopyala-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.

  1. Sistem Ayarları → Gizlilik ve Güvenlik → Erişilebilirlik
  2. + butonuna basın, çalıştırdığınız şeye göre şu yolu ekleyin:
    • Kaynaktan çalıştırıyorsanız: /usr/bin/python3 ya da /opt/anaconda3/bin/python3 (sisteminizdeki Python yolu)
    • Binary'den çalıştırıyorsanız: .../kopyala-yapistir/dist/secili-metin-kaydedici
  3. Yanındaki anahtarı AÇIK konuma getirin
  4. 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+S tutarken biz Cmd+C simüle edersek OS bunu Cmd+Shift+C (DevTools) olarak görür. Bu yüzden modifier release beklenir.
  • Gecikmeli pano yazımı yakalanır: Sabit sleep yerine 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kopyala_yapistir-1.1.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kopyala_yapistir-1.1.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for kopyala_yapistir-1.1.0.tar.gz
Algorithm Hash digest
SHA256 79bf04dd6d5168ad6af2e473d7f9960fbcb890a447db2bc9868568f2f5037f90
MD5 8b10a3f2c0dc4acab7c14a75ce4d3ba1
BLAKE2b-256 bc9f616c762d56dce2bd04e94461dd02b875cb5572ae1a630c12d01fc1107382

See more details on using hashes here.

File details

Details for the file kopyala_yapistir-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kopyala_yapistir-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78442c2122cf3fc5059d60e8ca32a1ddd7e52a254efb1c5710588fa4fbf45c96
MD5 2d2283a240d91cd5f38b0983f67ee6ca
BLAKE2b-256 9660f390be016d6fa79aa2d72f2ef0e2ad0d5df36bb9ce4d8fdd58f562c5cbd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page