Fix search, add 's' search shortcut for veronica2 - holymoly - A tor enabled gopher client written in CHICKEN scheme
(HTM) git clone git://vernunftzentrum.de/holymoly.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 0d7565a3f0d592f7307b797e2dcc74caf3d3e4e0
(DIR) parent 0e386a089cc8a0c68eb21fc15ed14f75dc791fa1
(HTM) Author: Christian Kellermann <ckeen@pestilenz.org>
Date: Tue, 11 Sep 2018 15:14:40 +0200
Fix search, add 's' search shortcut for veronica2
Diffstat:
holymoly.scm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
---
(DIR) diff --git a/holymoly.scm b/holymoly.scm
@@ -29,6 +29,7 @@
srfi-71)
(define *start-page* "gopher://vernunftzentrum.de/1/ckeen")
+(define *search-uri* "gopher://gopher.floodgap.com:70/7/v2/vs")
(foreign-declare "#include <locale.h>")
(foreign-code "setlocale(LC_ALL, \"en_US.UTF-8\");")
@@ -126,6 +127,7 @@
np)) ; backspace / pgdown
((113) (k 'quit)) ; q
((#x47 #x67) (k (uristring->entry (get-user-input "New uri:" (entry->string (current-page))))) newp) ; G
+ ((115) (k (uristring->entry *search-uri*)))
(else newp)))))))))
(define (get-user-input #!optional (prompt "Enter query:") (suggestion ""))
@@ -306,14 +308,14 @@
(xdg-open (entry-selector e))
(select-entry (current-page)))
(when (equal? (entry-type e) 'index-search)
- (let* ((base+query (string-split (entry-selector e) "?"))
+ (let* ((base+query (string-split (entry-selector e) (string #\tab)))
(query (if (= 1 (length base+query))
(get-user-input)
- (cdr base+query)))
+ (string-join (cdr base+query))))
(base-selector (car base+query)))
(if (null? query)
(select-entry (current-page))
- (entry-selector-set! e (string-concatenate `(,base-selector ,(string #\tab) ,@query))))))
+ (entry-selector-set! e (string-concatenate (list base-selector (string #\tab) query))))))
(unless (equal? e (current-page))
(push! e history))
(let* ((res (request-resource (entry-host e) (entry-selector e) (entry-port e) (memq (entry-type e) '(dos-archive binary gif image))))