branch: elpa/golden-ratio
commit 7504957a7a9d37ec8c5be380c206b1e64731e928
Merge: 9843ca2239 ef6f8ce72d
Author: Roman Gonzalez <[email protected]>
Commit: Roman Gonzalez <[email protected]>
Merge pull request #19 from deftsp/inhabit-func
Support exclusions based on inhabit function
---
golden-ratio.el | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/golden-ratio.el b/golden-ratio.el
index afcffaab8d..deb99053e6 100644
--- a/golden-ratio.el
+++ b/golden-ratio.el
@@ -40,6 +40,13 @@ window to be resized to the golden ratio."
:type '(repeat string)
:group 'golden-ratio)
+(defcustom golden-ratio-inhibit-functions nil
+ "List of functions to call with no arguments. Switching to a
+buffer, if any of these functions returns non-nil will not cause
+the window to be resized to the golden ratio."
+ :group 'golden-ratio
+ :type 'hook)
+
(defun -golden-ratio-dimensions ()
(let* ((main-rows (floor (/ (frame-height) -golden-ratio-value)))
(main-columns (floor (/ (frame-width) -golden-ratio-value))))
@@ -68,10 +75,12 @@ window to be resized to the golden ratio."
(interactive)
(if (and (not (window-minibuffer-p))
(not (one-window-p))
- (not (member (symbol-name major-mode)
- golden-ratio-exclude-modes))
- (not (member (buffer-name)
- golden-ratio-exclude-buffer-names)))
+ (not (member (symbol-name major-mode)
+ golden-ratio-exclude-modes))
+ (not (member (buffer-name)
+ golden-ratio-exclude-buffer-names))
+ (not (run-hook-with-args-until-success
+ 'golden-ratio-inhibit-functions)))
(progn
(balance-windows)
(-golden-ratio-resize-window (-golden-ratio-dimensions)