Emacs'in vektör (SVG) ekran görüntülerini alabilir miyim?


15

gtk-vector-screenshotProgram Gtk 3 uygulamaların vektör ekran görüntüleri almak için kullanılabilir. Uygulamadan kendisini bir SVG tuvaline yeniden çizmesini isteyerek işe yarıyor gibi görünüyor.

GNU / Linux üzerindeki Emacs, Gtk + ile oluşturulabilir, ancak yukarıda belirtilen uygulamayı bir Emacs penceresinde kullanmaya çalışmak, yalnızca menü çubuğu gibi GUI öğelerini içeren bir ekran görüntüsüyle sonuçlanır; arabellekler oluşturulmaz (Kahire ile ve Kahire olmadan denedim). Emacs'ın arabellek oluşturma işleminin oldukça düşük bir seviyede gerçekleşmesi göz önüne alındığında, bu çok şaşırtıcı değil.

Yine de, Emacs'ın ölçeklenebilir vektör ekran görüntülerini almanın bir yolu var mı?

Yanıtlar:


2

Emacs'daki Gtk + widget'ları belgelerine göre :

  • menüler,
  • diyaloglar,
  • araç çubukları ve
  • kaydırma çubukları

Tamponlar Emacs'ın kendisi tarafından oluşturulur. Ne tampon ne de tampondaki çizgiler Gtk + widget'larıdır. Bu, Gtk + widget'larının dışa aktarma işlevi hakkında hiçbir şey bilmedikleri anlamına gelir.

Yapabileceğiniz en iyi şey htmlfontify-buffer, oluşturulan HTML'yi widget'ları içeren SVG'nize gömmek için kullanmaktır . Ancak bu, HTML ve SVG'yi birleştirmek için bazı ek çalışmalar gerektirecektir. Ama unutmayın htmlfontify-bufferde vardır bazı sınırlamaları ve her tampon ile çalışmaz.


Bunun soruyu cevapladığından emin değilim. take-vector-screenshotÖrnek olarak bahsetmiştim , ancak işe yaramadığının şaşırtıcı olmadığını da söyledim. htmlfontify-buffergerçekten hak kazanmak için çok fazla sınırlama var (yer paylaşımları, ekran dizesi, satır kaydırmaları, yazı tipi yedekleri vb. oluşturmayacak)
Clément

1
@ Clément Kısa cevap: hiçbir şekilde.
ceving

Bu kişisel görüş mü yoksa bu iddiayı destekleyecek kanıtlarınız mı var? Emacs'ın sahip olduğu arka plan oluşturma sayıları (Kahire, doğrudan X, Gtk, vb.) Düşünüldüğünde, bunlardan birine hafif bir ince ayarın yeterli olabileceği düşünülebilir.
Clément

2
@ Clément Gtk +, SVG'ye sunabilir, çünkü Gtk +, SVG için bir arka ucu olan Kahire'yi kullanır . Emacs, Kahire'yi arabellek oluşturma için kullanmaz. Ancak Kahire için deneysel bir şube var . Belki yakın gelecekte bu mümkün olabilir.
ceving

1

Kahire yapılarında mümkün!

(x-export-frames FRAMES TYPE)

Return image data of FRAMES in TYPE format.
FRAMES should be nil (the selected frame), a frame, or a list of
frames (each of which corresponds to one page).  Each frame should be
visible.  Optional arg TYPE should be either `pdf' (default), `png',
`postscript', or `svg'.  Supported types are determined by the
compile-time configuration of cairo.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.