;;; funcs.el --- Spacemacs Editing Visual Layer functions File ;; ;; Copyright (c) 2012-2021 Sylvain Benner & Contributors ;; ;; Author: Sylvain Benner ;; 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 . ;; TODO: Allow direct transition between centered and distraction free states. (defun spacemacs/toggle-centered-buffer () "Toggle visual centering of the current buffer." (interactive) (cl-letf ((writeroom-maximize-window nil) (writeroom-mode-line t)) (call-interactively 'writeroom-mode))) (defun spacemacs/toggle-distraction-free () "Toggle visual distraction free mode." (interactive) (cl-letf ((writeroom-maximize-window t) (writeroom-mode-line nil)) (call-interactively 'writeroom-mode))) (defun spacemacs/centered-buffer-transient-state () "Center buffer and enable centering transient state." (interactive) (cl-letf ((writeroom-maximize-window nil) (writeroom-mode-line t)) (writeroom-mode 1) (spacemacs/centered-buffer-mode-transient-state/body)))