-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup-eww.el
39 lines (32 loc) · 1.22 KB
/
setup-eww.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
(require 'eww)
(evil-set-initial-state 'eww-mode 'emacs)
(defun eww-search ()
(interactive)
(let ((terms (read-from-minibuffer "Search Terms: ")))
(eww-browse-url (concat eww-search-prefix terms))))
(defun de/eww-dwim ()
"open link with EWW under point (if there's a link there),
otherwise prompt for search terms"
(interactive)
(cond ((region-active-p)
(eww (buffer-substring (region-beginning) (region-end))))
((thing-at-point 'url)
(eww-browse-url (thing-at-point 'url)))
((and (eq major-mode 'markdown-mode) (fboundp 'markdown-link-p) (markdown-link-p))
(eww (markdown-link-link)))
((eq major-mode 'org-mode)
(let ((browse-url-browser-function 'eww-browse-url))
(org-open-at-point)))
((eq major-mode 'elfeed-show-mode)
(eww (elfeed-entry-link elfeed-show-entry)))
(t
(eww-search))))
(global-set-key (kbd "C-c eww") #'de/eww-dwim)
(defun de/eww-mode-hook ()
"setup for EWW, the emacs web browser (wowser)"
(local-set-key [f12] 'eww-browse-with-external-browser)
;;; these don't seem to work yet...
(define-key eww-mode-map [f12] 'eww-browse-with-external-browser)
(define-key eww-mode-map [f12] 'eww-browse-with-external-browser))
(add-hook 'eww-mode-hook 'de/eww-mode-hook)
(provide 'setup-eww)