+
+;; newsticker menu
+(defvar newsticker-menu
+ (let ((map (make-sparse-keymap "Newsticker")))
+
+ (define-key map [newsticker-browse-url]
+ '("Browse URL for item at point" . newsticker-browse-url))
+ (define-key map [newsticker-separator-1]
+ '("--"))
+ (define-key map [newsticker-buffer-update]
+ '("Update buffer" . newsticker-buffer-update))
+ (define-key map [newsticker-separator-2]
+ '("--"))
+ (define-key map [newsticker-get-all-news]
+ '("Get news from all feeds" . newsticker-get-all-news))
+ (define-key map [newsticker-get-news-at-point]
+ '("Get news from feed at point" . newsticker-get-news-at-point))
+ (define-key map [newsticker-separator-3]
+ '("--"))
+ (define-key map [newsticker-mark-all-items-as-read]
+ '("Mark all items as read" . newsticker-mark-all-items-as-read))
+ (define-key map [newsticker-mark-all-items-at-point-as-read]
+ '("Mark all items in feed at point as read" .
+ newsticker-mark-all-items-at-point-as-read))
+ (define-key map [newsticker-mark-item-at-point-as-read]
+ '("Mark item at point as read" .
+ newsticker-mark-item-at-point-as-read))
+ (define-key map [newsticker-mark-item-at-point-as-immortal]
+ '("Toggle immortality for item at point" .
+ newsticker-mark-item-at-point-as-immortal))
+ (define-key map [newsticker-separator-4]
+ '("--"))
+ (define-key map [newsticker-toggle-auto-narrow-to-item]
+ '("Narrow to single item" . newsticker-toggle-auto-narrow-to-item))
+ (define-key map [newsticker-toggle-auto-narrow-to-feed]
+ '("Narrow to single news feed" . newsticker-toggle-auto-narrow-to-feed))
+ (define-key map [newsticker-hide-old-items]
+ '("Hide old items" . newsticker-hide-old-items))
+ (define-key map [newsticker-show-old-items]
+ '("Show old items" . newsticker-show-old-items))
+ (define-key map [newsticker-next-item]
+ '("Go to next item" . newsticker-next-item))
+ (define-key map [newsticker-previous-item]
+ '("Go to previous item" . newsticker-previous-item))
+ map))
+
+(defvar newsticker-mode-map
+ (let ((map (make-keymap)))
+ (define-key map "sO" 'newsticker-show-old-items)
+ (define-key map "hO" 'newsticker-hide-old-items)
+ (define-key map "sa" 'newsticker-show-all-desc)
+ (define-key map "ha" 'newsticker-hide-all-desc)
+ (define-key map "sf" 'newsticker-show-feed-desc)
+ (define-key map "hf" 'newsticker-hide-feed-desc)
+ (define-key map "so" 'newsticker-show-old-item-desc)
+ (define-key map "ho" 'newsticker-hide-old-item-desc)
+ (define-key map "sn" 'newsticker-show-new-item-desc)
+ (define-key map "hn" 'newsticker-hide-new-item-desc)
+ (define-key map "se" 'newsticker-show-entry)
+ (define-key map "he" 'newsticker-hide-entry)
+ (define-key map "sx" 'newsticker-show-extra)
+ (define-key map "hx" 'newsticker-hide-extra)
+
+ (define-key map [?\S-\ ] 'scroll-down-command)
+ (define-key map " " 'scroll-up-command)
+ (define-key map "q" 'newsticker-close-buffer)
+ (define-key map "p" 'newsticker-previous-item)
+ (define-key map "P" 'newsticker-previous-new-item)
+ (define-key map "F" 'newsticker-previous-feed)
+ (define-key map "\t" 'newsticker-next-item)
+ (define-key map "n" 'newsticker-next-item)
+ (define-key map "N" 'newsticker-next-new-item)
+ (define-key map "f" 'newsticker-next-feed)
+ (define-key map "M" 'newsticker-mark-all-items-as-read)
+ (define-key map "m"
+ 'newsticker-mark-all-items-at-point-as-read-and-redraw)
+ (define-key map "o"
+ 'newsticker-mark-item-at-point-as-read)
+ (define-key map "O"
+ 'newsticker-mark-all-items-at-point-as-read)
+ (define-key map "G" 'newsticker-get-all-news)
+ (define-key map "g" 'newsticker-get-news-at-point)
+ (define-key map "u" 'newsticker-buffer-update)
+ (define-key map "U" 'newsticker-buffer-force-update)
+ (define-key map "a" 'newsticker-add-url)
+
+ (define-key map "i"
+ 'newsticker-mark-item-at-point-as-immortal)
+
+ (define-key map "xf"
+ 'newsticker-toggle-auto-narrow-to-feed)
+ (define-key map "xi"
+ 'newsticker-toggle-auto-narrow-to-item)
+
+ ;; Bind menu to mouse.
+ (define-key map [down-mouse-3] newsticker-menu)
+ ;; Put menu in menu-bar.
+ (define-key map [menu-bar Newsticker]
+ (cons "Newsticker" newsticker-menu))
+
+ map))
+