mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-10 11:13:04 +03:00
63 lines
2.1 KiB
EmacsLisp
63 lines
2.1 KiB
EmacsLisp
;;; -*- lexical-binding: t -*-
|
|
(use-package gnus
|
|
:straight t
|
|
:init
|
|
(my-leader-def "au" #'gnus)
|
|
:commands (gnus)
|
|
:config
|
|
(my/persp-add-rule
|
|
gnus-summary-mode 0 "gnus"
|
|
;; gnus-article-edit-mode 0 "gnus"
|
|
gnus-browse-mode 0 "gnus"
|
|
gnus-server-mode 0 "gnus"
|
|
gnus-article-mode 0 "gnus"
|
|
gnus-group-mode 0 "gnus"
|
|
gnus-category-mode 0 "gnus")
|
|
(let ((gnus-directory (concat user-emacs-directory "gnus")))
|
|
(unless (file-directory-p gnus-directory)
|
|
(make-directory gnus-directory))
|
|
(setq gnus-dribble-directory (concat gnus-directory "/dribble"))
|
|
(setq gnus-init-file (concat gnus-directory "/gnus.el"))
|
|
(setq gnus-startup-file (concat gnus-directory "/newsrc")))
|
|
;; Sources
|
|
(setq gnus-select-method '(nntp "news.gwene.org"))
|
|
;; Dribble
|
|
(setq gnus-always-read-dribble-file t)
|
|
;; Agent
|
|
(setq gnus-agent-article-alist-save-format 1)
|
|
(setq gnus-agent-cache t))
|
|
|
|
(defun my/gnus-topic-toggle-topic ()
|
|
(interactive "" gnus-topic-mode)
|
|
(when (gnus-group-topic-p)
|
|
(let ((topic (gnus-topic-find-topology (gnus-current-topic))))
|
|
(if (eq (cadadr topic) 'visible)
|
|
(progn
|
|
(gnus-topic-goto-topic (gnus-current-topic))
|
|
(gnus-topic-remove-topic nil nil))
|
|
(gnus-topic-remove-topic t nil)))))
|
|
|
|
(with-eval-after-load 'gnus-group
|
|
;; Group
|
|
(add-hook 'gnus-group-mode-hook #'gnus-topic-mode)
|
|
(general-define-key
|
|
:states '(normal)
|
|
:keymaps '(gnus-group-mode-map)
|
|
"a" #'gnus-group-toggle-subscription-at-point)
|
|
(general-define-key
|
|
:states '(normal)
|
|
:keymaps '(gnus-topic-mode-map)
|
|
"TAB" #'my/gnus-topic-toggle-topic
|
|
"r" #'gnus-topic-catchup-articles))
|
|
|
|
(with-eval-after-load 'gnus-summary
|
|
(setq gnus-summary-line-format "%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n")
|
|
(setq gnus-sum-thread-tree-false-root "> ")
|
|
(setq gnus-sum-thread-tree-indent " ")
|
|
(setq gnus-sum-thread-tree-single-indent " ")
|
|
(setq gnus-sum-thread-tree-leaf-with-other "+-> ")
|
|
(setq gnus-sum-thread-tree-root "> ")
|
|
(setq gnus-sum-thread-tree-single-leaf "\\-> ")
|
|
(setq gnus-sum-thread-tree-vertical "| "))
|
|
|
|
(provide 'sqrt-gnus)
|