;;; -*- lexical-binding: t -*- ;;; ;;; this file: ;;; http://user.it.uu.se/~embe8573/emacs-init/w3m/w3m-my.el ;;; https://dataswamp.org/~incal/emacs-init/w3m/w3m-my.el ;;; ;;; all Emacs-w3m: ;;; https://dataswamp.org/~incal/emacs-init/w3m/ (require 'w3m) (require 'w3m-session) (require 'w3m-tabs) (require 'thingatpt) (defun emacs-w3m-version (&optional do-insert) "Version number of this version of Emacs-w3m, `emacs-w3m-version'. If DO-INSERT, insert it at point. \nThis is not the version of the shell tool w3m; see `w3m-version'." (interactive "P") (if do-insert (insert (message emacs-w3m-version)) (message emacs-w3m-version) )) (defun w3m-version (&optional do-insert) "Version number of this version of w3m, `w3m-version'. If DO-INSERT, insert it at point. \nThis is not the version of the Emacs browser; see `emacs-w3m-version'." (interactive "P") (if do-insert (insert (message w3m-version)) (message w3m-version) )) (setq w3m-add-user-agent nil) (setq w3m-confirm-leaving-secure-page nil) (setq w3m-use-cookies nil) ;; misc workarounds (setq w3m-use-filter nil) (defun w3m-display-progress-message (_)) (setq w3m-use-refresh nil) (add-to-list 'w3m-content-type-alist '("unknown" nil nil "text/plain") ) (defun goto-next-url () (interactive) (let ((start (point)) (max (point-max))) (cl-dolist (url-type thing-at-point-uri-schemes) (goto-char start) (when (re-search-forward url-type max t) (goto-char (match-beginning 0)) (let ((url (thing-at-point 'url))) (when url (w3m-goto-url url) (cl-return) )))))) ;; (goto-next-url) ; http://www.google.com (defun w3m-cat-source () (interactive) (w3m-pipe-source w3m-current-url "/bin/cat") ) (defun unwrap () (interactive) (toggle-truncate-lines 1) ) (setq w3m-session-crash-recovery nil) (setq w3m-verbose nil) (setq use-dialog-box nil) (setq browse-url-browser-function #'w3m-browse-url) (setq w3m-default-directory (getenv "HOME")) (setq w3m-default-save-directory w3m-default-directory) (defun w3m-kill-url-dwim () (interactive) ;; ask on gmane.emacs.help - why is `w3m-anchor' in ;; font-lock-keyword-face 2 lines below? (line 65) ;; dump: https://dataswamp.org/~incal/figures/emacs/face.png (let*((url (or (w3m-anchor) (thing-at-point 'url) w3m-current-url)) (cmd (format "echo \"%s\" | xi" url)) ) (kill-new url) (shell-command cmd) ) (message "%s" (current-kill 0)) ) (defun w3m-goto-url-kill-current () (interactive) (when w3m-current-url (kill-new w3m-current-url)) (call-interactively #'w3m-goto-url) ) (defun rfc (page) (interactive "s number: ") (w3m-browse-url (format "http://tools.ietf.org/html/rfc%s" page) )) (defun w3m-view () (interactive) (w3m (buffer-file-name)) ) (defun w3m-browse-url-at-point () (interactive) (w3m (thing-at-point 'url)) ) (defun no-confirm-w3m-quit () (interactive) (w3m-quit t) ) ; FORCE (define-key (current-global-map) [remap w3m-quit] #'no-confirm-w3m-quit) (defun w3m-view-html () (interactive) (w3m-find-file (buffer-file-name)) ) (defun dired-view-in-w3m () (interactive) (w3m-find-file (dired-get-filename)) ) (provide 'w3m-my)