1
0
Fork 0
emacs-config/oni-eww.el

61 lines
2.1 KiB
EmacsLisp
Raw Normal View History

2021-04-06 20:00:36 +02:00
;;; oni-eww.el --- Configuration for EWW -*- lexical-binding: t; -*-
;; Copyright (C) 2021 Tom Willemse
;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local
;; Version: 2021.0406.111733
2021-04-06 20:00:36 +02:00
;; Package-Requires: (eww oni-data-dir)
;; 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 <https://www.gnu.org/licenses/>.
;;; Commentary:
;; Configuration for eww, the Emacs Web Wowser.
;;; Code:
(require 'eww)
(defvar oni-eww-desired-window-width 120
"The window width which oni-eww-resize-margins will try to accommodate.")
(defun oni-eww-resize-margins ()
"Set the margins of the current window so window-width is as desired.
The desired window width is specified in oni-eww-desired-window-width."
(let ((margin-size (/ (- (frame-width) 120) 2)))
(set-window-margins nil margin-size margin-size)))
(defun oni-eww-setup-margins ()
"Set up a hook for oni-eww-resize-margins in the current buffer."
(add-hook 'window-configuration-change-hook #'oni-eww-resize-margins nil t)
(oni-eww-resize-margins))
(defun oni-eww-display-buffer-in-only-window (buffer alist)
"Show only BUFFER.
Delete all other windows and then pass BUFFER and ALIST on to
`display-buffer-same-window'."
(delete-other-windows)
(display-buffer-same-window buffer alist))
2021-04-06 20:00:36 +02:00
(setq eww-bookmarks-directory (oni-data-dir-locate "eww/"))
(add-to-list 'display-buffer-alist
`(,(rx string-start "*eww*" string-end) oni-eww-display-buffer-in-only-window))
2021-04-06 20:00:36 +02:00
(add-hook 'eww-mode-hook #'oni-eww-setup-margins)
(provide 'oni-eww)
;;; oni-eww.el ends here