mirror of https://codeberg.org/cage/tinmop/
Compare commits
2 Commits
d5f5bad33c
...
76a11da2fc
Author | SHA1 | Date |
---|---|---|
cage | 76a11da2fc | |
cage | 50c76209c5 |
|
@ -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
|
||||||
(ui:notify (_ "Gemini document downloading completed"))
|
|
||||||
(maybe-render-toc)
|
(maybe-render-toc)
|
||||||
|
(ui:notify (_ "Gemini document downloading completed"))
|
||||||
(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,7 +770,8 @@
|
||||||
(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
|
||||||
|
@ -779,5 +780,6 @@ 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,9 +546,7 @@
|
||||||
(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 (regex-replace "^\\P{Letter}+"
|
(list :header (first (gemini-parser:lines header))
|
||||||
(first (gemini-parser:lines header))
|
|
||||||
"")
|
|
||||||
:group-id gid
|
:group-id gid
|
||||||
:number (subseq toc-number
|
:number (subseq toc-number
|
||||||
0
|
0
|
||||||
|
|
|
@ -84,7 +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:request url :enqueue enqueue
|
(gemini-viewer:load-gemini-url url
|
||||||
|
: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)
|
||||||
|
|
|
@ -1002,13 +1002,18 @@
|
||||||
: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)) object
|
(use-cached-file-if-exists use-cached-file-if-exists)
|
||||||
|
(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))
|
||||||
|
@ -1021,7 +1026,9 @@
|
||||||
((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 :use-cached-file-if-exists use-cached-file-if-exists))
|
(gemini-viewer:request url
|
||||||
|
: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
|
||||||
|
@ -1126,8 +1133,6 @@
|
||||||
(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