Fix backspace with cursors - 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 5f6abb19963fae3735af7db225352db2a2239f05
(DIR) parent 60a070c2f512570c3a5e7e61d6584f3aa0a36d2d
(HTM) Author: Christian Kellermann <ckeen@pestilenz.org>
Date: Mon, 10 Sep 2018 12:17:40 +0200
Fix backspace with cursors
I am not pleased at all with the current cursor handling, I need to fix
this.
Diffstat:
holymoly.scm | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
---
(DIR) diff --git a/holymoly.scm b/holymoly.scm
@@ -104,30 +104,21 @@
(use-cursor (next-cursor! cursor) pos)
(else (if (= pos nlines) pos (set! pos (add1 pos))))))
((#x106) (when use-cursor (set! cursor (list->cursor selectables))) (set! pos 0)) ; HOME
- ((#x168) (when use-cursor #;
-(set! cursor (sub1 (length dlines)))) (set! pos (max pos (- nlines pos rows)))) ; end
+ ((#x168) (set! pos (max pos (- nlines pos rows)))) ; end
((260) (k 'back))
((32)
(set! pos (if (> (+ pos rows) nlines) pos (+ pos (sub1 rows))))
(when use-cursor
- (let adjust-cursor! ()
- (cond ((> pos (current-cursor cursor))
- (next-cursor! cursor)
- (adjust-cursor!))
- ((< (+ pos (length dlines)) (current-cursor cursor))
- (prev-cursor! cursor)
- (adjust-cursor!)))))
+ (let adjust-cursor! ()
+ (cond ((> pos (current-cursor cursor))
+ (next-cursor! cursor)
+ (adjust-cursor!))
+ ((< (+ pos (length dlines)) (current-cursor cursor))
+ (prev-cursor! cursor)
+ (adjust-cursor!)))))
pos) ; space
((10 261) (when use-cursor (k (list-ref lines (current-cursor cursor)))) pos)
- ((#x107) (set! pos (if (< (- pos rows) 0) 0 (- pos (sub1 rows))))
- (when use-cursor
- (let adjust-cursor! ()
- (cond ((> pos (current-cursor cursor))
- (next-cursor! cursor)
- (adjust-cursor!))
- ((< (+ pos (length dlines)) (current-cursor cursor))
- (prev-cursor! cursor)
- (adjust-cursor!)))))) ; backspace
+ ((263) (set! pos (if (< (- pos rows) 0) 0 (- pos (sub1 rows))))) ; backspace
((113) (k 'quit)) ; q
((#x47 #x67) (k (uristring->entry (get-user-input "New uri:" (entry->string (current-page))))) pos) ; G
(else pos)))))))))