diff options
Diffstat (limited to 'w3m.org')
-rw-r--r-- | w3m.org | 28 |
1 files changed, 16 insertions, 12 deletions
@@ -67,28 +67,32 @@ (kill-new (format "[[doc:%s][%s]] ([[%s][original]])" basename title url)))) #+end_src -* Narrowing +* Consult narrowing #+begin_src emacs-lisp (with-eval-after-load "w3m-util" (with-eval-after-load "consult" (defvar jao-consult-w3m-buffer-history nil) + (defun jao-www--buffer-p (b) + (or (eq 'w3m-mode (buffer-local-value 'major-mode b)) + (member (buffer-local-value 'exwm-class-name b) '("vlc" "mpv")))) + (defun jao-www--item (b) + (with-current-buffer b + (propertize (or w3m-current-title (buffer-name)) + 'buffer b + 'url (or w3m-current-url (buffer-name))))) (defvar jao-consult-w3m-source - (list :name "w3m buffer" - :category 'w3m-buffer + (list :name "www buffer" + :category 'www-buffer :hidden t - :narrow (cons ?w "w3m") + :narrow (cons ?w "www") :annotate (lambda (b) (when b (get-text-property 0 'url b))) :history 'jao-consult-w3m-buffer-history + :items (lambda () + (seq-map #'jao-www--item + (seq-filter #'jao-www--buffer-p (buffer-list)))) :action (lambda (b) (jao-afio--goto-www) - (switch-to-buffer (get-text-property 0 'buffer b))) - :items (lambda () - (seq-map (lambda (b) - (with-current-buffer b - (propertize (or w3m-current-title "") - 'buffer b - 'url w3m-current-url))) - (w3m-list-buffers))))) + (pop-to-buffer (get-text-property 0 'buffer b))))) (jao-consult-add-buffer-source 'jao-consult-w3m-source "Web" ?w))) #+end_src * Package |