mirror of https://codeberg.org/cage/tinmop/
Merge branch 'master' into gemini-client-cert
This commit is contained in:
commit
0fd83f7745
|
@ -973,6 +973,19 @@
|
||||||
:reader skip-rendering-p
|
:reader skip-rendering-p
|
||||||
:writer (setf skip-rendering))))
|
:writer (setf skip-rendering))))
|
||||||
|
|
||||||
|
(defun refresh-gemini-message-window (links source rendered-text append-text)
|
||||||
|
(let* ((win specials:*message-window*)
|
||||||
|
(window-metadata (message-window:metadata win)))
|
||||||
|
(if append-text
|
||||||
|
(progn
|
||||||
|
(message-window:append-source-text win rendered-text :prepare-for-rendering t)
|
||||||
|
(gemini-viewer:append-metadata-link window-metadata links)
|
||||||
|
(gemini-viewer:append-metadata-source window-metadata source))
|
||||||
|
(progn
|
||||||
|
(setf (message-window:source-text win) rendered-text)
|
||||||
|
(setf (gemini-viewer:gemini-metadata-source-file window-metadata) rendered-text)
|
||||||
|
(setf (gemini-viewer:gemini-metadata-links window-metadata) links)))))
|
||||||
|
|
||||||
(defmethod process-event ((object gemini-got-line-event))
|
(defmethod process-event ((object gemini-got-line-event))
|
||||||
(with-accessors ((response payload)
|
(with-accessors ((response payload)
|
||||||
(append-text append-text)
|
(append-text append-text)
|
||||||
|
@ -989,19 +1002,10 @@
|
||||||
(not (skip-rendering-p object)))
|
(not (skip-rendering-p object)))
|
||||||
(let* ((win specials:*message-window*)
|
(let* ((win specials:*message-window*)
|
||||||
(rendered-line (gemini-parser:sexp->text parsed-file
|
(rendered-line (gemini-parser:sexp->text parsed-file
|
||||||
text-rendering-theme))
|
text-rendering-theme)))
|
||||||
(window-metadata (message-window:metadata win)))
|
(setf (windows:keybindings win)
|
||||||
(if append-text
|
keybindings:*gemini-message-keymap*)
|
||||||
(progn
|
(refresh-gemini-message-window links source rendered-line append-text)
|
||||||
(message-window:append-source-text win rendered-line :prepare-for-rendering t)
|
|
||||||
(gemini-viewer:append-metadata-link window-metadata links)
|
|
||||||
(gemini-viewer:append-metadata-source window-metadata source)
|
|
||||||
(setf (windows:keybindings win)
|
|
||||||
keybindings:*gemini-message-keymap*))
|
|
||||||
(progn
|
|
||||||
(setf (message-window:source-text win) rendered-line)
|
|
||||||
(setf (gemini-viewer:gemini-metadata-source-file window-metadata) rendered-line)
|
|
||||||
(setf (gemini-viewer:gemini-metadata-links window-metadata) links)))
|
|
||||||
(windows:draw win))))))
|
(windows:draw win))))))
|
||||||
|
|
||||||
(defclass gemini-compact-lines-event (program-event)
|
(defclass gemini-compact-lines-event (program-event)
|
||||||
|
@ -1012,9 +1016,10 @@
|
||||||
|
|
||||||
(defmethod process-event ((object gemini-compact-lines-event))
|
(defmethod process-event ((object gemini-compact-lines-event))
|
||||||
(with-accessors ((download-uri download-uri)) object
|
(with-accessors ((download-uri download-uri)) object
|
||||||
(let ((all-lines "")
|
(let ((all-lines "")
|
||||||
(all-links ())
|
(all-links ())
|
||||||
(all-source ""))
|
(all-source "")
|
||||||
|
(append-text t))
|
||||||
(map-events (lambda (a)
|
(map-events (lambda (a)
|
||||||
(with-accessors ((response payload)
|
(with-accessors ((response payload)
|
||||||
(wrapper-object wrapper-object)) a
|
(wrapper-object wrapper-object)) a
|
||||||
|
@ -1030,6 +1035,8 @@
|
||||||
(not (skip-rendering-p a)))
|
(not (skip-rendering-p a)))
|
||||||
(let ((rendered-text (gemini-parser:sexp->text parsed-file
|
(let ((rendered-text (gemini-parser:sexp->text parsed-file
|
||||||
text-rendering-theme)))
|
text-rendering-theme)))
|
||||||
|
(when (null (append-text a))
|
||||||
|
(setf append-text nil))
|
||||||
(appendf all-links links)
|
(appendf all-links links)
|
||||||
(setf all-source
|
(setf all-source
|
||||||
(text-utils:strcat all-source source))
|
(text-utils:strcat all-source source))
|
||||||
|
@ -1042,13 +1049,10 @@
|
||||||
(and (typep a 'gemini-got-line-event)
|
(and (typep a 'gemini-got-line-event)
|
||||||
(string= download-uri
|
(string= download-uri
|
||||||
(gemini-viewer:download-uri wrapper-object))))))
|
(gemini-viewer:download-uri wrapper-object))))))
|
||||||
(let* ((win specials:*message-window*)
|
(let* ((win specials:*message-window*))
|
||||||
(window-metadata (message-window:metadata win)))
|
|
||||||
(message-window:append-source-text win all-lines :prepare-for-rendering t)
|
|
||||||
(gemini-viewer:append-metadata-link window-metadata all-links)
|
|
||||||
(gemini-viewer:append-metadata-source window-metadata all-source)
|
|
||||||
(setf (windows:keybindings win)
|
(setf (windows:keybindings win)
|
||||||
keybindings:*gemini-message-keymap*)
|
keybindings:*gemini-message-keymap*)
|
||||||
|
(refresh-gemini-message-window all-links all-source all-lines append-text)
|
||||||
(windows:draw win))))))
|
(windows:draw win))))))
|
||||||
|
|
||||||
(defclass gemini-abort-downloading-event (program-event) ())
|
(defclass gemini-abort-downloading-event (program-event) ())
|
||||||
|
|
Loading…
Reference in New Issue