+2001-06-13 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * wl-vars.el (wl-folder-use-frame): New user option.
+
+ * wl-summary.el (wl-summary-exit): Back to folder frame if
+ wl-folder-use-frame is non-nil.
+ (wl-summary-redisplay-internal): Ignore cache if current folder
+ is draft folder,
+ (wl-summary-redisplay-no-mime): Ditto.
+ (wl-summary-redisplay-all-header): Ditto.
+
+ * wl-folder.el (wl-folder-select-buffer): Switch to other frame
+ if wl-folder-use-frame is non-nil.
+
2001-06-06 Yuuichi Teranishi <teranisi@gohome.org>
* wl-summary.el (wl-summary-sync-update): Bind
(defun wl-folder-select-buffer (buffer)
(let ((gbw (get-buffer-window buffer))
- ret-val)
+ exists)
(if gbw
(progn (select-window gbw)
- (setq ret-val t))
- (condition-case ()
- (unwind-protect
- (split-window-horizontally wl-folder-window-width)
- (other-window 1))
- (error nil)))
+ (setq exists t))
+ (unless wl-folder-use-frame
+ (condition-case ()
+ (unwind-protect
+ (split-window-horizontally wl-folder-window-width)
+ (other-window 1))
+ (error nil))))
(set-buffer buffer)
- (switch-to-buffer buffer)
- ret-val
- ))
+ (if wl-folder-use-frame
+ (switch-to-buffer-other-frame buffer)
+ (switch-to-buffer buffer))
+ exists))
(defun wl-folder-toggle-disp-summary (&optional arg folder)
(interactive)
;; delete message window if displayed.
(if (and wl-message-buffer (get-buffer-window wl-message-buffer))
(delete-window (get-buffer-window wl-message-buffer)))
+ (if (and wl-folder-use-frame
+ (> (length (visible-frame-list)) 1))
+ (delete-frame))
(if (setq folder-buf (get-buffer wl-folder-buffer-name))
- (if (setq folder-win (get-buffer-window folder-buf))
- ;; folder win is already displayed.
- (select-window folder-win)
- ;; folder win is not displayed.
- (switch-to-buffer folder-buf))
+ (if wl-folder-use-frame
+ (let (select-frame)
+ (save-selected-window
+ (dolist (frame (visible-frame-list))
+ (select-frame frame)
+ (if (get-buffer-window folder-buf)
+ (setq select-frame frame))))
+ (if select-frame
+ (select-frame select-frame)
+ (switch-to-buffer folder-buf)))
+ (if (setq folder-win (get-buffer-window folder-buf))
+ ;; folder win is already displayed.
+ (select-window folder-win)
+ ;; folder win is not displayed.
+ (switch-to-buffer folder-buf)))
;; currently no folder buffer
(wl-folder))
(and wl-folder-move-cur-folder
(wl-summary-mark-as-read
nil
;; not fetched, then change server-mark.
- (if (wl-message-redisplay folder num 'mime force-reload)
+ (if (wl-message-redisplay folder num 'mime
+ (or force-reload
+ (string= (elmo-folder-name-internal
+ folder)
+ wl-draft-folder)))
nil
;; plugged, then leave server-mark.
(if (and
(setq wl-summary-buffer-last-displayed-msg
wl-summary-buffer-current-msg)
(setq wl-current-summary-buffer (current-buffer))
- (wl-message-redisplay fld num 'as-is)
+ (wl-message-redisplay fld num 'as-is
+ (string= (elmo-folder-name-internal fld)
+ wl-draft-folder))
(wl-summary-mark-as-read nil nil t)
(setq wl-summary-buffer-current-msg num)
(when wl-summary-recenter
(setq wl-summary-buffer-last-displayed-msg
wl-summary-buffer-current-msg)
(setq wl-current-summary-buffer (current-buffer))
- (if (wl-message-redisplay fld num 'all-header); t if displayed.
+ (if (wl-message-redisplay fld num 'all-header
+ (string= (elmo-folder-name-internal fld)
+ wl-draft-folder))
(wl-summary-mark-as-read nil nil t))
(setq wl-summary-buffer-current-msg num)
(when wl-summary-recenter