- (define-key-after
- (lookup-key global-map [menu-bar])
- [offline]
- (cons "Offline" (make-sparse-keymap "Offline"))
- 'help) ;; Actually this adds before "Help".
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-toggle-movemail-program]
- '("Toggle movemail program" . gnus-offline-toggle-movemail-program))
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-toggle-articles-to-fetch]
- '("Toggle articles to fetch" . gnus-offline-toggle-articles-to-fetch))
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-toggle-on/off-send-mail]
- '("Toggle online/offline send mail" . gnus-offline-toggle-on/off-send-mail))
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-toggle-auto-hangup]
- '("Toggle auto hang up" . gnus-offline-toggle-auto-hangup))
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-separator]
- '("--"))
-
- (if (eq gnus-offline-news-fetch-method 'nnagent)
- (progn
- (global-set-key
- [menu-bar
- offline
- gnus-offline-agent-expire]
- '("Expire articles" . gnus-offline-agent-expire))))
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-set-interval-time]
- '("Set interval time." . gnus-offline-set-interval-time))
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-hup-separator]
- '("--"))
-
- (global-set-key
- [menu-bar
- offline
- gnus-offline-set-unplugged-state]
- '("Hang Up Line." . gnus-offline-set-unplugged-state)))
+ (easy-menu-define
+ gnus-offline-menu-on-agent
+ gnus-group-mode-map
+ "Gnus offline Menu"
+ (if (featurep 'meadow)
+ '("Offline"
+ ["movemail \e$B$N@ZBX$(\e(B" gnus-offline-toggle-movemail-program t]
+ ["\e$B<hF@5-;v<oN`$NJQ99\e(B" gnus-offline-toggle-articles-to-fetch t]
+ ["Mail \e$BAw?.J}K!\e(B(On/Off)\e$B$N@ZBX$(\e(B" gnus-offline-toggle-on/off-send-mail t]
+ ["\e$B<+F0@ZCG$N@ZBX$(\e(B" gnus-offline-toggle-auto-hangup t]
+ "----"
+ ["\e$B<hF@:Q5-;v$r>C$9\e(B" gnus-offline-agent-expire (eq gnus-offline-news-fetch-method 'nnagent)]
+ ["\e$B5-;v<hF@4V3V;~4V$N@_Dj\e(B" gnus-offline-set-interval-time t]
+ "----"
+ ["\e$B2s@~$N@ZCG\e(B" gnus-offline-set-unplugged-state gnus-offline-connected])
+ '("Offline"
+ ["Toggle movemail program" gnus-offline-toggle-movemail-program t]
+ ["Toggle articles to fetch" gnus-offline-toggle-articles-to-fetch t]
+ ["Toggle online/offline send mail" gnus-offline-toggle-on/off-send-mail t]
+ ["Toggle auto hangup" gnus-offline-toggle-auto-hangup t]
+ "----"
+ ["Expire articles" gnus-offline-agent-expire (eq gnus-offline-news-fetch-method 'nnagent)]
+ ["Set interval time" gnus-offline-set-interval-time t]
+ "----"
+ ["Hang up Line." gnus-offline-set-unplugged-state gnus-offline-connected])))
+ (and (featurep 'xemacs)
+ (easy-menu-add gnus-offline-menu-on-agent)))
+;;
+;; Popup menu within the group buffer (under Emacs).
+;;
+(defun gnus-offline-popup-menu (event)
+ "Popup menu for Gnus offline."
+ (interactive "e")
+ (let* ((menu (if (boundp 'miee-popup-menu)
+ (or (assoc 'keymap
+ (assoc 'Miee (assoc 'menu-bar global-map)))
+ miee-popup-menu)
+ gnus-offline-menu-on-agent))
+ (pop (x-popup-menu t menu))
+ (func (and pop (lookup-key menu (apply 'vector pop)))))
+ (and pop func (funcall func))))