iMore resize fixes, still no reflow - 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 d01fd2d8321c9e99d10ba0038399b5299815cb42 /ckeen/repos/holymoly/commit/d01fd2d8321c9e99d10ba0038399b5299815cb42.gph vernunftzentrum.de 70 1parent 0f875328b6613d07d50036d8ccd2d6d7d0658c19 /ckeen/repos/holymoly/commit/0f875328b6613d07d50036d8ccd2d6d7d0658c19.gph vernunftzentrum.de 70 hAuthor: Christian Kellermann URL:mailto:ckeen@pestilenz.org vernunftzentrum.de 70 iDate: Mon, 10 Sep 2018 16:09:47 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iMore resize fixes, still no reflow Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i holymoly.egg | 2 +- Err vernunftzentrum.de 70 i holymoly.scm | 30 +++++++++++++++++++++++++----- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i2 files changed, 26 insertions(+), 6 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/holymoly.egg b/holymoly.egg /ckeen/repos/holymoly/file/holymoly.egg.gph vernunftzentrum.de 70 i@@ -1,5 +1,5 @@ Err vernunftzentrum.de 70 i ((author "Christian Kellermann") Err vernunftzentrum.de 70 i (license BSD) Err vernunftzentrum.de 70 i (synopsis "A gopher client using ncurses and supporting SOCKS proxies") Err vernunftzentrum.de 70 i- (dependencies miscmacros srfi-1 srfi-4 srfi-71 srfi-13 bitstring) Err vernunftzentrum.de 70 i+ (dependencies ioctl miscmacros srfi-1 srfi-4 srfi-71 srfi-13 bitstring) Err vernunftzentrum.de 70 i (components (program holymoly (linkage static) (files "holymoly.scm" "proxy.scm" "cursor.scm") (link-options "-Wl,-lncursesw")))) Err vernunftzentrum.de 70 i \ No newline at end of file Err vernunftzentrum.de 70 1diff --git a/holymoly.scm b/holymoly.scm /ckeen/repos/holymoly/file/holymoly.scm.gph vernunftzentrum.de 70 i@@ -18,6 +18,7 @@ Err vernunftzentrum.de 70 i (chicken process signal) Err vernunftzentrum.de 70 i (chicken string) Err vernunftzentrum.de 70 i (chicken tcp) Err vernunftzentrum.de 70 i+ ioctl Err vernunftzentrum.de 70 i matchable Err vernunftzentrum.de 70 i miscmacros Err vernunftzentrum.de 70 i ncurses Err vernunftzentrum.de 70 i@@ -38,6 +39,9 @@ Err vernunftzentrum.de 70 i (define gopher-port 70) Err vernunftzentrum.de 70 i (define index "") Err vernunftzentrum.de 70 i (define tab (string #\tab)) Err vernunftzentrum.de 70 i+(define rows 0) Err vernunftzentrum.de 70 i+(define cols 0) Err vernunftzentrum.de 70 i+(define next-step values) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (define-record entry type title selector host port rest) Err vernunftzentrum.de 70 i (define-record-printer entry Err vernunftzentrum.de 70 i@@ -79,7 +83,7 @@ Err vernunftzentrum.de 70 i (lambda (k) Err vernunftzentrum.de 70 i (let loop ((newp 0)) Err vernunftzentrum.de 70 i (let* ((rows cols (getmaxyx win)) Err vernunftzentrum.de 70 i- (dlines (take (drop lines newp) (min (- nlines newp) rows)))) Err vernunftzentrum.de 70 i+ (dlines (take (drop lines newp) (min (- nlines newp) rows)))) Err vernunftzentrum.de 70 i (wclear win) Err vernunftzentrum.de 70 i (let draw ((l dlines) Err vernunftzentrum.de 70 i (i 0)) Err vernunftzentrum.de 70 i@@ -348,6 +352,20 @@ Err vernunftzentrum.de 70 i (string-append (type->string (entry-type e)) Err vernunftzentrum.de 70 i (entry-selector e)))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+(define (resize-wins _) Err vernunftzentrum.de 70 i+ (let ((rows+cols (ioctl-winsize (current-output-port)))) Err vernunftzentrum.de 70 i+ (set! rows (car rows+cols)) Err vernunftzentrum.de 70 i+ (set! cols (cadr rows+cols)) Err vernunftzentrum.de 70 i+ (resizeterm rows cols) Err vernunftzentrum.de 70 i+ (wresize (main-win) (sub1 rows) cols) Err vernunftzentrum.de 70 i+ (wresize (status-win) 1 cols) Err vernunftzentrum.de 70 i+ (mvwin (main-win) 0 0) Err vernunftzentrum.de 70 i+ (mvwin (status-win) (sub1 rows) 0) Err vernunftzentrum.de 70 i+ (fprintf (current-error-port) "rows ~a cols ~a~%" rows cols) Err vernunftzentrum.de 70 i+ (clear) Err vernunftzentrum.de 70 i+ (refresh) Err vernunftzentrum.de 70 i+ (next-step (current-page)))) Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i (define (main args) Err vernunftzentrum.de 70 i (initscr) Err vernunftzentrum.de 70 i (cbreak) Err vernunftzentrum.de 70 i@@ -356,12 +374,14 @@ Err vernunftzentrum.de 70 i (clear) Err vernunftzentrum.de 70 i (refresh) Err vernunftzentrum.de 70 i (noecho) Err vernunftzentrum.de 70 i- (set-signal-handler! signal/winch (lambda (sig) (endwin)(refresh)(clear))) Err vernunftzentrum.de 70 i+ (set-signal-handler! signal/winch resize-wins) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- (let ((l c (getmaxyx (stdscr))) Err vernunftzentrum.de 70 i+ (let ((rows+cols (ioctl-winsize (current-output-port))) Err vernunftzentrum.de 70 i (start-page (if (null? args) *start-page* (car args)))) Err vernunftzentrum.de 70 i- (main-win (newwin (sub1 l) c 0 0)) Err vernunftzentrum.de 70 i- (status-win (newwin 1 c (sub1 l) 0)) Err vernunftzentrum.de 70 i+ (set! rows (car rows+cols)) Err vernunftzentrum.de 70 i+ (set! cols (cadr rows+cols)) Err vernunftzentrum.de 70 i+ (main-win (newwin (sub1 rows) cols 0 0)) Err vernunftzentrum.de 70 i+ (status-win (newwin 1 cols (sub1 rows) 0)) Err vernunftzentrum.de 70 i (new-status "Starting up!") Err vernunftzentrum.de 70 i (select-entry (uristring->entry start-page)) Err vernunftzentrum.de 70 i (exit 0))) Err vernunftzentrum.de 70 .