Changeset - 4c5c4890f3c4
[Not reviewed]
0 1 0
Sergey Pashinin - 11 years ago 2014-08-08 19:17:34
sergey@pashinin.com
Fix for "notmuch" special buffer
1 file changed with 3 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/workgroups-specialbufs.el
Show inline comments
 
@@ -349,97 +349,99 @@ You can get these commands using `wg-get-org-agenda-view-commands'."
 
(wg-support 'inferior-sml-mode 'sml-mode
 
            `((serialize . ,(lambda (buffer)
 
                              (list (if (boundp 'sml-program-name) sml-program-name)
 
                                    (if (boundp 'sml-default-arg) sml-default-arg)
 
                                    (if (boundp 'sml-host-name) sml-host-name))))
 
              (deserialize . ,(lambda (buffer vars)
 
                                (wg-dbind (program args host) vars
 
                                  (save-window-excursion
 
                                    ;; If a inf-sml buffer already exists rename it temporarily
 
                                    ;; otherwise `run-sml' will simply switch to the existing
 
                                    ;; buffer, however we want to create a separate buffer with
 
                                    ;; the serialized name
 
                                    (let* ((inf-sml-buffer-name (concat "*"
 
                                                                        (file-name-nondirectory program)
 
                                                                        "*"))
 
                                           (existing-sml-buf (wg-temporarily-rename-buffer-if-exists
 
                                                              inf-sml-buffer-name)))
 
                                      (with-current-buffer (run-sml program args host)
 
                                        ;; Rename the buffer
 
                                        (rename-buffer (wg-buf-name buffer) t)
 

	
 
                                        ;; Now we can re-rename the previously renamed buffer
 
                                        (when existing-sml-buf
 
                                          (with-current-buffer existing-sml-buf
 
                                            (rename-buffer inf-sml-buffer-name t))))))
 
                                  (switch-to-buffer (wg-buf-name buffer))
 
                                  (goto-char (point-max)))))))
 

	
 
;; Geiser repls
 
;; http://www.nongnu.org/geiser/
 
(wg-support 'geiser-repl-mode 'geiser
 
            `((save . (geiser-impl--implementation))
 
              (deserialize . ,(lambda (buffer vars)
 
                                (when (fboundp 'run-geiser)
 
                                  (wg-dbind (impl) vars
 
                                    (run-geiser impl)
 
                                    (goto-char (point-max))))
 
                                (switch-to-buffer (wg-buf-name buffer))))))
 

	
 
;; w3m-mode
 
(wg-support 'w3m-mode 'w3m
 
            `((save . (w3m-current-url))
 
              (deserialize . ,(lambda (buffer vars)
 
                                (wg-dbind (url) vars
 
                                  (w3m-goto-url url))))))
 

	
 
;; notmuch
 
(wg-support 'notmuch-hello-mode 'notmuch
 
            `((deserialize . ,(lambda (buffer vars) (notmuch)))))
 
            `((deserialize . ,(lambda (buffer vars)
 
                                (notmuch)
 
                                (get-buffer (wg-buf-name buffer))))))
 

	
 
;; Wanderlust modes:
 
;; WL - folders
 
;;(defun wg-deserialize-wl-folders-buffer (buf)
 
;;  ""
 
;;  (if (fboundp 'wl)
 
;;      (wg-dbind (this-function) (wg-buf-special-data buf)
 
;;        ;;(when (not (eq major-mode 'wl-folder-mode))
 
;;        (wl)
 
;;        (goto-char (point-max))
 
;;        (current-buffer)
 
;;        )))
 
;;
 
;;(defun wg-serialize-wl-folders-buffer (buffer)
 
;;  ""
 
;;  (if (fboundp 'wl)
 
;;      (with-current-buffer buffer
 
;;        (when (eq major-mode 'wl-folder-mode)
 
;;          (list 'wg-deserialize-wl-folders-buffer
 
;;                )))))
 

	
 
;; WL - summary mode (list of mails)
 
;;(defun wg-deserialize-wl-summary-buffer (buf)
 
;;  ""
 
;;  (interactive)
 
;;  (if (fboundp 'wl)
 
;;      (wg-dbind (this-function param-list) (wg-buf-special-data buf)
 
;;        (when (not (eq major-mode 'wl-summary-mode))
 
;;          (let ((fld-name (car param-list)))
 
;;            ;;(switch-to-buffer "*scratch*")
 
;;            ;;(wl)
 
;;            ;;(wl-folder-jump-folder fld-name)
 
;;            ;;(message fld-name)
 
;;            ;;(goto-char (point-max))
 
;;            ;;(insert fld-name)
 
;;            (current-buffer)
 
;;          )))))
 
;;
 
;;(defun wg-serialize-wl-summary-buffer (buffer)
 
;;  ""
 
;;  (if (fboundp 'wl)
 
;;      (with-current-buffer buffer
 
;;        (when (eq major-mode 'wl-summary-mode)
 
;;          (list 'wg-deserialize-wl-summary-buffer
 
;;                (wg-take-until-unreadable (list wl-summary-buffer-folder-name))
 
;;                )))))
 
;;
 
;;
0 comments (0 inline, 0 general)