;;; packages.el --- EWW Layer packages File for Spacemacs ;; ;; Copyright (c) 2012-2022 Sylvain Benner & Contributors ;; ;; Author: Colton Kopsa ;; URL: https://github.com/syl20bnr/spacemacs ;; ;; This file is not part of GNU Emacs. ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . (defconst eww-packages '( evil (eww :location built-in) texfrag writeroom-mode zoom-frm)) (defun eww/post-init-evil () (spacemacs/transient-state-register-add-bindings 'eww '(("j" evil-next-line) ("k" evil-previous-line) ("h" evil-backward-char) ("l" evil-forward-char)))) (defun eww/init-eww () (use-package eww :defer t :init (progn (add-to-list 'evil-buffer-regexps '("\\*eww\\*" . normal)) (spacemacs//eww-setup-transient-state) (spacemacs/declare-prefix "awe" "eww") (spacemacs/set-leader-keys "awee" 'eww) (spacemacs/set-leader-keys "awew" 'eww-switch-to-buffer)) :config (progn (define-key eww-link-keymap "f" 'eww-follow-link) (define-key eww-link-keymap "F" (lambda () (interactive) (eww-follow-link 2))) (let ((mode 'eww-mode)) (spacemacs/declare-prefix-for-mode mode "mv" "view") (spacemacs/declare-prefix-for-mode mode "ml" "list") (spacemacs/set-leader-keys-for-major-mode mode "s" 'helm-google-suggest "S" 'browse-web "t" 'spacemacs/eww-toggle-render-latex "r" 'eww-reload "p" 'eww-previous-url "n" 'eww-next-url "h" 'eww-list-histories "d" 'eww-download "a" 'eww-add-bookmark "lb" 'eww-list-buffers "lo" 'eww-list-bookmarks "vx" 'eww-browse-with-external-browser "vf" 'eww-toggle-fonts "vr" 'eww-readable "vs" 'eww-view-source) (evil-define-key 'normal eww-mode-map (kbd "C-o") 'eww-back-url (kbd "C-i") 'eww-forward-url "<" 'eww-back-url ">" 'eww-forward-url "[" 'eww-previous-url "]" 'eww-next-url "L" 'spacemacs/eww-jump-next-buffer "H" 'spacemacs/eww-jump-previous-buffer (kbd "C-j") 'shr-next-link (kbd "C-k") 'shr-previous-link "+" 'zoom-frm-in "-" 'zoom-frm-out "=" 'zoom-frm-unzoom)) (let ((mode 'eww-history-mode)) (spacemacs/set-leader-keys-for-major-mode mode "f" 'eww-history-browse) (evil-define-key 'normal eww-history-mode-map "f" 'eww-history-browse "q" 'quit-window)) (let ((mode 'eww-bookmark-mode)) (spacemacs/set-leader-keys-for-major-mode mode "d" 'eww-bookmark-kill "y" 'eww-bookmark-yank "f" 'eww-bookmark-browse) (evil-define-key 'normal eww-bookmark-mode-map "q" 'quit-window "f" 'eww-bookmark-browse "d" 'eww-bookmark-kill "y" 'eww-bookmark-yank)) (let ((mode 'eww-buffers-mode)) (spacemacs/set-leader-keys-for-major-mode mode "f" 'eww-buffer-select "d" 'eww-buffer-kill "n" 'eww-buffer-show-next "p" 'eww-buffer-show-previous) (evil-define-key 'normal eww-buffers-mode-map "q" 'quit-window "f" 'eww-buffer-select "d" 'eww-buffer-kill "n" 'eww-buffer-show-next "p" 'eww-buffer-show-previous))))) (defun eww/init-texfrag () (use-package texfrag :defer t)) (defun eww/post-init-writeroom-mode () (spacemacs/transient-state-register-add-bindings 'eww '(("w" writeroom-mode)))) (defun eww/post-init-zoom-frm () (spacemacs/transient-state-register-add-bindings 'eww '(("+" zoom-frm-in) ("-" zoom-frm-out) ("=" zoom-frm-unzoom))))