;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Code:
(require 'riece-misc)
(defgroup riece-layout nil
- "Manage window layouts"
+ "Window layouts."
:prefix "riece-"
:group 'riece)
"An alist mapping the names to layout functions.
An element of this alist is either in the following forms:
-(NAME CONFIGURE-FUNCTION [PARAMETERS])
-(NAME1 . NAME2)
+\(NAME CONFIGURE-FUNCTION [PARAMETERS]\)
+\(NAME1 . NAME2\)
In the first form, NAME is a string which specifies the layout
setting, and CONFIGURE-FUNCTION is a function which does window
(if (or force
(riece-reconfigure-windows-predicate))
(apply (car layout) (cdr layout))))))
-
+
(defun riece-set-window-points ()
(if (get-buffer-window riece-user-list-buffer)
(with-current-buffer riece-user-list-buffer
(if (and riece-channel-buffer
(get-buffer-window riece-channel-buffer))
(with-current-buffer riece-channel-buffer
- (unless (riece-frozen riece-channel-buffer)
+ (if (riece-frozen riece-channel-buffer)
+ (if riece-channel-buffer-window-point
+ (set-window-point (get-buffer-window riece-channel-buffer)
+ riece-channel-buffer-window-point))
(set-window-point (get-buffer-window riece-channel-buffer)
(point-max)))))
(if (get-buffer-window riece-others-buffer)
(set-window-buffer (selected-window)
riece-command-buffer)
(select-window rest-window)
- (set-window-buffer (split-window rest-window)
- riece-others-buffer)
+ (if riece-others-buffer-mode
+ (set-window-buffer (split-window rest-window)
+ riece-others-buffer))
(set-window-buffer (selected-window)
riece-channel-buffer))
- (if (eq vpos 'middle)
+ (if (and (eq vpos 'middle)
+ riece-others-buffer-mode)
(let ((rest-window (split-window)))
(set-window-buffer (selected-window)
riece-channel-buffer)
(set-window-buffer rest-window
riece-command-buffer))
(let ((rest-window (split-window nil (- (window-height) 4))))
- (set-window-buffer (selected-window)
- riece-others-buffer)
- (set-window-buffer (split-window)
- riece-channel-buffer)
+ (if riece-others-buffer-mode
+ (progn
+ (set-window-buffer (selected-window)
+ riece-others-buffer)
+ (set-window-buffer (split-window)
+ riece-channel-buffer))
+ (set-window-buffer (selected-window)
+ riece-channel-buffer))
(set-window-buffer rest-window
- riece-command-buffer))))
- (with-current-buffer riece-channel-buffer
- (setq truncate-partial-width-windows nil))
- (with-current-buffer riece-others-buffer
- (setq truncate-partial-width-windows nil)))
+ riece-command-buffer)))))
(if (eq vpos 'bottom)
(progn
(set-window-buffer (selected-window)
(set-window-buffer (selected-window) riece-channel-buffer)
(set-window-buffer user-list-window riece-user-list-buffer)
(select-window user-list-window)
- (shrink-window-horizontally (- (window-width) user-list-width))
- (setq truncate-partial-width-windows nil)))
+ (shrink-window-horizontally (- (window-width) user-list-width))))
;; only user-list
(show-user-list
(set-window-buffer (selected-window) riece-user-list-buffer))
(set-window-buffer (selected-window) riece-others-buffer)
(set-window-buffer channel-list-window riece-channel-list-buffer)
(select-window channel-list-window)
- (shrink-window-horizontally (- (window-width) channel-list-width))
- (setq truncate-partial-width-windows nil))
+ (shrink-window-horizontally (- (window-width) channel-list-width)))
(set-window-buffer (selected-window) riece-dialogue-buffer))
(riece-set-window-points)
(select-window (or (get-buffer-window buffer)