summaryrefslogtreecommitdiffhomepage
path: root/attic/net/w3m.org
diff options
context:
space:
mode:
Diffstat (limited to 'attic/net/w3m.org')
-rw-r--r--attic/net/w3m.org191
1 files changed, 0 insertions, 191 deletions
diff --git a/attic/net/w3m.org b/attic/net/w3m.org
deleted file mode 100644
index 3689c8e..0000000
--- a/attic/net/w3m.org
+++ /dev/null
@@ -1,191 +0,0 @@
-#+property: header-args :lexical t :tangle yes :comments no :results silent
-#+title: Customizations for emacs-w3m
-#+auto_tangle: t
-
-* browse-url and afio
- #+begin_src emacs-lisp
- (defun jao-w3m-find-url (url)
- (let* ((url (w3m-canonicalize-url url))
- (fn `(lambda (b)
- (with-current-buffer b
- (string= ,url (w3m-canonicalize-url w3m-current-url))))))
- (when-let (b (seq-find fn (w3m-list-buffers)))
- (pop-to-buffer b))))
-
- (defun jao-w3m-browse-url (url &rest r)
- (jao-afio--goto-www)
- (select-window (frame-first-window))
- (or (jao-w3m-find-url url)
- (w3m-goto-url-new-session url)))
-
- (defun jao-w3m-download (arg)
- (interactive "P")
- (jao-download (w3m-anchor) arg))
-
- (setq jao-afio-use-w3m t)
- (setq jao-browse-url-function 'jao-w3m-browse-url)
- #+end_src
-* Org integration
- #+begin_src emacs-lisp
- (defun jao-w3m-get-link ()
- (let ((wb (w3m-alive-p)))
- (when wb
- (let ((url (with-current-buffer wb w3m-current-url))
- (title (w3m-buffer-title wb)))
- (cons url title)))))
-
- (defun jao-insert-w3m-link ()
- (interactive)
- (let ((link (jao-w3m-get-link)))
- (when link (insert "[[" (car link) "][" (cdr link) "]]"))))
-
- (with-eval-after-load "org"
- (require 'ol-w3m nil t)
- (define-key org-mode-map "\C-cW" 'jao-insert-w3m-link))
- #+end_src
-* notmuch integration
- #+begin_src emacs-lisp
- (defvar-local jao-notmuch--showing-images nil)
-
- (defun jao-notmuch--setup-w3m-images (&optional activate)
- (when (eq mm-text-html-renderer 'w3m)
- (setq-local w3m-ignored-image-url-regexp
- (unless jao-notmuch--showing-images
- notmuch-show-text/html-blocked-images))
- (when activate
- (setq-local scroll-margin 0)
- (w3m-toggle-inline-images (if jao-notmuch--showing-images t 'turnoff)))))
-
- (defun jao-notmuch--w3m-toggle-images ()
- (save-window-excursion
- (when (or (derived-mode-p 'notmuch-show-mode)
- (jao-notmuch-goto-message-buffer nil t))
- (goto-char (point-min))
- (when (re-search-forward "^\\[ text/html " nil t)
- (when (looking-at-p "(hidden)")
- (notmuch-show-toggle-part-invisibility))
- (forward-line 1)
- (setq jao-notmuch--showing-images (not jao-notmuch--showing-images))
- (jao-notmuch--setup-w3m-images t)))))
-
- (add-hook 'notmuch-show-mode-hook #'jao-notmuch--setup-w3m-images)
- #+end_src
-* Capture page
- #+begin_src emacs-lisp
- (defun jao-w3m-capture-page ()
- (interactive)
- (let* ((title (w3m-current-title))
- (url w3m-current-url)
- (html (y-or-n-p "Save as HTML (y) or PS (n)? "))
- (basename (concat (read-string "File name: ")
- (if html ".html" ".ps")))
- (name (expand-file-name basename jao-sink-dir)))
- (if html
- (progn
- (w3m-view-source)
- (write-region (point-min) (point-max) name nil nil nil t)
- (w3m-view-source))
- (progn
- (split-window-horizontally 85)
- (w3m-redisplay-this-page)
- (ps-print-buffer name)
- (delete-other-windows)
- (w3m-redisplay-this-page)))
- (kill-new (format "[[doc:%s][%s]] ([[%s][original]])"
- basename title url))))
- #+end_src
-* 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--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 "www buffer"
- :category 'www-buffer
- :hidden t
- :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)))))
- (jao-consult-add-buffer-source 'jao-consult-w3m-source "Web" ?w)))
- #+end_src
-* Package
- #+begin_src emacs-lisp
- (use-package w3m
- :ensure t
- :custom ((w3m-key-binding 'info)
- (w3m-display-mode 'dual-pane))
- :init
- (setq w3m-add-user-agent nil
- w3m-confirm-leaving-secure-page nil
- w3m-cookie-accept-bad-cookies t
- w3m-cookie-accept-domains '(".github.com"
- ".librarything.com"
- ".goodreads.com"
- ".sr.ht"
- ".gnu.org"
- ".codeberg.org"
- "codeberg.org"
- ".bookshop.org"
- ".reddit.com")
- w3m-cookie-reject-domains '(".")
- w3m-default-save-directory "~/var/download"
- w3m-do-cleanup-temp-files nil
- w3m-external-view-temp-directory "/tmp"
- w3m-fill-column 110
- w3m-goto-article-function 'jao-w3m-browse-url
- w3m-form-input-textarea-buffer-lines 40
- w3m-history-minimize-in-new-session t
- w3m-history-reuse-history-elements nil
- w3m-image-no-idle-timer t
- w3m-make-new-session t
- w3m-profile-directory "~/.w3m"
- w3m-redisplay-pages-automatically-p nil
- w3m-resize-images t
- w3m-safe-url-regexp nil
- w3m-search-default-engine "duckduckgo" ; "google-en"
- w3m-select-buffer-horizontal-window nil
- w3m-select-buffer-window-ratio '(20 . 40)
- w3m-session-load-last-sessions t
- w3m-session-load-crashed-sessions 'ask
- w3m-show-graphic-icons-in-header-line nil
- w3m-show-graphic-icons-in-mode-line nil
- w3m-use-tab nil
- w3m-use-tab-line nil
- w3m-use-title-buffer-name t
- w3m-use-cookies t
- w3m-use-filter nil
- w3m-use-favicon nil
- w3m-use-header-line nil
- w3m-use-refresh nil
- w3m-use-symbol t)
-
- :config
- :bind (:map w3m-mode-map
- (("+" . w3m-zoom-in-image)
- ("-" . w3m-zoom-out-image)
- ("C-c C-@" . tracking-next-buffer)
- ("C-c C-SPC" . tracking-next-buffer)
- ("C-c C-b" . nil)
- ("C-c c" . jao-w3m-capture-page)
- ("b" . w3m-view-previous-page)
- ("B" . w3m-view-next-page)
- ("c" . w3m-print-this-url)
- ("d" . jao-w3m-download)
- ("D" . w3m-download)
- ("f" . w3m-lnum-follow)
- ("v" . jao-view-video)
- ("w" . org-w3m-copy-for-org-mode)
- ("x" . jao-rss-subscribe)
- ("y" . w3m-print-current-url))))
- #+end_src