about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/writeroom-mode-20170623.1027/writeroom-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/writeroom-mode-20170623.1027/writeroom-mode.el')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/writeroom-mode-20170623.1027/writeroom-mode.el468
1 files changed, 0 insertions, 468 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/writeroom-mode-20170623.1027/writeroom-mode.el b/configs/shared/emacs/.emacs.d/elpa/writeroom-mode-20170623.1027/writeroom-mode.el
deleted file mode 100644
index 777b37233ec2..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/writeroom-mode-20170623.1027/writeroom-mode.el
+++ /dev/null
@@ -1,468 +0,0 @@
-;;; writeroom-mode.el --- Minor mode for distraction-free writing  -*- lexical-binding: t -*-
-
-;; Copyright (c) 2012-2017 Joost Kremers
-
-;; Author: Joost Kremers <joostkremers@fastmail.fm>
-;; Maintainer: Joost Kremers <joostkremers@fastmail.fm>
-;; Created: 11 July 2012
-;; Package-Requires: ((emacs "24.1") (visual-fill-column "1.9"))
-;; Version: 3.7
-;; Keywords: text
-
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions
-;; are met:
-;;
-;; 1. Redistributions of source code must retain the above copyright
-;;    notice, this list of conditions and the following disclaimer.
-;; 2. Redistributions in binary form must reproduce the above copyright
-;;    notice, this list of conditions and the following disclaimer in the
-;;    documentation and/or other materials provided with the distribution.
-;; 3. The name of the author may not be used to endorse or promote products
-;;    derived from this software without specific prior written permission.
-;;
-;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-;; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-;; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-;; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE,
-;; DATA, OR PROFITS ; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-;;; Commentary:
-
-;; writeroom-mode is a minor mode for Emacs that implements a
-;; distraction-free writing mode similar to the famous Writeroom editor for
-;; OS X. writeroom-mode is meant for GNU Emacs 24 and isn't tested on older
-;; versions.
-;;
-;; See the README or info manual for usage instructions.
-;;
-;;; Code:
-
-(require 'visual-fill-column)
-
-(defvar writeroom--frame nil
-  "The frame in which `writeroom-mode' is activated.
-The global effects only apply to this frame.")
-
-(defvar writeroom--buffers nil
-  "List of buffers in which `writeroom-mode' is activated.")
-
-(defvar writeroom--local-variables '(mode-line-format
-                            header-line-format
-                            line-spacing)
-  "Local variables whose values need to be saved when `writeroom-mode' is activated.")
-
-(defvar writeroom--saved-data nil
-  "Buffer-local data to be stored when `writeroom-mode' is activated.
-These settings are restored when `writeroom-mode' is
-deactivated.")
-(make-variable-buffer-local 'writeroom--saved-data)
-
-(defvar writeroom--saved-visual-fill-column nil
-  "Status of `visual-fill-column-mode' before activating `writeroom-mode'.")
-(make-variable-buffer-local 'writeroom--saved-visual-fill-column)
-
-(defvar writeroom--saved-window-config nil
-  "Window configuration active before `writeroom-mode' is activated.")
-
-(defgroup writeroom nil "Minor mode for distraction-free writing."
-  :group 'wp
-  :prefix "writeroom-")
-
-(defcustom writeroom-width 80
-  "Width of the writeroom writing area.
-This can be specified as an absolute width (the number of
-characters in a line), or as a fraction of the total window
-width, in the latter it should be a number between 0 and 1."
-  :group 'writeroom
-  :type '(choice (integer :tag "Absolute width:")
-                 (float :tag "Relative width:" :value 0.5)))
-
-(defcustom writeroom-mode-line nil
-  "The mode line format to use with `writeroom-mode'.
-By default, this option is set to nil, which disables the mode
-line when `writeroom-mode' is activated.  By setting this option
-to t, the standard mode line is retained.  Alternatively, it is
-possible to specify a special mode line for `writeroom-mode'
-buffers.  If this option is chosen, the default is to only show
-the buffer's modification status and the buffer name, but the
-format can be customized.  See the documentation for the variable
-`mode-line-format' for further information.  Note that if you set
-this option, it may be more visually pleasing to set
-`writeroom-bottom-divider-width' to 0."
-  :group 'writeroom
-  :type '(choice (const :tag "Disable the mode line" nil)
-                 (const :tag "Use default mode line" t)
-                 (sexp :tag "Customize mode line"
-                       :value ("   " mode-line-modified "   " mode-line-buffer-identification))))
-
-(defcustom writeroom-mode-line-toggle-position 'header-line-format
-  "Position to temporarily show the mode line.
-When the mode line is disabled, the function
-`writeroom-toggle-mode-line' makes the mode line visible.  This
-option determines whether it is shown as the mode line or as the
-header line."
-  :group 'writeroom
-  :type '(choice (const :tag "Use the mode line" 'mode-line-format)
-                 (const :tag "Use the header line" 'header-line-format)))
-
-(defcustom writeroom-bottom-divider-width 1
-  "Width of the bottom window divider in pixels."
-  :group 'writeroom
-  :type '(integer :tag "Width"))
-
-(make-obsolete-variable 'writeroom-disable-fringe
-                        "The variable `writeroom-disable-fringe' is no longer used."
-                        "`writeroom-mode' version 2.9")
-
-(defcustom writeroom-maximize-window t
-  "Whether to maximize the current window in its frame.
-When set to t, `writeroom-mode' deletes all other windows in
-the current frame."
-  :group 'writeroom
-  :type '(choice (const :tag "Maximize window" t)
-                 (const :tag "Do not maximize window" nil)))
-
-(defcustom writeroom-fullscreen-effect 'fullboth
-  "Effect applied when enabling fullscreen.
-The value can be `fullboth', in which case fullscreen is
-activated, or `maximized', in which case the relevant frame is
-maximized but window decorations are still available."
-  :group 'writeroom
-  :type '(choice (const :tag "Fullscreen" fullboth)
-                 (const :tag "Maximized" maximized)))
-
-(defcustom writeroom-border-width 30
-  "Width in pixels of the border.
-To use this option, select the option \"Add border\" in `Global
-Effects'. This adds a border around the text area."
-  :group 'writeroom
-  :type '(integer :tag "Border width"))
-
-(defcustom writeroom-fringes-outside-margins t
-  "If set, place the fringes outside the margins."
-  :group 'writeroom
-  :type '(choice (const :tag "Place fringes outside margins" t)
-                 (const :tag "Place fringes inside margins" nil)))
-
-(defcustom writeroom-major-modes '(text-mode)
-  "List of major modes in which writeroom-mode is activated.
-The command `global-writeroom-mode' activates `writeroom-mode' in
-every buffer that has one of the major modes listed in this
-option.  Modes can be specified as symbols or as regular
-expressions.  If a buffer has one of the specified major modes or
-if its major mode name matches one of the regular expressions,
-`writeroom-mode' is activated."
-  :group 'writeroom
-  :type '(repeat (choice (symbol :tag "Major mode")
-                         (string :tag "Regular expression"))))
-
-(defcustom writeroom-use-derived-modes t
-  "Activate `writeroom-mode' in derived modes as well.'.
-If this option is set, the command `global-writeroom-mode'
-activates `writeroom-mode' in modes that are derived from those
-listed in `writeroom-major-modes'.  Note that this option applies
-only to symbols in `writeroom-major-modes'.  Regular expressions
-are ignored."
-  :group 'writeroom
-  :type '(choice (const :tag "Use derived modes" t)
-                 (const :tag "Do not use derived modes" nil)))
-
-(defcustom writeroom-major-modes-exceptions nil
-  "List of major modes in which `writeroom-mode' should not be activated.
-This option lists exceptions to `writeroom-major-modes'.  Modes
-can be specified as symbols or as regular expressions."
-  :group 'writeroom
-  :type '(repeat (choice (symbol :tag "Major mode exception")
-                         (string :tag "Regular expression"))))
-
-(defcustom writeroom-restore-window-config nil
-  "If set, restore window configuration after disabling `writeroom-mode'.
-Setting this option makes sense primarily if `writeroom-mode' is
-used in one buffer only.  The window configuration that is stored
-is the one that exists when `writeroom-mode' is first called, and
-it is restored when `writeroom-mode' is deactivated in the last
-buffer."
-  :group 'writeroom
-  :type '(choice (const :tag "Do not restore window configuration" nil)
-                 (const :tag "Restore window configuration" t)))
-
-(defcustom writeroom-extra-line-spacing nil
-  "Additional line spacing for `writeroom-mode`."
-  :group 'writeroom
-  :type '(choice (const :tag "Do not add extra line spacing" :value nil)
-                 (integer :tag "Absolute height" :value 5)
-                 (float :tag "Relative height" :value 0.8)))
-
-(defcustom writeroom-global-effects '(writeroom-set-fullscreen
-                             writeroom-set-alpha
-                             writeroom-set-menu-bar-lines
-                             writeroom-set-tool-bar-lines
-                             writeroom-set-vertical-scroll-bars
-                             writeroom-set-bottom-divider-width)
-  "List of global effects for `writeroom-mode'.
-These effects are enabled when `writeroom-mode' is activated in
-the first buffer and disabled when it is deactivated in the last
-buffer."
-  :group 'writeroom
-  :type '(set (const :tag "Fullscreen" writeroom-set-fullscreen)
-              (const :tag "Disable transparency" writeroom-set-alpha)
-              (const :tag "Disable menu bar" writeroom-set-menu-bar-lines)
-              (const :tag "Disable tool bar" writeroom-set-tool-bar-lines)
-              (const :tag "Disable scroll bar" writeroom-set-vertical-scroll-bars)
-              (const :tag "Enable bottom window divider" writeroom-set-bottom-divider-width)
-              (const :tag "Add border" writeroom-set-internal-border-width)
-              (const :tag "Display frame on all workspaces" writeroom-set-sticky)
-              (repeat :inline t :tag "Custom effects" function)))
-
-(define-obsolete-variable-alias 'writeroom-global-functions 'writeroom-global-effects "`writeroom-mode' version 2.0")
-
-(defmacro define-writeroom-global-effect (fp value)
-  "Define a global effect for `writeroom-mode'.
-The effect is activated by setting frame parameter FP to VALUE.
-FP should be an unquoted symbol, the name of a frame parameter;
-VALUE must be quoted (unless it is a string or a number, of
-course).  It can also be an unquoted symbol, in which case it
-should be the name of a global variable whose value is then
-assigned to FP.
-
-This macro defines a function `writeroom-set-<FP>' that takes one
-argument and activates the effect if this argument is 1 and
-deactivates it if it is -1.  When the effect is activated, the
-original value of frame parameter FP is stored in a frame
-parameter `writeroom-<FP>', so that it can be restored when the
-effect is deactivated."
-  (declare (indent defun))
-  (let ((wfp (intern (format "writeroom-%s" fp))))
-    `(fset (quote ,(intern (format "writeroom-set-%s" fp)))
-           (lambda (&optional arg)
-             (when (frame-live-p writeroom--frame)
-               (cond
-                ((= arg 1)         ; activate
-                 (set-frame-parameter writeroom--frame (quote ,wfp) (frame-parameter writeroom--frame (quote ,fp)))
-                 (set-frame-parameter writeroom--frame (quote ,fp) ,value))
-                ((= arg -1)        ; deactivate
-                 (set-frame-parameter writeroom--frame (quote ,fp) (frame-parameter writeroom--frame (quote ,wfp)))
-                 (set-frame-parameter writeroom--frame (quote ,wfp) nil))))))))
-
-(define-writeroom-global-effect fullscreen writeroom-fullscreen-effect)
-(define-writeroom-global-effect alpha '(100 100))
-(define-writeroom-global-effect vertical-scroll-bars nil)
-(define-writeroom-global-effect menu-bar-lines 0)
-(define-writeroom-global-effect tool-bar-lines 0)
-(define-writeroom-global-effect internal-border-width writeroom-border-width)
-(define-writeroom-global-effect sticky t)
-(define-writeroom-global-effect bottom-divider-width writeroom-bottom-divider-width)
-
-(defun turn-on-writeroom-mode ()
-  "Turn on `writeroom-mode'.
-This function activates `writeroom-mode' in a buffer if that
-buffer's major mode matchs against one of `writeroom-major-modes'."
-  (unless (writeroom--match-major-mode writeroom-major-modes-exceptions)
-    (if (writeroom--match-major-mode writeroom-major-modes writeroom-use-derived-modes)
-        (writeroom-mode 1))))
-
-(defun writeroom--match-major-mode (modes &optional derived)
-  "Match the current buffer's major mode against MODES.
-MODES a list of mode names (symbols) or regular expressions.
-Return t if the current major mode matches one of the elements of
-MODES, nil otherwise.  Comparison is done with `eq` (for symbols
-in MODES) or with `string-match-p' (for strings in MODES).  That
-is, if the major mode is e.g., `emacs-lisp-mode', it will not
-match the symbol `lisp-mode', but it will match the string
-\"lisp-mode\".
-
-If DERIVED is non-nil, also return t if the current buffer's
-major mode is a derived mode of one of the major mode symbols in
-MODES."
-  (catch 'match
-    (dolist (elem modes)
-      (if (cond ((symbolp elem)
-                 (or (eq elem major-mode)
-                     (and derived (derived-mode-p elem))))
-                ((string-match-p elem (symbol-name major-mode))))
-          (throw 'match t)))))
-
-(defvar writeroom-mode-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map (kbd "s-?") #'writeroom-toggle-mode-line)
-    map)
-  "Keymap for writeroom-mode.")
-
-;;;###autoload
-(define-minor-mode writeroom-mode
-  "Minor mode for distraction-free writing."
-  :init-value nil :lighter nil :global nil
-  (if writeroom-mode
-      (writeroom--enable)
-    (writeroom--disable)))
-
-;;;###autoload
-(define-globalized-minor-mode global-writeroom-mode writeroom-mode turn-on-writeroom-mode
-  :require 'writeroom-mode
-  :group 'writeroom)
-
-(defun writeroom--kill-buffer-function ()
-  "Disable `writeroom-mode' before killing a buffer, if necessary.
-This function is for use in `kill-buffer-hook'.  It checks whether
-`writeroom-mode' is enabled in the buffer to be killed and
-adjusts `writeroom--buffers' and the global effects accordingly."
-  (when writeroom-mode
-    (setq writeroom--buffers (delq (current-buffer) writeroom--buffers))
-    (when (not writeroom--buffers)
-      (writeroom--set-global-effects -1)
-      (setq writeroom--frame nil))))
-
-(add-hook 'kill-buffer-hook #'writeroom--kill-buffer-function)
-
-(defun writeroom--set-global-effects (arg)
-  "Activate or deactivate global effects.
-The effects are activated if ARG is 1, deactivated if it is -1."
-  (mapc (lambda (fn)
-          (funcall fn arg))
-        writeroom-global-effects))
-
-(defun writeroom--calculate-width ()
-  "Calculate the width of the writing area."
-  (if (floatp writeroom-width)
-      (truncate (* (window-total-width) writeroom-width))
-    writeroom-width))
-
-(defvar writeroom--mode-line-showing nil
-  "Flag indicating whether the original mode line is displayed.")
-(make-variable-buffer-local 'writeroom--mode-line-showing)
-
-(defvar writeroom--orig-header-line nil
-  "Original format of the header line.
-When the header line is used to temporarily display the mode
-line, its original format is saved here.")
-(make-variable-buffer-local 'writeroom--orig-header-line)
-
-(defun writeroom-toggle-mode-line ()
-  "Toggle display of the original mode."
-  (interactive)
-  (unless (eq writeroom-mode-line t) ; This means the original mode-line is displayed already.
-    (cond
-     ((not writeroom--mode-line-showing)
-      (setq writeroom--orig-header-line header-line-format)
-      (set writeroom-mode-line-toggle-position (or (cdr (assq 'mode-line-format writeroom--saved-data))
-                                          (default-value 'mode-line-format)))
-      (setq writeroom--mode-line-showing t))
-     (writeroom--mode-line-showing
-      (if (eq writeroom-mode-line-toggle-position 'header-line-format)
-          (setq header-line-format writeroom--orig-header-line)
-        (setq mode-line-format writeroom-mode-line))
-      (setq writeroom--mode-line-showing nil)))
-    (force-mode-line-update)))
-
-(defun writeroom-adjust-width (amount)
-  "Adjust the width of the writing area on the fly by AMOUNT.
-A numeric prefix argument can be used to specify the adjustment.
-When called without a prefix, this will reset the width to the default value."
-  (interactive "P")
-  (if amount
-      (setq visual-fill-column-width (max 1 (+ visual-fill-column-width amount)))
-    (setq visual-fill-column-width (writeroom--calculate-width)))
-  (visual-fill-column--adjust-window)
-  (message "Writing area is now %d characters wide" visual-fill-column-width))
-
-(defun writeroom-increase-width ()
-  "Increase the width of the writing area by 2 characters."
-  (interactive)
-  (writeroom-adjust-width 2))
-
-(defun writeroom-decrease-width ()
-  "Decrease the width of the writing area by 2 characters."
-  (interactive)
-  (writeroom-adjust-width -2))
-
-(defun writeroom--enable ()
-  "Set up writeroom-mode for the current buffer.
-Also run the functions in `writeroom-global-effects' if the
-current buffer is the first buffer in which `writeroom-mode' is
-activated."
-  ;; save buffer-local variables, if they have a buffer-local binding
-  (setq writeroom--saved-data (mapcar (lambda (sym)
-                               (if (local-variable-p sym)
-                                   (cons sym (buffer-local-value sym (current-buffer)))
-                                 sym))
-                             writeroom--local-variables))
-  (setq writeroom--saved-visual-fill-column visual-fill-column-mode)
-
-  ;; activate global effects
-  (when (not writeroom--buffers)
-    (setq writeroom--frame (selected-frame))
-    (writeroom--set-global-effects 1)
-    (if writeroom-restore-window-config
-        (setq writeroom--saved-window-config (current-window-configuration))))
-
-  (push (current-buffer) writeroom--buffers)
-
-  (when writeroom-maximize-window
-    (delete-other-windows))
-
-  (when writeroom-extra-line-spacing
-    (setq line-spacing writeroom-extra-line-spacing))
-
-  (unless (eq writeroom-mode-line t) ; if t, use standard mode line
-    (setq mode-line-format writeroom-mode-line))
-
-  (setq visual-fill-column-width (writeroom--calculate-width)
-        visual-fill-column-center-text t
-        visual-fill-column-fringes-outside-margins writeroom-fringes-outside-margins)
-  (visual-fill-column-mode 1)
-
-  ;; if the current buffer is displayed in some window, the windows'
-  ;; margins and fringes must be adjusted.
-  (mapc (lambda (w)
-          (with-selected-window w
-            (visual-fill-column--adjust-window)))
-        (get-buffer-window-list (current-buffer) nil)))
-
-(defun writeroom--disable ()
-  "Reset the current buffer to its normal appearance.
-Also run the functions in `writeroom-global-effects' to undo
-their effects if `writeroom-mode' is deactivated in the last
-buffer in which it was active."
-  ;; disable visual-fill-column-mode
-  (visual-fill-column-mode -1)
-  (kill-local-variable 'visual-fill-column-width)
-  (kill-local-variable 'visual-fill-column-center-text)
-  (kill-local-variable 'visual-fill-column-fringes-outside-margins)
-
-  ;; restore global effects if necessary
-  (setq writeroom--buffers (delq (current-buffer) writeroom--buffers))
-  (when (not writeroom--buffers)
-    (writeroom--set-global-effects -1)
-    (setq writeroom--frame nil)
-    (if writeroom-restore-window-config
-        (set-window-configuration writeroom--saved-window-config)))
-
-  ;; restore local variables
-  (mapc (lambda (val)
-          (if (symbolp val)
-              (kill-local-variable val)
-            (set (car val) (cdr val))))
-        writeroom--saved-data)
-
-  ;; if the current buffer is displayed in some window, the windows'
-  ;; margins and fringes must be adjusted.
-  (mapc (lambda (w)
-          (with-selected-window w
-            (set-window-margins (selected-window) 0 0)
-            (set-window-fringes (selected-window) nil)))
-        (get-buffer-window-list (current-buffer) nil))
-
-  ;; reenable `visual-fill-colummn-mode' with original settings if it was
-  ;; active before activating `writeroom-mode'.
-  (if writeroom--saved-visual-fill-column
-      (visual-fill-column-mode 1)))
-
-(provide 'writeroom-mode)
-
-;;; writeroom-mode.el ends here