X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-layout.el;h=584c2c02798cc9edc8ef867dd4f2e35de68a1f31;hp=e1c69080b376abe576f2bd7ad71d41f3107544b8;hb=587bd93a160b3df9204ff1581132c30fd1abb344;hpb=c29e67d9775fc091a53a59d8fb315ef2e05bd46b diff --git a/lisp/riece-layout.el b/lisp/riece-layout.el index e1c6908..584c2c0 100644 --- a/lisp/riece-layout.el +++ b/lisp/riece-layout.el @@ -28,7 +28,7 @@ (require 'riece-misc) (defgroup riece-layout nil - "Manage window layouts" + "Window layouts." :prefix "riece-" :group 'riece) @@ -49,8 +49,8 @@ "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 @@ -72,7 +72,7 @@ happen unconditionally." (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 @@ -87,7 +87,10 @@ happen unconditionally." (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) @@ -151,11 +154,13 @@ This function is used by \"default\" layout." (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) @@ -164,16 +169,16 @@ This function is used by \"default\" layout." (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) @@ -224,8 +229,7 @@ PLIST accept :command-height, :user-list-width, and :channel-list-width." (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)) @@ -240,8 +244,7 @@ PLIST accept :command-height, :user-list-width, and :channel-list-width." (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)