;;; gnus.el -*- lexical-binding: t; -*- (defvar +gnus--wconf nil) (defvar +gnus-workspace-name "*gnus*") (setq gnus-startup-file "~/Sync/gnus/newsrc") (load! "gnus-article-treat-patch") (require 'gnus-article-treat-patch) (add-to-list 'gnus-article-patch-conditions "^@@ -[0-9]+,[0-9]+ \\+[0-9]+,[0-9]+ @@") (setq gnus-select-method '(nnnil "") gnus-secondary-select-methods '((nnmaildir "Maildir" (directory "/home/terin/.nnmaildir")))) (setq sendmail-program "msmtp" send-mail-function 'sendmail-send-it) (defun =gnus () "Activate `gnus' in its workspace." (interactive) (if (featurep! :ui workspaces) (progn (+workspace-switch +gnus-workspace-name t) (doom/switch-to-scratch-buffer) (gnus) (+workspace/display)) (setq +gnus--wconf (current-window-configuration)) (delete-other-windows) (switch-to-buffer (doom-fallback-buffer)) (gnus))) (defun +gnus-cleanup-h () "Cleanup after a gnus session." (interactive) (if (and (featurep! :ui workspaces) (+workspace-exists-p +gnus-workspace-name)) (+workspace/delete +gnus-workspace-name) (when (window-configuration-p +gnus--wconf) (set-window-configuration +gnus--wconf)) (setq +gnus--wconf nil) (previous-buffer))) (add-hook! 'gnus-exit-gnus-hook #'+gnus-cleanup-h)