]> git.bundesbrandschatzamt.de Git - emacsconfig.git/commitdiff
update fullframe.
authorAndreas Gerler <baronNOSPAMbundesbrandschatzamt.de>
Sat, 20 Feb 2016 13:00:30 +0000 (14:00 +0100)
committerAndreas Gerler <baronNOSPAMbundesbrandschatzamt.de>
Sat, 20 Feb 2016 14:43:56 +0000 (15:43 +0100)
bba.org
elpa/fullframe-20140619.305/fullframe-autoloads.el [deleted file]
elpa/fullframe-20140619.305/fullframe-pkg.el [deleted file]
elpa/fullframe-20140619.305/fullframe.el [deleted file]
elpa/fullframe-20160209.2318/fullframe-autoloads.el [new file with mode: 0644]
elpa/fullframe-20160209.2318/fullframe-pkg.el [new file with mode: 0644]
elpa/fullframe-20160209.2318/fullframe.el [new file with mode: 0644]

diff --git a/bba.org b/bba.org
index 201b50f9b3aa05d8f2bbe59bdc9a83940ca934a5..485ac98a67958c42a7330e2491d10af1bea51b0d 100644 (file)
--- a/bba.org
+++ b/bba.org
@@ -269,7 +269,7 @@ open ibuffer and magit-status in fullframe mode.
 #+BEGIN_SRC emacs-lisp
     (if (>= emacs-major-version 24)
         (progn
-          (add-to-list 'load-path "~/.emacs.d/elpa/fullframe-20140619.305")
+          (add-to-list 'load-path "~/.emacs.d/elpa/fullframe-20160209.2318")
           (require 'fullframe)
           (fullframe magit-status magit-mode-quit-window)
           (fullframe ibuffer ibuffer-quit)
diff --git a/elpa/fullframe-20140619.305/fullframe-autoloads.el b/elpa/fullframe-20140619.305/fullframe-autoloads.el
deleted file mode 100644 (file)
index 71f057f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-;;; fullframe-autoloads.el --- automatically extracted autoloads
-;;
-;;; Code:
-
-\f
-;;;### (autoloads (fullframe) "fullframe" "fullframe.el" (21701 7413
-;;;;;;  0 0))
-;;; Generated autoloads from fullframe.el
-
-(autoload 'fullframe "fullframe" "\
-Save window/frame state when executing COMMAND-ON.
-
-Advises COMMAND-ON so that the buffer it displays will appear in
-a full-frame window.  The previous window configuration will be
-restored when COMMAND-OFF is executed in that buffer.  If
-KILL-ON-COFF is non-nil, then the buffer will also be killed
-after COMMAND-OFF has completed.
-
-IGNORED is there for backcompatibillitys sake -- ignore it.
-
-\(fn COMMAND-ON COMMAND-OFF &optional KILL-ON-COFF IGNORED)" nil t)
-
-;;;***
-\f
-;;;### (autoloads nil nil ("fullframe-pkg.el") (21701 7413 220897
-;;;;;;  0))
-
-;;;***
-\f
-(provide 'fullframe-autoloads)
-;; Local Variables:
-;; version-control: never
-;; no-byte-compile: t
-;; no-update-autoloads: t
-;; coding: utf-8
-;; End:
-;;; fullframe-autoloads.el ends here
diff --git a/elpa/fullframe-20140619.305/fullframe-pkg.el b/elpa/fullframe-20140619.305/fullframe-pkg.el
deleted file mode 100644 (file)
index 3c6290f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(define-package "fullframe" "20140619.305" "Generalized automatic execution in a single frame" (quote ((cl-lib "0.5"))))
diff --git a/elpa/fullframe-20140619.305/fullframe.el b/elpa/fullframe-20140619.305/fullframe.el
deleted file mode 100644 (file)
index dc28c75..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-;;; fullframe.el --- Generalized automatic execution in a single frame
-
-;; Copyright (C) 2013 Tom Regner
-
-;; Author: Tom Regner <tomNOSPAMgoochesa.de>
-;; Maintainer: Tom Regner <tomNOSPAMgoochesa.de>
-;; Version: 20140619.305
-;; X-Original-Version: 0.1.0
-;; Keywords: fullscreen
-;; Package-Requires: ((cl-lib "0.5"))
-
-;;  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 <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Generalized automatic execution in a single frame
-;;
-;; This is a library that package developers can use to provide user
-;; friendly single window per frame execution of buffer exposing
-;; commands, as well as to use in personal Emacs configurations to attain
-;; the same goal for packages that don't use =fullframe= or the likes of
-;; it themself.
-;;
-;;  Example: Setup =magit-status= to open in one window in the current
-;;  frame when called
-;; Example:
-;; - Open magit-status in a single window in fullscreen
-;;   (require 'fullframe)
-;;   (fullframe magit-status magit-mode-quit-window nil)
-;;
-;;; Code:
-
-(require 'cl-lib)
-
-;; customization
-;; - none
-
-;; variables
-(defvar fullframe/previous-window-configuration nil
-  "The window configuration to restore.")
-(make-variable-buffer-local 'fullframe/previous-window-configuration)
-
-;; internal functions
-
-(defmacro fullframe/with-gensym (names &rest body)
-  "Make macros relying on multiple `cl-gensym' calls more readable.
-Takes a list of symbols NAMES and defines `cl-gensym' variables
-  in a `let' that has BODY as body.  The symbol names generated
-  are prefixed with \"fullframe/--\", the variable names are as
-  given in NAMES.
-
-Example:
-
-\(fullframe/with-gensym (one two three)
-  (progn
-    `(let ((,one \"one\")
-          (,two \"two\")
-          (,three \"three\"))
-    (message \"%s:%s:%s\\n\" ,one ,two ,three))\)
-
-Instead of
-
-\(let ((one (cl-gensym \"sym-one\"))
-       (two (cl-gensym \"sym-two\"))
-       (three (cl-gensym \"sym-three\")))
-  `(let ((,one \"one\")
-        (,two \"two\")
-        (,three \"three\"))
-    (message \"%s:%s:%s\\n\" ,one ,two ,three)))
-
-Idea attributed to Peter Seibel where I found it."
-  (declare (indent defun))
-  `(let
-       ,(cl-loop for n in names collect
-                 `(,n (cl-gensym (concat "fullframe/--"
-                                         (symbol-name (quote ,n))))))
-     ,@body))
-
-(defun fullframe/maybe-restore-configuration (config)
-  "Restore CONFIG if non-nil."
-  (when config
-    (condition-case nil
-        (set-window-configuration config)
-      (error (message "Failed to restore all windows.")))))
-
-;; API
-;;;###autoload
-(defmacro fullframe (command-on command-off &optional kill-on-coff ignored)
-  "Save window/frame state when executing COMMAND-ON.
-
-Advises COMMAND-ON so that the buffer it displays will appear in
-a full-frame window.  The previous window configuration will be
-restored when COMMAND-OFF is executed in that buffer.  If
-KILL-ON-COFF is non-nil, then the buffer will also be killed
-after COMMAND-OFF has completed.
-
-IGNORED is there for backcompatibillitys sake -- ignore it."
-  (when (keywordp kill-on-coff)
-    (error "The register parameter for fullframe has been removed"))
-  (fullframe/with-gensym (window-config window-config-post buf)
-    `(progn
-       (defadvice ,command-on (around fullframe activate)
-         (let ((,window-config (current-window-configuration)))
-           ad-do-it
-           (let ((,window-config-post (current-window-configuration)))
-             (delete-other-windows)
-             (unless (equal ,window-config-post (current-window-configuration))
-               (setq fullframe/previous-window-configuration ,window-config)))))
-       (defadvice ,command-off (around fullframe activate)
-         (let ((,window-config fullframe/previous-window-configuration)
-               (,buf (current-buffer)))
-           (prog1
-               ad-do-it
-             (fullframe/maybe-restore-configuration ,window-config)
-             ,(when kill-on-coff `(kill-buffer ,buf))))))))
-
-;; interactive functions
-;; - none
-
-(provide 'fullframe)
-;;; fullframe.el ends here
diff --git a/elpa/fullframe-20160209.2318/fullframe-autoloads.el b/elpa/fullframe-20160209.2318/fullframe-autoloads.el
new file mode 100644 (file)
index 0000000..9512c16
--- /dev/null
@@ -0,0 +1,58 @@
+;;; fullframe-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+(add-to-list 'load-path (or (file-name-directory #$) (car load-path)))
+\f
+;;;### (autoloads nil "fullframe" "fullframe.el" (22215 7657 0 0))
+;;; Generated autoloads from fullframe.el
+
+(autoload 'fullframe/current-buffer-window-config "fullframe" "\
+Return the window-configuration stored for the current buffer.
+
+\(fn)" nil nil)
+
+(autoload 'fullframe/erase-current-buffer-window-config "fullframe" "\
+Forget the window config associated with the current buffer.
+
+\(fn)" nil nil)
+
+(autoload 'fullframe/set-current-buffer-window-config "fullframe" "\
+Associate the current buffer with the window-configuration WCONF.
+
+\(fn WCONF)" nil nil)
+
+(autoload 'fullframe/split-screen "fullframe" "\
+After COMMAND-ON is executed and only one window present in
+  the current frame, split the frame in two windows ('below or
+  'right, depending on DIRECTION being `horizontal' or
+  `vertical') and switch the new window to the buffer
+  SECOND-BUFFER (name or symbol). If SWITCH-TO-SECOND-BUFFER is
+  not `nil', the window holding SECOND-BUFFER will be activated.
+
+\(fn COMMAND-ON COMMAND-OFF SECOND-BUFFER &optional DIRECTION SWITCH-TO-SECOND-BUFFER SIZE)" nil t)
+
+(autoload 'fullframe "fullframe" "\
+Save window/frame state when executing COMMAND-ON.
+
+Advises COMMAND-ON so that the buffer it displays will appear in
+a full-frame window.  The previous window configuration will be
+restored when COMMAND-OFF is executed in that buffer.  If
+KILL-ON-COFF is non-nil, then the buffer will also be killed
+after COMMAND-OFF has completed.
+
+This function uses `defadvice' on versions of emacs < 24.4,
+`advice-add' otherwise.
+
+AFTER-COMMAND-ON-FUNC is called after COMMAND-ON was called and
+the window it generated is the only one in in the frame.
+
+\(fn COMMAND-ON COMMAND-OFF &optional KILL-ON-COFF AFTER-COMMAND-ON-FUNC)" nil t)
+
+;;;***
+\f
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; End:
+;;; fullframe-autoloads.el ends here
diff --git a/elpa/fullframe-20160209.2318/fullframe-pkg.el b/elpa/fullframe-20160209.2318/fullframe-pkg.el
new file mode 100644 (file)
index 0000000..bf7b69d
--- /dev/null
@@ -0,0 +1 @@
+(define-package "fullframe" "20160209.2318" "Generalized automatic execution in a single frame" '((cl-lib "0.5")) :keywords '("fullscreen"))
diff --git a/elpa/fullframe-20160209.2318/fullframe.el b/elpa/fullframe-20160209.2318/fullframe.el
new file mode 100644 (file)
index 0000000..9ae4525
--- /dev/null
@@ -0,0 +1,197 @@
+;;; fullframe.el --- Generalized automatic execution in a single frame
+
+;; Copyright (C) 2013 Tom Regner
+
+;; Author: Tom Regner <tomNOSPAMgoochesa.de>
+;; Maintainer: Tom Regner <tomNOSPAMgoochesa.de>
+;; Version: 0.4.0
+;; Package-Version: 20160209.2318
+;; Keywords: fullscreen
+;; Package-Requires: ((cl-lib "0.5"))
+
+;;  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 <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;; Generalized automatic execution in a single frame
+;;
+;; This is a library that package developers can use to provide user
+;; friendly single window per frame execution of buffer exposing
+;; commands, as well as to use in personal Emacs configurations to attain
+;; the same goal for packages that don't use =fullframe= or the likes of
+;; it themself.
+;;
+;;  Example: Setup =magit-status= to open in one window in the current
+;;  frame when called
+;; Example:
+;; - Open magit-status in a single window in fullscreen
+;;   (require 'fullframe)
+;;   (fullframe magit-status magit-mode-quit-window nil)
+;;
+;;; Code:
+
+
+(eval-when-compile
+  (require 'cl))
+
+;; customization
+;; - none
+
+;; variables
+(defvar fullframe/previous-window-configuration nil
+  "The window configuration to restore.")
+(make-variable-buffer-local 'fullframe/previous-window-configuration)
+
+;; internal functions
+
+(defmacro fullframe/with-gensym (names &rest body)
+  "Make macros relying on multiple `cl-gensym' calls more readable.
+Takes a list of symbols NAMES and defines `cl-gensym' variables
+  in a `let' that has BODY as body.  The symbol names generated
+  are prefixed with \"fullframe/--\", the variable names are as
+  given in NAMES.
+
+Example:
+
+\(fullframe/with-gensym (one two three)
+  (progn
+    `(let ((,one \"one\")
+          (,two \"two\")
+          (,three \"three\"))
+    (message \"%s:%s:%s\\n\" ,one ,two ,three))\)
+
+Instead of
+
+\(let ((one (cl-gensym \"sym-one\"))
+       (two (cl-gensym \"sym-two\"))
+       (three (cl-gensym \"sym-three\")))
+  `(let ((,one \"one\")
+        (,two \"two\")
+        (,three \"three\"))
+    (message \"%s:%s:%s\\n\" ,one ,two ,three)))
+
+Idea attributed to Peter Seibel where I found it."
+  (declare (indent defun))
+  `(let
+       ,(cl-loop for n in names collect
+                 `(,n (cl-gensym (concat "fullframe/--"
+                                         (symbol-name (quote ,n))))))
+     ,@body))
+
+(defun fullframe/maybe-restore-configuration (config)
+  "Restore CONFIG if non-nil."
+  (when config
+    (condition-case nil
+        (set-window-configuration config)
+      (error (message "Failed to restore all windows.")))))
+
+;; API
+;;;###autoload
+(defun fullframe/current-buffer-window-config ()
+  "Return the window-configuration stored for the current buffer."
+  fullframe/previous-window-configuration)
+
+;;;###autoload
+(defun fullframe/erase-current-buffer-window-config ()
+  "Forget the window config associated with the current buffer."
+  (setq fullframe/previous-window-configuration nil))
+
+;;;###autoload
+(defun fullframe/set-current-buffer-window-config (wconf)
+  "Associate the current buffer with the window-configuration WCONF."
+  (setq fullframe/previous-window-configuration wconf))
+
+;;;###autoload
+(defmacro fullframe/split-screen (command-on command-off second-buffer &optional direction  switch-to-second-buffer size)
+  "After COMMAND-ON is executed and only one window present in
+  the current frame, split the frame in two windows ('below or
+  'right, depending on DIRECTION being `horizontal' or
+  `vertical') and switch the new window to the buffer
+  SECOND-BUFFER (name or symbol). If SWITCH-TO-SECOND-BUFFER is
+  not `nil', the window holding SECOND-BUFFER will be activated.
+"
+  `(fullframe ,command-on
+             ,command-off
+             nil
+             (lambda ()
+               (let ((wconf (fullframe/current-buffer-window-config))
+                   (new-window (if (eq 'horizontal ,direction)(split-window-right)(split-window-below))))
+                 (set-window-buffer new-window ,second-buffer)
+                 (fullframe/erase-current-buffer-window-config)
+                 (if ,switch-to-second-buffer (select-window new-window))
+               (with-current-buffer ,second-buffer
+                 (fullframe/set-current-buffer-window-config wconf))))))
+
+;;;###autoload
+(defmacro fullframe (command-on command-off &optional kill-on-coff after-command-on-func)
+  "Save window/frame state when executing COMMAND-ON.
+
+Advises COMMAND-ON so that the buffer it displays will appear in
+a full-frame window.  The previous window configuration will be
+restored when COMMAND-OFF is executed in that buffer.  If
+KILL-ON-COFF is non-nil, then the buffer will also be killed
+after COMMAND-OFF has completed.
+
+This function uses `defadvice' on versions of emacs < 24.4,
+`advice-add' otherwise.
+
+AFTER-COMMAND-ON-FUNC is called after COMMAND-ON was called and
+the window it generated is the only one in in the frame.
+"
+  (when (keywordp kill-on-coff)
+    (error "The register parameter for fullframe has been removed"))
+  (fullframe/with-gensym (window-config window-config-post buf)
+    (let ((on-code `(let ((,window-config-post (current-window-configuration)))
+                      (delete-other-windows)
+                      (unless (equal ,window-config-post (current-window-configuration))
+                        (setq fullframe/previous-window-configuration ,window-config))
+                      ,@(when after-command-on-func
+                          (list `(funcall #',after-command-on-func)))))
+          (off-code `(progn
+                       (fullframe/maybe-restore-configuration ,window-config)
+                       ,@(when kill-on-coff (list `(kill-buffer ,buf))))))
+      (if (version< emacs-version "24.4")
+          `(progn
+             (defadvice ,command-on (around fullframe activate)
+               (let ((,window-config (current-window-configuration)))
+                 ad-do-it
+                 ,on-code))
+             (defadvice ,command-off (around fullframe activate)
+               (let ((,window-config fullframe/previous-window-configuration)
+                     (,buf (current-buffer)))
+                 (prog1
+                     ad-do-it
+                   ,off-code))))
+        `(progn
+           (advice-add #',command-on :around
+                       #'(lambda (orig-fun &rest args)
+                           (let ((,window-config (current-window-configuration)))
+                             (apply orig-fun args)
+                             ,on-code))
+                       '((name . "fullframe-command-on-advice")))
+           (advice-add #',command-off :around
+                       #'(lambda (orig-fun &rest args)
+                           (let ((,window-config fullframe/previous-window-configuration)
+                                 (,buf (current-buffer)))
+                             (prog1
+                                 (apply orig-fun args)
+                               ,off-code)))
+                       '((name . "fullframe-command-off-advice"))))))))
+
+;; interactive functions
+;; - none
+
+(provide 'fullframe)
+;;; fullframe.el ends here