(require 'super) (require 'gnus-sum) (require 'message-my) (require 'group) (require 'scroll) (setq gnus-auto-select-first t) (defun gnus-summary-insert-all (&rest unused) (gnus-summary-insert-old-articles t) ) (advice-add 'gnus-summary-limit-to-subject :before #'gnus-summary-insert-all) (advice-add 'gnus-summary-limit-to-author :before #'gnus-summary-insert-all) ;; (advice-remove 'gnus-summary-limit-to-subject #'gnus-summary-insert-all) ;; (advice-remove 'gnus-summary-limit-to-author #'gnus-summary-insert-all) (defun gnus-summary-mark-article-for-blogomatic () (interactive) (let ((blogomatic-mark ?B) (article-mark (char-after (point-at-bol))) ) (if (= blogomatic-mark article-mark) (gnus-summary-mark-article nil gnus-del-mark) (gnus-summary-mark-article nil blogomatic-mark) )) (forward-line 1) ) ;; (setq gnus-summary-prepared-hook nil) (defun gnus-summary-prepared-hook-f () (goto-char (point-max)) (forward-line -1) ) (setq gnus-summary-prepared-hook #'gnus-summary-prepared-hook-f) ;; from these, show the "To" header instead of the "From" (setq gnus-ignored-from-addresses message-dont-reply-to-names) ;; new face (defcustom gnus-face-5 'gnus-summary-group-empty "The \"%5{hello%}\" face." :group 'gnus-format :type 'face) ;; article line (setq gnus-face-3 'gnus-summary-normal-read) (setq gnus-summary-line-format "%*%U%3{%R%} %I%{%f%} %1{%s%}\n") ;; mode line (setq gnus-summary-mode-line-format "%G") (let ((the-map gnus-summary-mode-map)) (disable-super-global-keys the-map) (set-vertical-keys the-map) ;; group (define-key the-map "w" #'gnus-summary-exit-and-update-group) (define-key the-map "o" #'gnus-summary-insert-old-articles) ;; message (define-key the-map "d" #'gnus-summary-delete-article) (define-key the-map "r" #'gnus-summary-followup-with-original) (define-key the-map "\r" #'gnus-summary-show-article) ;; mark (define-key the-map "s" #'gnus-summary-mark-as-read-forward) (define-key the-map "l" #'gnus-summary-put-mark-as-unread-next) (define-key the-map "b" #'gnus-summary-mark-article-for-blogomatic) ) (defun gnus-summary-exit-and-update-group () (interactive) (kill-buffer) (gnus-summary-save-newsrc) (gnus-group-refresh) ) (defun gnus-summary-do-mark-region (char) (interactive "c mark: ") (save-excursion (let ((start (region-beginning)) (end (region-end)) ) (goto-char start) (beginning-of-line) (while (< (point) end) (gnus-summary-mark-article (gnus-summary-article-number) char) (gnus-summary-find-next) )))) (defun gnus-summary-mark-region () (interactive) (when mark-active (call-interactively #'gnus-summary-do-mark-region) )) (provide 'summary)