1
0
mirror of https://codeberg.org/cage/tinmop/ synced 2025-02-17 08:10:36 +01:00

- [gemini] ensured we have not to wait a stream is completed before opening a new one.

This commit is contained in:
cage 2021-06-17 19:41:03 +02:00
parent c8d1e6aa2b
commit fa10de925e
4 changed files with 18 additions and 16 deletions

View File

@ -73,6 +73,12 @@
specials:*gemini-streams-window*)
(line-oriented-window:resync-rows-db specials:*gemini-streams-window*))))
(defun bury-download-stream ()
(let ((program-events:*process-events-immediately* t)
(event (make-instance 'program-events:gemini-push-behind-downloading-event
:priority program-events:+maximum-event-priority+)))
(program-events:push-event event)))
(defun force-rendering-of-cached-file (stream-object)
;; this is more than a mere setter
;; and is 'eql' specialized on rendering

View File

@ -77,23 +77,15 @@
(decoded-path (percent-decode url)))
(cond
((string= gemini-constants:+gemini-scheme+ scheme)
(let ((program-events:*process-events-immediately* t)
(event (make-instance 'program-events:gemini-push-behind-downloading-event
:priority program-events:+maximum-event-priority+)))
(db:insert-in-history (ui:gemini-open-url-prompt) url)
(db:gemlog-mark-as-seen url)
(gemini-viewer:ensure-just-one-stream-rendering)
(program-events:push-event event)
(gemini-viewer:load-gemini-url url
:give-focus-to-message-window nil
:enqueue enqueue
:use-cached-file-if-exists t)))
(db:insert-in-history (ui:gemini-open-url-prompt) url)
(db:gemlog-mark-as-seen url)
(gemini-viewer:ensure-just-one-stream-rendering)
(gemini-viewer:load-gemini-url url
:give-focus-to-message-window nil
:enqueue enqueue
:use-cached-file-if-exists t))
((fs:dirp decoded-path)
(let ((program-events:*process-events-immediately* t)
(event (make-instance 'program-events:gemini-push-behind-downloading-event
:priority program-events:+maximum-event-priority+)))
(program-events:push-event event)
(gemini-viewer:load-gemini-url decoded-path :give-focus-to-message-window nil)))
(gemini-viewer:load-gemini-url decoded-path :give-focus-to-message-window nil))
(t
(os-utils:open-resource-with-external-program decoded-path nil)))))

View File

@ -2313,6 +2313,7 @@
:find-db-stream-url
:ensure-just-one-stream-rendering
:abort-download-stream
:bury-download-stream
:db-entry-to-foreground
:gemini-metadata-p
:maybe-initialize-metadata

View File

@ -1046,6 +1046,8 @@
((text-utils:string-empty-p url)
(ui:error-message (_ "Empty address")))
((gemini-client:absolute-gemini-url-p url)
(gemini-viewer:bury-download-stream)
(gemini-viewer:ensure-just-one-stream-rendering)
(gemini-viewer:request url
:enqueue enqueue
:use-cached-file-if-exists use-cached-file-if-exists))
@ -1078,6 +1080,7 @@
:comes-from-local-file t))
(ir (gemini-parser:sexp->text-rows parsed
gemini-client:*gemini-page-theme*)))
(gemini-viewer:bury-download-stream)
(gemini-viewer:maybe-initialize-metadata window)
(gemini-viewer:push-url-to-history window index-path)
(refresh-gemini-message-window links raw-text ir nil)