("." . eww-browse-url)
)))
#+end_src
+** EWW
+Some EWW enhancements.
+*** Give buffer a useful name
+#+begin_src emacs-lisp
+ ;; From https://protesilaos.com/dotemacs/
+ (defun prot-eww--rename-buffer ()
+ "Rename EWW buffer using page title or URL.
+ To be used by `eww-after-render-hook'."
+ (let ((name (if (eq "" (plist-get eww-data :title))
+ (plist-get eww-data :url)
+ (plist-get eww-data :title))))
+ (rename-buffer (format "*%s # eww*" name) t)))
+
+ (add-hook 'eww-after-render-hook #'prot-eww--rename-buffer)
+#+end_src
+*** Better entrypoint
+#+begin_src emacs-lisp
+ ;; From https://protesilaos.com/dotemacs/
+ (defun prot-eww-browse-dwim (url &optional arg)
+ "Visit a URL, maybe from `eww-prompt-history', with completion.
+
+ With optional prefix ARG (\\[universal-argument]) open URL in a
+ new eww buffer.
+
+ If URL does not look like a valid link, run a web query using
+ `eww-search-prefix'.
+
+ When called from an eww buffer, provide the current link as
+ initial input."
+ (interactive
+ (list
+ (completing-read "Query:" eww-prompt-history
+ nil nil (plist-get eww-data :url) 'eww-prompt-history)
+ current-prefix-arg))
+ (eww url (if arg 4 nil)))
+
+ (global-set-key (kbd "C-c w") 'prot-eww-browse-dwim)
+#+end_src
** Emacs Anywhere
Use Emacs globally. Use the Emacs daemon and bind a key in your wm to
"emacsclient --eval "(emacs-everywhere)".