1
0
mirror of https://codeberg.org/cage/tinmop/ synced 2025-02-25 09:17:45 +01:00

- added command 'open-next-visible-link';

- removed debug message.
This commit is contained in:
cage 2021-10-30 18:39:08 +02:00
parent dfdf303d1d
commit f2dba92f8b
5 changed files with 26 additions and 1 deletions

View File

@ -409,6 +409,8 @@
(define-key "|" #'send-to-pipe *gemini-message-keymap*)
(define-key "C-l n" #'open-next-visible-link *gemini-message-keymap*)
;; gemini page table of contents keymap
(define-key "up" #'gemini-toc-scroll-up *gemini-toc-keymap*)

View File

@ -298,7 +298,6 @@ Returns nil if the user did not provided a server in the configuration file"
- min-id starts getting messages newer than this id
- since-id cut the messages got starting from this id
- limit gets a maimum of messages up to this value."
(misc:dbg "kind?? ~a" kind)
(assert (or (string-equal kind db:+federated-timeline+)
(string-equal kind db:+home-timeline+)))
(tooter:timeline *client*

View File

@ -215,6 +215,8 @@
(defgeneric row-add-original-object (lines original-object))
(defgeneric row-find-original-object (object thing))
(defmethod row-add-original-object ((lines line) original-object)
(push original-object
(fields lines))
@ -222,11 +224,21 @@
(fields lines))
lines)
(defun extract-original-object (row)
(getf (fields row) :original-object))
(defmethod row-add-original-object ((lines list) original-object)
(mapcar (lambda (a) (row-add-original-object a original-object))
lines)
lines)
(defmethod row-find-original-object ((object message-window) (thing symbol))
(rows-find-if object (lambda (a) (typep (extract-original-object a) thing))))
(defmethod row-find-original-object ((object list) (thing symbol))
(find-if (lambda (a) (typep (extract-original-object a) thing))
object))
(defun row-get-original-object (line)
(getf (fields line) :original-object))

View File

@ -2099,6 +2099,8 @@
:toggle-default-preformatted-visibility
:toggle-preformatted-block
:text->rendered-lines-rows
:row-find-original-object
:extract-original-object
:prepare-for-display-status-mode
:prepare-for-rendering
:scroll-down
@ -2602,6 +2604,7 @@
:open-message-link-go-down
:open-message-link-perform-opening
:open-message-link-open-enqueue
:open-next-visible-link
:close-open-message-link-window
:attach-go-up
:attach-go-down

View File

@ -1211,6 +1211,15 @@ Browse and optionally open the links the text of the message window contains."
(open-message-link-window:init (db:row-message-status-id selected-message))
(focus-to-open-message-link-window))))
(defun open-next-visible-link ()
"Open next visible ink in the window"
(when-let* ((visible-rows (message-window:visible-rows *message-window*))
(link-line (message-window:row-find-original-object visible-rows
'gemini-parser:link-line))
(link-object (message-window:extract-original-object link-line))
(uri (gemini-parser::link-value link-object)))
(open-message-link-window:open-message-link uri nil)))
(defun line-window-move (win amount)
(ignore-errors
(line-oriented-window:unselect-all win)