iLet xdg-open handle images - holymoly - A tor enabled gopher client written in CHICKEN scheme Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/holymoly.git URL:git://vernunftzentrum.de/holymoly.git vernunftzentrum.de 70 1Log /ckeen/repos/holymoly/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/holymoly/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/holymoly/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/holymoly/file/README.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/holymoly/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit 952bbbec802d000e6df8e215c476e20abcd27612 /ckeen/repos/holymoly/commit/952bbbec802d000e6df8e215c476e20abcd27612.gph vernunftzentrum.de 70 1parent 02fc2868d59a92bb4d19a5845e66ade988c09a56 /ckeen/repos/holymoly/commit/02fc2868d59a92bb4d19a5845e66ade988c09a56.gph vernunftzentrum.de 70 hAuthor: Christian Kellermann URL:mailto:ckeen@pestilenz.org vernunftzentrum.de 70 iDate: Fri, 3 Aug 2018 10:27:41 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iLet xdg-open handle images Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i holymoly.scm | 14 +++++++++++--- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 11 insertions(+), 3 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/holymoly.scm b/holymoly.scm /ckeen/repos/holymoly/file/holymoly.scm.gph vernunftzentrum.de 70 i@@ -6,6 +6,7 @@ Err vernunftzentrum.de 70 i (chicken base) Err vernunftzentrum.de 70 i (chicken bitwise) Err vernunftzentrum.de 70 i (chicken condition) Err vernunftzentrum.de 70 i+ (chicken file posix) Err vernunftzentrum.de 70 i (chicken format) Err vernunftzentrum.de 70 i (chicken io) Err vernunftzentrum.de 70 i (chicken irregex) Err vernunftzentrum.de 70 i@@ -235,8 +236,13 @@ Err vernunftzentrum.de 70 i (else Err vernunftzentrum.de 70 i (sprintf " > ~a" (entry-title e))))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-(define (call prog r) Err vernunftzentrum.de 70 i- (with-output-to-pipe prog (lambda () (display r)))) Err vernunftzentrum.de 70 i+(define (xdg-open r) Err vernunftzentrum.de 70 i+ (let-values (((fd temp-path) (file-mkstemp "/tmp/mytemporary.XXXXXX"))) Err vernunftzentrum.de 70 i+ (let ((temp-port (open-output-file* fd))) Err vernunftzentrum.de 70 i+ (write-u8vector r temp-port) Err vernunftzentrum.de 70 i+ (close-output-port temp-port)) Err vernunftzentrum.de 70 i+ (process "xdg-open" (list temp-path)) Err vernunftzentrum.de 70 i+ (previous-page))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (define history '()) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -269,7 +275,9 @@ Err vernunftzentrum.de 70 i (define type-handlers Err vernunftzentrum.de 70 i `((file . ,(lambda (c) (pager c win: (main-win)) (previous-page))) Err vernunftzentrum.de 70 i (directory . ,render-directory) Err vernunftzentrum.de 70 i- (index-search . ,render-directory))) Err vernunftzentrum.de 70 i+ (index-search . ,render-directory) Err vernunftzentrum.de 70 i+ (image . ,(lambda (c) (xdg-open c))) Err vernunftzentrum.de 70 i+ (gif . ,(lambda (c) (xdg-open c))))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (define (save-selector entry content) Err vernunftzentrum.de 70 i (let* ((filename (string-append "/tmp/" Err vernunftzentrum.de 70 .