summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2025-10-06 18:52:27 +0100
committerjao <jao@gnu.org>2025-10-06 18:52:52 +0100
commitd5056c83de34fadd4ee8438240d6a115c5377877 (patch)
treeb7874f3894abdde1a865f122038c9888a8cb6f7e
parenta8966ff200e963ce40d5e3234e8f9a203f45a421 (diff)
downloadelibs-d5056c83de34fadd4ee8438240d6a115c5377877.tar.gz
elibs-d5056c83de34fadd4ee8438240d6a115c5377877.tar.bz2
mac navigation
-rw-r--r--custom/jao-custom-gnus.el13
-rw-r--r--init.el67
-rw-r--r--lib/doc/jao-mac.el4
3 files changed, 54 insertions, 30 deletions
diff --git a/custom/jao-custom-gnus.el b/custom/jao-custom-gnus.el
index 125b4ca..e62b249 100644
--- a/custom/jao-custom-gnus.el
+++ b/custom/jao-custom-gnus.el
@@ -683,6 +683,11 @@
gnus-newsrc-alist
()))
+(defun jao-gnus-unread-count ()
+ (seq-reduce (lambda (c g) (+ c (or (gnus-group-unread (car g)) 0)))
+ gnus-newsrc-alist
+ 0))
+
(defun jao-gnus--unread-label (counts rx label face)
(let ((n (seq-reduce (lambda (n c)
(if (string-match-p rx (car c)) (+ n (cdr c)) n))
@@ -697,6 +702,11 @@
(when-let* ((n (jao-nnw-unread-count)))
(when (> n 0) (list (format "(%s)" n))))))
+(defun jao-gnus-xbar ()
+ (let ((n (jao-gnus-unread-count)))
+ (concat (if (> n 0) (format "%s " n) "")
+ (or (car (jao-gnus--nnw-count)) ""))))
+
(defun jao-gnus--notify-strs ()
(let ((counts (jao-gnus--unread-counts)))
(append
@@ -827,3 +837,6 @@
(define-key gnus-summary-mode-map "e" 'jao-gnus-open-enclosure)
(define-key gnus-summary-mode-map "\C-l" nil)
(define-key gnus-group-mode-map "a" 'jao-gnus-refresh-workspace)
+
+(jao-when-darwin
+ (define-key gnus-group-mode-map "O" 'jao-mac-open-nnw))
diff --git a/init.el b/init.el
index 55e60d0..509dbeb 100644
--- a/init.el
+++ b/init.el
@@ -1796,36 +1796,43 @@
(jao-def-exec-in-term "htop" "htop" (jao-afio-goto-scratch))
(jao-d-l
-
- (transient-define-prefix jao-transient-utils ()
- "Global operations."
- [["Notes"
- ("n" "create new note" jao-org-notes-create)
- ("/" "open note" jao-org-notes-open)
- ("\\" "open note by tags" jao-org-notes-consult-tags)
- ("g" "ripgrep notes" jao-org-notes-consult-ripgrep)]
- ["Documents"
- ("d" "go to doc" jao-select-pdf)
- ("o" "open doc" jao-open-doc)
- ("c" "view cache" doc-view-dired-cache)]
- ["External"
- ("xn" "browse NNW article" jao-nnw-browse-current-article)
- ("xs" "browse safary article" jao-safari-browse-current)
- ("xk" "open skim doc" jao-skim-open-current-doc)]
- ["Blog"
- ("bn" "create post" jao-org-static-blog-create-new-post)
- ("bd" "create draft" jao-org-static-blog-create-new-draft)
- ("be" "edit draft" jao-org-static-blog-edit-draft)]
- ["Afio"
- ("g" "mail" jao-afio-goto-mail)
- ("z" "docs" jao-afio-goto-docs)
- ("w" "wwww" jao-afio-goto-www)
- ("f" "main" jao-afio-goto-main)]
- ["Utilities"
- ("s" "ssh" jao-ssh)
- ("l" "packages" jao-list-packages)
- ("p" "passwords" password-store-menu)
- ("f" "copy buffer file name" copy-buffer-file-name-as-kill)]])
+ (progn
+ (defun jao-open-firefox () (interactive) (jao-mac-open "-a Firefox"))
+ (defun jao-open-nnw () (interactive) (jao-mac-open "-a NetNewsWire"))
+ (defun jao-open-telegram () (interactive) (jao-mac-open "-a Telegram"))
+ (global-set-key (kbd "s-f") #'jao-open-firefox)
+ (global-set-key (kbd "s-n") #'jao-open-nnw)
+ (global-set-key (kbd "s-t") #'jao-open-telegram)
+
+ (transient-define-prefix jao-transient-utils ()
+ "Global operations."
+ [["Notes"
+ ("n" "create new note" jao-org-notes-create)
+ ("/" "open note" jao-org-notes-open)
+ ("\\" "open note by tags" jao-org-notes-consult-tags)
+ ("g" "ripgrep notes" jao-org-notes-consult-ripgrep)]
+ ["Documents"
+ ("d" "go to doc" jao-select-pdf)
+ ("o" "open doc" jao-open-doc)
+ ("c" "view cache" doc-view-dired-cache)]
+ ["External"
+ ("xn" "browse NNW article" jao-nnw-browse-current-article)
+ ("xs" "browse safary article" jao-safari-browse-current)
+ ("xk" "open skim doc" jao-skim-open-current-doc)]
+ ["Blog"
+ ("bn" "create post" jao-org-static-blog-create-new-post)
+ ("bd" "create draft" jao-org-static-blog-create-new-draft)
+ ("be" "edit draft" jao-org-static-blog-edit-draft)]
+ ["Afio"
+ ("g" "mail" jao-afio-goto-mail)
+ ("z" "docs" jao-afio-goto-docs)
+ ("w" "wwww" jao-afio-goto-www)
+ ("f" "main" jao-afio-goto-main)]
+ ["Utilities"
+ ("s" "ssh" jao-ssh)
+ ("l" "packages" jao-list-packages)
+ ("p" "passwords" password-store-menu)
+ ("F" "copy buffer file name" copy-buffer-file-name-as-kill)]]))
(transient-define-prefix jao-transient-utils ()
"Global operations."
diff --git a/lib/doc/jao-mac.el b/lib/doc/jao-mac.el
index 822cdb0..855a91b 100644
--- a/lib/doc/jao-mac.el
+++ b/lib/doc/jao-mac.el
@@ -139,6 +139,10 @@
(when (string-match ".*=\"\\([0-9]+\\)\" ." s)
(string-to-number (match-string 1 s)))))
+(defun jao-mac-open-nnw ()
+ (interactive)
+ (jao-mac-open "-a NetNewsWire"))
+
;;; Safari
(defun jao-safari-current-url ()
(jao-mac-tell-app "Safari" "return URL of current tab of window 1"))