[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Erc-commit] [commit][emacs22] erc-reuse-frames: new variable
From: |
mwolson |
Subject: |
[Erc-commit] [commit][emacs22] erc-reuse-frames: new variable |
Date: |
Sun, 14 Oct 2007 00:49:10 -0400 |
commit 0e90a8e09d6c9fa48c3eb6acd6471218a6eab009
Author: Jeremy Maitin-Shepard <address@hidden>
Date: Tue Aug 14 16:23:57 2007 -0400
erc-reuse-frames: new variable
Adds an erc-reuse-frames variable that acts just as the documentation
for it specifies. Without this change, if erc-join-buffer is set to
`frame', duplicate frames will be created on every reconnect, which is
equivalent to setting `erc-reuse-frames' to nil.
diff --git a/erc.el b/erc.el
index cee601f..1628fbd 100644
--- a/erc.el
+++ b/erc.el
@@ -1492,6 +1492,14 @@ This only has effect when `erc-join-buffer' is set to
`frame'."
:group 'erc-buffers
:type 'boolean)
+(defcustom erc-reuse-frames t
+ "*Determines whether new frames are always created.
+Non-nil means that a new frame is not created to display an ERC
+buffer if there is already a window displaying it. This only has
+effect when `erc-join-buffer' is set to `frame'."
+ :group 'erc-buffers
+ :type 'boolean)
+
(defun erc-channel-p (channel)
"Return non-nil if CHANNEL seems to be an IRC channel name."
(cond ((stringp channel)
@@ -1891,14 +1899,16 @@ removed from the list will be disabled."
((eq erc-join-buffer 'bury)
nil)
((eq erc-join-buffer 'frame)
- (funcall '(lambda (frame)
+ (when (or (not erc-reuse-frames)
+ (not (get-buffer-window buffer t)))
+ ((lambda (frame)
(raise-frame frame)
(select-frame frame))
(make-frame (or erc-frame-alist
default-frame-alist)))
(switch-to-buffer buffer)
(when erc-frame-dedicated-flag
- (set-window-dedicated-p (selected-window) t)))
+ (set-window-dedicated-p (selected-window) t))))
(t
(if (active-minibuffer-window)
(display-buffer buffer)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Erc-commit] [commit][emacs22] erc-reuse-frames: new variable,
mwolson <=