diff --git a/evil-collection-elfeed.el b/evil-collection-elfeed.el index 4374b1a..c0f3678 100644 --- a/evil-collection-elfeed.el +++ b/evil-collection-elfeed.el @@ -48,7 +48,7 @@ "S" 'elfeed-search-set-filter ;; refresh - "gR" 'elfeed-search-fetch ; TODO: Which update function is more useful? + "gR" 'elfeed-search-fetch ; TODO: Which update function is more useful? "gr" 'elfeed-search-update--force ;; quit @@ -71,8 +71,6 @@ ;; filter "s" 'elfeed-show-new-live-search - "y" 'elfeed-show-yank ; TODO: Yank URL with "yu" like eww. - "+" 'elfeed-show-tag "-" 'elfeed-show-untag @@ -93,7 +91,17 @@ ;; quit "q" 'elfeed-kill-buffer "ZQ" 'elfeed-kill-buffer - "ZZ" 'elfeed-kill-buffer)) + "ZZ" 'elfeed-kill-buffer) + + (evil-define-key 'operator elfeed-show-mode-map + ;; Like `eww'. + "u" '(menu-item + "" + nil + :filter (lambda (&optional _) + (when (memq evil-this-operator + evil-collection-yank-operators) + #'elfeed-show-yank))))) (provide 'evil-collection-elfeed) ;;; evil-collection-elfeed.el ends here diff --git a/evil-collection-eww.el b/evil-collection-eww.el index 7c2cb85..d833776 100644 --- a/evil-collection-eww.el +++ b/evil-collection-eww.el @@ -41,9 +41,7 @@ "H" 'eww-back-url "L" 'eww-forward-url - "gf" 'eww-view-source ; Like qutebrowser. - - "yu" 'eww-copy-page-url ; TODO: Don't shadow "y". + "gf" 'eww-view-source ; Like qutebrowser. "&" 'eww-browse-with-external-browser "C" 'url-cookie-list @@ -63,7 +61,7 @@ ;; open (kbd "S-") 'eww-browse-with-external-browser "go" 'eww-browse-with-external-browser - "o" 'eww ; Like qutebrowser. + "o" 'eww ; Like qutebrowser. (kbd "SPC") 'scroll-up-command (kbd "S-SPC") 'scroll-down-command @@ -74,7 +72,7 @@ "gb" 'eww-list-bookmarks "gh" 'eww-list-histories - "gt" 'eww-list-buffers ; Like dwb, qutebrowser. + "gt" 'eww-list-buffers ; Like dwb, qutebrowser. ;; refresh "gr" 'eww-reload @@ -84,6 +82,15 @@ "ZQ" 'quit-window "ZZ" 'quit-window) + (evil-define-key 'operator eww-mode-map + "u" '(menu-item + "" + nil + :filter (lambda (&optional _) + (when (memq evil-this-operator + evil-collection-yank-operators) + #'eww-copy-page-url)))) + (evil-collection-inhibit-insert-state eww-history-mode-map) (evil-set-initial-state 'eww-history-mode 'normal) (evil-define-key 'normal eww-history-mode-map @@ -116,13 +123,21 @@ (evil-define-key 'normal eww-bookmark-mode-map "D" 'eww-bookmark-kill (kbd "") 'eww-bookmark-browse - "yu" 'eww-bookmark-yank ;; refresh "gr" 'revert-buffer ;; quit "q" 'quit-window "ZQ" 'quit-window - "ZZ" 'quit-window)) + "ZZ" 'quit-window) + + (evil-define-key 'operator eww-bookmark-mode-map + "u" '(menu-item + "" + nil + :filter (lambda (&optional _) + (when (memq evil-this-operator + evil-collection-yank-operators) + #'eww-copy-page-url))))) (provide 'evil-collection-eww) ;;; evil-collection-eww.el ends here diff --git a/evil-collection-transmission.el b/evil-collection-transmission.el index 827c1ee..e6f9e35 100644 --- a/evil-collection-transmission.el +++ b/evil-collection-transmission.el @@ -124,7 +124,6 @@ "U" 'transmission-set-torrent-upload "S" 'transmission-set-torrent-ratio ; "S" for "[S]eed" "P" 'transmission-set-bandwidth-priority - "gy" 'transmission-copy-magnet ; TODO: Use "ym"? "r" 'transmission-move ;; quit @@ -132,6 +131,17 @@ "ZQ" 'evil-quit "ZZ" 'quit-window) + (evil-define-key 'operator transmission-info-mode-map + ;; Like `eww'. + "u" '(menu-item + "" + nil + :filter (lambda (&optional _) + (when (memq evil-this-operator + evil-collection-yank-operators) + #'transmission-copy-magnet)))) + + (evil-collection-inhibit-insert-state transmission-peers-mode-map) (evil-set-initial-state 'transmission-peers-mode 'normal) (evil-define-key 'normal transmission-peers-mode-map diff --git a/evil-collection.el b/evil-collection.el index a629e4a..f888b45 100644 --- a/evil-collection.el +++ b/evil-collection.el @@ -184,6 +184,12 @@ instance: lispyville-delete) "List of delete operators.") +(defvar evil-collection-yank-operators '(evil-yank + evil-cp-yank + evil-sp-yank + lispyville-yank) + "List of yank operators.") + (defun evil-collection-inhibit-insert-state (map) "Unmap insertion keys from normal state. This is particularly useful for read-only modes."