Bind "yu" to "yank URL" in EWW, Elfeed, transmission

This commit is contained in:
Pierre Neidhardt 2018-02-23 18:31:31 +01:00
parent b967945f9b
commit 58d951baea
4 changed files with 51 additions and 12 deletions

View File

@ -48,7 +48,7 @@
"S" 'elfeed-search-set-filter "S" 'elfeed-search-set-filter
;; refresh ;; 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 "gr" 'elfeed-search-update--force
;; quit ;; quit
@ -71,8 +71,6 @@
;; filter ;; filter
"s" 'elfeed-show-new-live-search "s" 'elfeed-show-new-live-search
"y" 'elfeed-show-yank ; TODO: Yank URL with "yu" like eww.
"+" 'elfeed-show-tag "+" 'elfeed-show-tag
"-" 'elfeed-show-untag "-" 'elfeed-show-untag
@ -93,7 +91,17 @@
;; quit ;; quit
"q" 'elfeed-kill-buffer "q" 'elfeed-kill-buffer
"ZQ" '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) (provide 'evil-collection-elfeed)
;;; evil-collection-elfeed.el ends here ;;; evil-collection-elfeed.el ends here

View File

@ -41,9 +41,7 @@
"H" 'eww-back-url "H" 'eww-back-url
"L" 'eww-forward-url "L" 'eww-forward-url
"gf" 'eww-view-source ; Like qutebrowser. "gf" 'eww-view-source ; Like qutebrowser.
"yu" 'eww-copy-page-url ; TODO: Don't shadow "y".
"&" 'eww-browse-with-external-browser "&" 'eww-browse-with-external-browser
"C" 'url-cookie-list "C" 'url-cookie-list
@ -63,7 +61,7 @@
;; open ;; open
(kbd "S-<return>") 'eww-browse-with-external-browser (kbd "S-<return>") 'eww-browse-with-external-browser
"go" '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 "SPC") 'scroll-up-command
(kbd "S-SPC") 'scroll-down-command (kbd "S-SPC") 'scroll-down-command
@ -74,7 +72,7 @@
"gb" 'eww-list-bookmarks "gb" 'eww-list-bookmarks
"gh" 'eww-list-histories "gh" 'eww-list-histories
"gt" 'eww-list-buffers ; Like dwb, qutebrowser. "gt" 'eww-list-buffers ; Like dwb, qutebrowser.
;; refresh ;; refresh
"gr" 'eww-reload "gr" 'eww-reload
@ -84,6 +82,15 @@
"ZQ" 'quit-window "ZQ" 'quit-window
"ZZ" '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-collection-inhibit-insert-state eww-history-mode-map)
(evil-set-initial-state 'eww-history-mode 'normal) (evil-set-initial-state 'eww-history-mode 'normal)
(evil-define-key 'normal eww-history-mode-map (evil-define-key 'normal eww-history-mode-map
@ -116,13 +123,21 @@
(evil-define-key 'normal eww-bookmark-mode-map (evil-define-key 'normal eww-bookmark-mode-map
"D" 'eww-bookmark-kill "D" 'eww-bookmark-kill
(kbd "<return>") 'eww-bookmark-browse (kbd "<return>") 'eww-bookmark-browse
"yu" 'eww-bookmark-yank
;; refresh ;; refresh
"gr" 'revert-buffer "gr" 'revert-buffer
;; quit ;; quit
"q" 'quit-window "q" 'quit-window
"ZQ" '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) (provide 'evil-collection-eww)
;;; evil-collection-eww.el ends here ;;; evil-collection-eww.el ends here

View File

@ -124,7 +124,6 @@
"U" 'transmission-set-torrent-upload "U" 'transmission-set-torrent-upload
"S" 'transmission-set-torrent-ratio ; "S" for "[S]eed" "S" 'transmission-set-torrent-ratio ; "S" for "[S]eed"
"P" 'transmission-set-bandwidth-priority "P" 'transmission-set-bandwidth-priority
"gy" 'transmission-copy-magnet ; TODO: Use "ym"?
"r" 'transmission-move "r" 'transmission-move
;; quit ;; quit
@ -132,6 +131,17 @@
"ZQ" 'evil-quit "ZQ" 'evil-quit
"ZZ" 'quit-window) "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-collection-inhibit-insert-state transmission-peers-mode-map)
(evil-set-initial-state 'transmission-peers-mode 'normal) (evil-set-initial-state 'transmission-peers-mode 'normal)
(evil-define-key 'normal transmission-peers-mode-map (evil-define-key 'normal transmission-peers-mode-map

View File

@ -184,6 +184,12 @@ instance:
lispyville-delete) lispyville-delete)
"List of delete operators.") "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) (defun evil-collection-inhibit-insert-state (map)
"Unmap insertion keys from normal state. "Unmap insertion keys from normal state.
This is particularly useful for read-only modes." This is particularly useful for read-only modes."