1 ;;; gnus-ofsetup.el --- Setup advisor for Offline reading for Mail/News.
2 ;;; $Id: gnus-ofsetup.el,v 1.1.2.1 1998-11-09 14:44:07 ichikawa Exp $
6 (defvar gnus-offline-setting-file "~/.gnus-offline.el")
7 (defvar gnus-offline-use-miee nil)
9 ;;; To silence byte compiler
11 (fboundp 'eval-when-compile)
15 (eval-region (point-min) (point)))
16 (let (case-fold-search)
20 (unless (boundp symbol)
21 (make-local-variable symbol)
22 (eval (list 'setq symbol nil)))))
25 sendmail-to-spool-directory
26 news-spool-request-post-directory
34 gnus-agent-handle-level
36 (make-local-variable 'byte-compile-warnings)
37 (setq byte-compile-warnings nil))))
39 (defun gnus-setup-for-offline ()
40 "*Set up Gnus for offline environment."
43 (if (not (file-exists-p gnus-offline-setting-file))
47 "Select method for offline News reading: "
48 '(("gnus-agent" 1) ("nnspool" 2))
52 (y-or-n-p "Use MIEE post/send message "))
54 (read-from-minibuffer "Dialup/Hangup program: "))
57 "Select MTA type for sending mail: "
58 '(("smtp" 1) ("sendmail" 2))
61 (if (equal news-method "gnus-agent")
62 (setq gnus-offline-news-fetch-method 'nnagent)
63 (setq gnus-offline-news-fetch-method 'nnspool))
64 (setq gnus-offline-mail-fetch-method mail-method)
65 (setq gnus-offline-use-miee use-miee)
66 (setq gnus-offline-hangup-program program)
67 (setq gnus-offline-dialup-program program)
72 (read-from-minibuffer "News spool directory for sending: "))
74 (read-from-minibuffer "Mail spool directory for sending: ")))
75 (setq gnus-offline-mail-spool-directory mail-spool)
76 (setq gnus-offline-news-spool-directory news-spool)
77 (setq gnus-offline-drafts-queue-type 'miee)))
78 ;; Setting for gnus-agent.
79 (setq gnus-offline-drafts-queue-type 'agent)
80 (let ((agent-directory
81 (read-from-minibuffer "Agent directory: " "~/News/agent")))
82 (setq gnus-agent-directory agent-directory)))
83 (if (equal mta-type "smtp")
84 (setq gnus-offline-MTA-type 'smtp)
85 (setq gnus-offline-MTA-type 'sendmail)
88 ;; Set offline news posting function and post directory using MIEE.
89 (if gnus-offline-use-miee
93 ;; Set news post function for MIEE.
94 (setq message-send-news-function 'gnspool-request-post)
96 ;; Spool directory setting - MIEE.
97 (if (not (file-exists-p gnus-offline-mail-spool-directory))
98 (make-directory gnus-offline-mail-spool-directory t))
99 (setq sendmail-to-spool-directory gnus-offline-mail-spool-directory)
100 (if (not (file-exists-p gnus-offline-news-spool-directory))
101 (make-directory gnus-offline-news-spool-directory t))
102 (setq news-spool-request-post-directory gnus-offline-news-spool-directory)))
105 ;; Write to setting file.
106 (setq tmp-buffer (get-buffer-create "* Setting"))
107 (set-buffer "* Setting")
110 (insert ";; This file is created by gnus-ofsetup.el\n")
111 (insert ";; Creation date : ")
112 (insert (current-time-string))
115 (insert "(setq gnus-offline-news-fetch-method '")
116 (insert (prin1-to-string gnus-offline-news-fetch-method))
118 (insert "(setq gnus-offline-mail-fetch-method '")
119 (insert (prin1-to-string gnus-offline-mail-fetch-method))
121 (insert "(setq gnus-offline-use-miee ")
122 (insert (prin1-to-string gnus-offline-use-miee))
124 (insert "(setq gnus-offline-dialup-program ")
125 (insert (prin1-to-string gnus-offline-dialup-program))
127 (insert "(setq gnus-offline-hangup-program ")
128 (insert (prin1-to-string gnus-offline-hangup-program))
130 (if gnus-offline-use-miee
132 (insert "(setq gnus-offline-mail-spool-directory ")
133 (insert (prin1-to-string gnus-offline-mail-spool-directory))
135 (insert "(setq gnus-offline-news-spool-directory ")
136 (insert (prin1-to-string gnus-offline-news-spool-directory))
138 (insert "(load \"miee\")\n")
139 (insert "(message-offline-state)\n"))
140 (insert "(setq gnus-agent-directory ")
141 (insert (prin1-to-string gnus-agent-directory))
143 (insert "(setq gnus-offline-drafts-queue-type '")
144 (insert (prin1-to-string gnus-offline-drafts-queue-type))
146 (insert "(setq gnus-offline-MTA-type '")
147 (insert (prin1-to-string gnus-offline-MTA-type))
149 (insert "(setq gnus-nntp-service nil)\n")
150 (insert "(setq gnus-nntp-server nil)\n")
151 (insert "(setq nnmail-spool-file nil)\n")
152 (insert "(add-hook 'gnus-group-mode-hook 'gnus-offline-processed-by-timer)\n")
153 (insert "(add-hook 'gnus-after-getting-new-news-hook 'gnus-offline-after-get-new-news)\n")
154 (insert "(add-hook 'gnus-after-getting-news-hook 'gnus-offline-after-get-new-news)\n")
155 (if (eq gnus-offline-news-fetch-method 'nnspool)
156 (insert "(add-hook 'after-getting-news-hook 'gnus-offline-nnspool-hangup-line)\n"))
157 (insert "(add-hook 'message-send-hook 'gnus-offline-message-add-header)\n")
158 (insert "(require 'pop3-fma)\n")
159 (insert "(add-hook 'message-send-hook 'pop3-fma-message-add-header)\n")
160 (insert "(autoload 'gnus-offline-setup \"gnus-offline\")\n")
161 (insert "(add-hook 'gnus-load-hook 'gnus-offline-setup)\n")
162 (write-region (point-min) (point-max) gnus-offline-setting-file)
163 (kill-buffer "* Setting"))
165 (load gnus-offline-setting-file)