1
0
Fork 0

Compare commits

...

2 Commits

Author SHA1 Message Date
cage 76a11da2fc - [gemini] fixed regression opening gemini link is possible again;
- prevented hiding of notifications by the gemini TOC window.
2021-05-16 16:19:14 +02:00
cage 50c76209c5 - [gemini] removed removing of text from TOC entry. 2021-05-16 16:00:20 +02:00
4 changed files with 19 additions and 13 deletions

View File

@ -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)))

View File

@ -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

View File

@ -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)

View File

@ -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))))))