From d1451610ddd19c4ca893734fcd771ebd7dd47ae7 Mon Sep 17 00:00:00 2001 From: cage Date: Fri, 4 Mar 2022 15:55:57 +0100 Subject: [PATCH] - allowed to copy to clipboard post's attachments. --- etc/init.lisp | 13 +++++++++++-- src/package.lisp | 1 + src/ui-goodies.lisp | 12 ++++++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/etc/init.lisp b/etc/init.lisp index 87ab388..587960d 100644 --- a/etc/init.lisp +++ b/etc/init.lisp @@ -576,6 +576,13 @@ ;; attachments keymap +(defun copy-to-clipboard (window) + (ui:copy-link-to-clipboard window)) + +(define-key "C-c" (lambda () + (copy-link-to-clipboard specials:*open-attach-window*)) + *open-attach-keymap*) + (define-key "C-J" #'open-message-attach-perform-opening *open-attach-keymap*) (define-key "a" #'open-all-message-attachments *open-attach-keymap*) @@ -584,7 +591,7 @@ (define-key "down" #'open-message-attach-go-down *open-attach-keymap*) -(define-key "k" #'open-message-attach-go-up *open-attach-keymap*) +(define-key "k" #'open-message-attach-go-up *open-attach-keymap*) (define-key "j" #'open-message-attach-go-down *open-attach-keymap*) @@ -594,7 +601,9 @@ (define-key "C-J" #'open-message-link-perform-opening *open-message-link-keymap*) -(define-key "C-c" #'copy-link-to-clipboard *open-message-link-keymap*) +(define-key "C-c" (lambda () + (copy-link-to-clipboard specials:*open-message-link-window*)) + *open-message-link-keymap*) (define-key "up" #'open-message-link-go-up *open-message-link-keymap*) diff --git a/src/package.lisp b/src/package.lisp index 1e15c5f..1283c24 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -2712,6 +2712,7 @@ :open-next-visible-link :go-to-next-link :go-to-previous-link + :copy-value-to-clipboard :copy-link-to-clipboard :close-open-message-link-window :open-message-link-window-scroll-begin diff --git a/src/ui-goodies.lisp b/src/ui-goodies.lisp index c7ef4c3..61dff73 100644 --- a/src/ui-goodies.lisp +++ b/src/ui-goodies.lisp @@ -1380,13 +1380,17 @@ This makes sense only for gemini file stream, if not this command performs the s 'open-message-link-perform-opening'" (%open-message-link-perform-opening t)) -(defun copy-link-to-clipboard () - "Copy the selected link address to clipboard" - (when-let* ((selected-line (line-oriented-window:selected-row *open-message-link-window*)) +(defun copy-value-to-clipboard (window message) + "Copy the selected line to clipboard" + (when-let* ((selected-line (line-oriented-window:selected-row window)) (url (line-oriented-window:normal-text selected-line))) (with-notify-errors (os-utils:copy-to-clipboard url) - (info-message (_ "Address copied to clipboard"))))) + (info-message message)))) + +(defun copy-link-to-clipboard (window) + (copy-value-to-clipboard window + (_ "Address copied to clipboard"))) (defun close-open-message-link-window () (when-window-shown (*open-message-link-window*)