summaryrefslogtreecommitdiffhomepage
path: root/attic/misc.el
diff options
context:
space:
mode:
Diffstat (limited to 'attic/misc.el')
-rw-r--r--attic/misc.el47
1 files changed, 44 insertions, 3 deletions
diff --git a/attic/misc.el b/attic/misc.el
index a872ce7..e394490 100644
--- a/attic/misc.el
+++ b/attic/misc.el
@@ -1,4 +1,4 @@
-;;;; ace window
+;;; ace window
(use-package ace-window
:ensure t
:demand t
@@ -27,7 +27,7 @@
("M-O" . ace-swap-window)
("C-x 4 t" . ace-swap-window)))
-;;;; sway
+;;; sway
(defun jao-swaymsg (msg)
(shell-command (format "swaymsg '%s' >/dev/null" msg)))
@@ -76,7 +76,7 @@
(defalias 'x-change-window-property #'ignore)
(add-hook 'after-init-hook #'jao-sway-enable))
-;;;; time display
+;;; time display
(setq display-time-world-list
'(("Europe/Paris" "Barcelona")
("America/Los_Angeles" "Los Angeles")
@@ -122,3 +122,44 @@
(message "%s = %s" v
(format-time-string "%Y-%m-%d %H:%M:%S"
(seconds-to-time (/ v 1000.0))))))
+;;; gnus bits
+
+(jao-transient-major-mode gnus-group
+ ["Search"
+ ("zc" "consult search" consult-notmuch)
+ ("zf" "consult folder search" jao-consult-notmuch-folder)
+ ("g" "gnus search" gnus-group-read-ephemeral-search-group)])
+
+(defun jao-gnus-restart-servers ()
+ (interactive)
+ (message "Restarting all servers...")
+ (gnus-group-enter-server-mode)
+ (gnus-server-close-all-servers)
+ (gnus-server-open-all-servers)
+ (gnus-server-exit)
+ (message "Restarting all servers... done"))
+
+;;;; delayed expiry
+(defvar jao-gnus--expire-every 50)
+(defvar jao-gnus--get-count (1+ jao-gnus--expire-every))
+
+(defun jao-gnus-get-new-news (&optional arg)
+ (interactive "p")
+ (when (and jao-gnus--expire-every
+ (> jao-gnus--get-count jao-gnus--expire-every))
+ (when jao-gnus-use-pm-imap (gnus-group-catchup "nnimap:pm/spam" t))
+ (gnus-group-expire-all-groups)
+ (setq jao-gnus--get-count 0))
+ (setq jao-gnus--get-count (1+ jao-gnus--get-count))
+ (gnus-group-get-new-news (max (if (= 1 jao-gnus--get-count) 4 3)
+ (or arg 0))))
+
+(define-key gnus-group-mode-map "g" 'jao-gnus-get-new-news)
+(define-key gnus-group-mode-map "\C-x\C-s" #'gnus-group-save-newsrc)
+
+(defun jao-gnus--first-group ()
+ (when (derived-mode-p 'gnus-group-mode)
+ (gnus-group-first-unread-group)))
+
+(with-eval-after-load "jao-afio"
+ (add-hook 'jao-afio-switch-hook #'jao-gnus--first-group))