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

View File

@ -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-<return>") '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 "<return>") '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

View File

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

View File

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