Kali Linux ve diğer X11 tabanlı dağıtımlar için Rust + GTK4 ile yazılmış ekran yakalama, anotasyon ve video kayıt aracı.
KapturX, başta Kali Linux olmak üzere X11 oturumu çalıştıran tüm Linux dağıtımları için tasarlanmış, tek binary olarak çalışan bir ekran yakalama aracıdır. Hem CLI (script otomasyonu için) hem de GTK4 GUI + sistem tepsisi (günlük kullanım için) modlarını tek üründe birleştirir. Tam ekran, bölge ve pencere yakalama; vektörel anotasyon editörü; FFmpeg üzerinden video kayıt; X11 raw input ile global hotkey ve klavye yakalamasına dirençli kısayol desteği sunar.
X11 protokolüne ve GTK4\'e bağımlı — Linux dışı hedefler desteklenmiyor
Birincil hedef platform — geliştirme ve test ortamı.
GTK4 + X11 oturumunda tam çalışır. Wayland oturumunda XWayland gerekir.
GTK4 ≥ 4.14 ve x11 server kurulu olan dağıtımlarda çalışır.
XWayland üzerinden kısmi destek. Native Wayland (wlr-screencopy) yol haritasında.
GTK4 + X11 + ksni (D-Bus) bağımlılıkları nedeniyle desteklenmiyor.
Linux'a özel sistem çağrıları (xrandr, X11 raw input) Windows'ta yok.
gdk4-x11 (GTK X11 backend), x11rb (X11 raw input), ksni (D-Bus StatusNotifierItem), xrandr (ekran tespiti), Linux dosya sistemi hiyerarşisi (~/.config/autostart, /usr/local/bin). macOS ve Windows için yeniden yazım (Quartz/Win32 capture, native menu bar/tray) gerekir.Tüm görüntüleyicileri tek karede yakalama; çoklu monitör desteği.
CLI veya etkileşimli arayüzle x,y,widthxheight formatında alan kırpma.
X11 pencere ID ile belirli bir uygulama penceresinin yakalanması.
Çizim araçları (ok, dikdörtgen, vurgulayıcı, metin) — vektörel render + raster çıktı.
FFmpeg subprocess ile ekran kaydı; bölge tabanlı kayıt + tokio asenkron yönetim.
Yakalanan görüntüyü dosyaya kaydetmeden doğrudan X11 panosuna iletme (arboard).
D-Bus StatusNotifierItem (ksni) ile masaüstü tepsisinde sürekli erişilebilir simge.
X11 raw input (x11rb XInput) ile klavye yakalama sırasında bile çalışan kısayollar.
--delay parametresi ile menü/popup açıkken yakalama için geri sayım.
confy + serde ile ~/.config/kapturx/ altında TOML config; varsayılan format, kalite, kayıt yolu.
Tek binary; argümanlar verilmediğinde GUI + tray, verildiğinde headless capture.
make autostart ile ~/.config/autostart/kapturx.desktop kurularak oturum açılışında çalışır.
05a (foto) ve 05b (video) paralel kollar — kullanıcı seçimine göre biri çalışır
Kullanıcı CLI argümanı (--fullscreen / --region / --window), sistem tepsisi menüsü veya global hotkey ile yakalama başlatır. GUI modunda ksni tray simgesi sürekli arka planda çalışır.
Yakalama tipi seçilir: tam ekran (xcap üzerinden tüm monitörler), bölge (etkileşimli seçim veya x,y,widthxheight string), pencere (window ID + xcap window capture).
--delay parametresi varsa belirtilen saniye kadar bekler; menü/dropdown açma senaryolarında kullanılır. capture::delay::delay_sync ile bloklayan zamanlayıcı.
xcap kütüphanesi X11 üzerinden RGBA buffer alır → image::RgbaImage tipine dönüştürür. Bölge seçiminde imageproc ile crop uygulanır.
GUI modunda yakalanan görüntü editöre açılır; cairo + pango ile çizim araçları (ok, kutu, vurgulayıcı, ab_glyph metin). Vektörel item listesi tutulur, son rasterize sırasında tek seferde uygulanır.
Kayıt seçilirse tokio process ile FFmpeg subprocess başlatılır; xrandr ile ekran çözünürlüğü tespit edilir, bölge -filter:v crop ile uygulanır. Kayıt göstergesi GTK pencerede görünür.
Foto: PNG/JPG (image crate) ile config'teki dizine kaydedilir veya --clipboard ile arboard üzerinden panoya. Video: MP4/MKV olarak FFmpeg tarafından yazılır. Save dialog ile manuel hedef seçimi de mümkün.
clap derive ile tipli argüman parse — script otomasyonuna uygun
Rust kaynak ağacı — sorumluluklar açıkça ayrılmış
Ekran, bölge, pencere yakalama; xcap entegrasyonu, gecikme zamanlayıcı.
Çizim araçları, vektörel item listesi, cairo ile render, son raster çıktı.
FFmpeg subprocess yönetimi; bölge bazlı + tam ekran video kayıt.
GTK4 pencereler: tepsi, hotkey, izinler, kayıt göstergesi, save/settings dialog.
Uygulama mantığı, config, çıktı yazımı, pano.
Ön koşul: Rust toolchain (rustup), GTK4 ≥ 4.14 geliştirme paketleri, X11 server, FFmpeg.
MIT lisansı · ~/.config/kapturx/ altında TOML config