summaryrefslogtreecommitdiff
path: root/.config/emacs/lisp
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/lisp')
m---------.config/emacs/lisp/proj0
l---------.config/emacs/lisp/toggle-window.el1
-rw-r--r--.config/emacs/lisp/toggle-window/toggle-window.el23
3 files changed, 24 insertions, 0 deletions
diff --git a/.config/emacs/lisp/proj b/.config/emacs/lisp/proj
-Subproject b84a1feb35a528d6bcfa4e807c0b416d23dfeeb
+Subproject 2c3e7050a2cf6d51dd274f7a03721d1fdb8fbf3
diff --git a/.config/emacs/lisp/toggle-window.el b/.config/emacs/lisp/toggle-window.el
new file mode 120000
index 0000000..1da50be
--- /dev/null
+++ b/.config/emacs/lisp/toggle-window.el
@@ -0,0 +1 @@
+toggle-window/toggle-window.el \ No newline at end of file
diff --git a/.config/emacs/lisp/toggle-window/toggle-window.el b/.config/emacs/lisp/toggle-window/toggle-window.el
new file mode 100644
index 0000000..28c7c62
--- /dev/null
+++ b/.config/emacs/lisp/toggle-window/toggle-window.el
@@ -0,0 +1,23 @@
+(defvar toggle-window-configuration nil
+ "Stores the window configuration")
+
+;; should rewrite to not do the save configuration thing
+
+(defun toggle-window ()
+ (interactive)
+ (if (count-windows)
+ (if (one-window-p)
+ ;; reset configuration if single window
+ (if toggle-window-configuration
+ (progn
+ (set-window-configuration toggle-window-configuration)
+ (setq toggle-window-configuration nil))
+ (message "No previous window layout to restore."))
+ ;; if multiple windows save configuration
+ (setq toggle-window-configuration (current-window-configuration))
+ ;; delete current or other window
+ (if (derived-mode-p 'compilation-mode)
+ (delete-window)
+ (delete-other-windows)))))
+
+(provide 'toggle-window)