mirror of https://codeberg.org/cage/tinmop/
Compare commits
No commits in common. "76a11da2fc251e6fa2504f6ede747f507fd5223e" and "d5f5bad33c1b1eb9e4149f9454692b70705690c4" have entirely different histories.
76a11da2fc
...
d5f5bad33c
|
@ -406,8 +406,8 @@
|
||||||
(if (not (downloading-allowed-p wrapper-object))
|
(if (not (downloading-allowed-p wrapper-object))
|
||||||
(ui:notify (_ "Gemini document downloading aborted"))
|
(ui:notify (_ "Gemini document downloading aborted"))
|
||||||
(progn
|
(progn
|
||||||
(maybe-render-toc)
|
|
||||||
(ui:notify (_ "Gemini document downloading completed"))
|
(ui:notify (_ "Gemini document downloading completed"))
|
||||||
|
(maybe-render-toc)
|
||||||
(setf (stream-status wrapper-object) :completed)))
|
(setf (stream-status wrapper-object) :completed)))
|
||||||
;; (allow-downloading wrapper-object)
|
;; (allow-downloading wrapper-object)
|
||||||
(gemini-client:close-ssl-socket download-socket))))))))
|
(gemini-client:close-ssl-socket download-socket))))))))
|
||||||
|
@ -770,8 +770,7 @@
|
||||||
(defun load-gemini-url (url &key
|
(defun load-gemini-url (url &key
|
||||||
(priority program-events:+standard-event-priority+)
|
(priority program-events:+standard-event-priority+)
|
||||||
(give-focus-to-message-window t)
|
(give-focus-to-message-window t)
|
||||||
(use-cached-file-if-exists nil)
|
(use-cached-file-if-exists nil))
|
||||||
(enqueue nil))
|
|
||||||
"Load `url', that is a web resource or a local file. This function
|
"Load `url', that is a web resource or a local file. This function
|
||||||
can be used only when the event polling is enabled (e.g. from user
|
can be used only when the event polling is enabled (e.g. from user
|
||||||
command) otherwise te actual code to get the resource will never be
|
command) otherwise te actual code to get the resource will never be
|
||||||
|
@ -780,6 +779,5 @@ executed."
|
||||||
:give-focus-to-message-window give-focus-to-message-window
|
:give-focus-to-message-window give-focus-to-message-window
|
||||||
:priority priority
|
:priority priority
|
||||||
:use-cached-file-if-exists use-cached-file-if-exists
|
:use-cached-file-if-exists use-cached-file-if-exists
|
||||||
:enqueue enqueue
|
:url url)))
|
||||||
:url url)))
|
|
||||||
(program-events:push-event event)))
|
(program-events:push-event event)))
|
||||||
|
|
|
@ -546,7 +546,9 @@
|
||||||
(loop for i from (- level 2 ) downto 0
|
(loop for i from (- level 2 ) downto 0
|
||||||
when (= (elt toc-number i) 0) do
|
when (= (elt toc-number i) 0) do
|
||||||
(setf (elt toc-number i) 1))
|
(setf (elt toc-number i) 1))
|
||||||
(list :header (first (gemini-parser:lines header))
|
(list :header (regex-replace "^\\P{Letter}+"
|
||||||
|
(first (gemini-parser:lines header))
|
||||||
|
"")
|
||||||
:group-id gid
|
:group-id gid
|
||||||
:number (subseq toc-number
|
:number (subseq toc-number
|
||||||
0
|
0
|
||||||
|
|
|
@ -84,9 +84,8 @@
|
||||||
(db:gemlog-mark-as-seen url)
|
(db:gemlog-mark-as-seen url)
|
||||||
(gemini-viewer:ensure-just-one-stream-rendering)
|
(gemini-viewer:ensure-just-one-stream-rendering)
|
||||||
(program-events:push-event event)
|
(program-events:push-event event)
|
||||||
(gemini-viewer:load-gemini-url url
|
(gemini-viewer:request url :enqueue enqueue
|
||||||
:enqueue enqueue
|
:use-cached-file-if-exists t)))
|
||||||
:use-cached-file-if-exists t)))
|
|
||||||
((fs:dirp decoded-path)
|
((fs:dirp decoded-path)
|
||||||
(let ((program-events:*process-events-immediately* t)
|
(let ((program-events:*process-events-immediately* t)
|
||||||
(event (make-instance 'program-events:gemini-push-behind-downloading-event
|
(event (make-instance 'program-events:gemini-push-behind-downloading-event
|
||||||
|
|
|
@ -1002,18 +1002,13 @@
|
||||||
:initform t
|
:initform t
|
||||||
:initarg :give-focus-to-message-window
|
:initarg :give-focus-to-message-window
|
||||||
:reader give-focus-to-message-window-p
|
:reader give-focus-to-message-window-p
|
||||||
:writer (setf give-focus-to-message-window))
|
:writer (setf give-focus-to-message-window))))
|
||||||
(enqueue
|
|
||||||
:initform nil
|
|
||||||
:initarg :enqueue
|
|
||||||
:accessor enqueue)))
|
|
||||||
|
|
||||||
(defmethod process-event ((object gemini-request-event))
|
(defmethod process-event ((object gemini-request-event))
|
||||||
(tui:with-notify-errors
|
(tui:with-notify-errors
|
||||||
(with-accessors ((url url) ; if a local file *not* percent encoded
|
(with-accessors ((url url) ; if a local file *not* percent encoded
|
||||||
(give-focus-to-message-window-p give-focus-to-message-window-p)
|
(give-focus-to-message-window-p give-focus-to-message-window-p)
|
||||||
(use-cached-file-if-exists use-cached-file-if-exists)
|
(use-cached-file-if-exists use-cached-file-if-exists)) object
|
||||||
(enqueue enqueue)) object
|
|
||||||
(let ((window specials:*message-window*)
|
(let ((window specials:*message-window*)
|
||||||
(local-path (if (text-utils:percent-encoded-p url)
|
(local-path (if (text-utils:percent-encoded-p url)
|
||||||
(complete:tilde-expand-string (text-utils:percent-decode url))
|
(complete:tilde-expand-string (text-utils:percent-decode url))
|
||||||
|
@ -1026,9 +1021,7 @@
|
||||||
((text-utils:string-empty-p url)
|
((text-utils:string-empty-p url)
|
||||||
(ui:error-message (_ "Empty address")))
|
(ui:error-message (_ "Empty address")))
|
||||||
((gemini-client:absolute-gemini-url-p url)
|
((gemini-client:absolute-gemini-url-p url)
|
||||||
(gemini-viewer:request url
|
(gemini-viewer:request url :use-cached-file-if-exists use-cached-file-if-exists))
|
||||||
:enqueue enqueue
|
|
||||||
:use-cached-file-if-exists use-cached-file-if-exists))
|
|
||||||
((fs:dirp local-path)
|
((fs:dirp local-path)
|
||||||
(let* ((index-path (uri:normalize-path (fs:prepend-pwd local-path)))
|
(let* ((index-path (uri:normalize-path (fs:prepend-pwd local-path)))
|
||||||
(all-paths (mapcar #'uri:normalize-path
|
(all-paths (mapcar #'uri:normalize-path
|
||||||
|
@ -1133,6 +1126,8 @@
|
||||||
(when (and (gemini-viewer:downloading-allowed-p wrapper-object)
|
(when (and (gemini-viewer:downloading-allowed-p wrapper-object)
|
||||||
(not (skip-rendering-p object))
|
(not (skip-rendering-p object))
|
||||||
(message-window:display-gemini-text-p win))
|
(message-window:display-gemini-text-p win))
|
||||||
|
(setf (windows:keybindings win)
|
||||||
|
keybindings:*gemini-message-keymap*)
|
||||||
(refresh-gemini-message-window links source ir-line append-text)
|
(refresh-gemini-message-window links source ir-line append-text)
|
||||||
(windows:draw win))))))
|
(windows:draw win))))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue