]> git.armaanb.net Git - config.org.git/commitdiff
Add some Prot EWW enhancements
authorArmaan Bhojwani <me@armaanb.net>
Mon, 29 Mar 2021 18:05:27 +0000 (14:05 -0400)
committerArmaan Bhojwani <me@armaanb.net>
Mon, 29 Mar 2021 18:05:27 +0000 (14:05 -0400)
config.org

index 2b117b637930052b34626a551a4baeac1e4b277e..93ef8e5823e6e6d8155882bfd27e51db13cd025e 100644 (file)
@@ -462,6 +462,44 @@ Set EWW as default browser except for videos.
           ("." . 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)".