Wie kann ich einen Emacs-Rahmen drucken?

28

Die Funktion ps-print-buffer-with-facesdruckt einen Emacs-Puffer. Gibt es eine Möglichkeit, einen Frame mit mehr als einem Puffer zu drucken? Ich möchte einen Emacs-Calc-Frame sowohl mit dem RPN-Stack als auch mit dem Trailbuffer drucken.

Der Typ
quelle
7
Warum nicht einfach einen Screenshot machen und ausdrucken, wenn die Gesamtheit dessen, was Sie ausdrucken möchten, auf dem Bildschirm sichtbar ist?
Kaushal Modi
Wenn Sie es in eine Datei drucken (PostScript), können Sie später mit einem Programm (z. B. Inkscape) den Inhalt beider Dateien nebeneinander platzieren. Dies druckt jedoch nicht den Rand bzw. den Rest des Chroms des Programms.
wvxvw
2
@kaushalmodi Weil ein gedruckter Screenshot mit Text eine schreckliche Auflösung hat.
Gilles 'SO- hör auf böse zu sein'
1
@Gilles Durch Speichern von Screencaps als .png anstelle von .jpg (sehr verlustbehaftet) erhalte ich ein Bild mit ausreichender Qualität (Beispiel: i.imgur.com/NHcDP5h.png ).
Kaushal Modi
2
In Ubuntu / Debian gibt es ein Paket namens gtk-vector-screenshot. Es werden PS / PDF / SVG-Screenshots für GTK3-Anwendungen erstellt. Das Github-Repo ist hier: github.com/nomeata/gtk-vector-screenshot . Eine Übersicht gibt es hier: joachim-breitner.de/blog/494-Better_PDF_screenshots_with_gtk_3 . Sie müssten Emacs über konfigurieren ./configure --with-x-toolkit=gtk3. Vorbehalt: Es tut mir leid, dass ich es nicht zum Laufen bringen konnte! Da es in Ubuntu gepackt ist, funktionierte es irgendwann eindeutig für jemanden. Wenn jemand es zum Laufen bringt, erweitern Sie bitte diesen Kommentar als Antwort.
Joe Corneli

Antworten:

1

Was ist mit frameshotvon Tarsius ? Ich habe es nicht selbst ausprobiert, aber es scheint zu tun, was Sie wollen. Laut dem Release-Verlauf auf GitHub wurde das Paket am 26. Februar 2018 in diese Welt geboren - später als das letzte Update für diesen Beitrag.

https://github.com/tarsius/frameshot

Probieren Sie es aus ! ;)

Sam
quelle
0

Anstatt zu versuchen, einen Rahmen zu drucken, sollten Sie einen neuen Puffer erstellen, dessen Inhalt aus Kopien der beiden Calc-Puffer erstellt wird.

db48x
quelle
Läuft der Emacs des Fragestellers in einem xterm oder ähnlichem? Wenn ja, können wir eine Emacs Lisp-Funktion erstellen, um die Aufgabe zu erledigen. Das sollte zu einer akzeptablen Antwort führen.
DA Vincent
0

Sie können verwenden hfyviewvon https://github.com/jwiegley/nxhtml/blob/master/util/hfyview.el . Es erstellt ein HTML-Faksimile des Emacs-Frames, das Sie über Ihren Webbrowser drucken können.

Ista
quelle
Unter Emacs 25.1 hfyview-frame(die hier benötigte Funktion) schlägt das Argument "Falscher Typ" fehl. hfyview-bufferfunktioniert aber immer noch.
Halloleo