diff options
author | jao <jao@gnu.org> | 2025-10-06 18:52:27 +0100 |
---|---|---|
committer | jao <jao@gnu.org> | 2025-10-06 18:52:52 +0100 |
commit | d5056c83de34fadd4ee8438240d6a115c5377877 (patch) | |
tree | b7874f3894abdde1a865f122038c9888a8cb6f7e | |
parent | a8966ff200e963ce40d5e3234e8f9a203f45a421 (diff) | |
download | elibs-d5056c83de34fadd4ee8438240d6a115c5377877.tar.gz elibs-d5056c83de34fadd4ee8438240d6a115c5377877.tar.bz2 |
mac navigation
-rw-r--r-- | custom/jao-custom-gnus.el | 13 | ||||
-rw-r--r-- | init.el | 67 | ||||
-rw-r--r-- | lib/doc/jao-mac.el | 4 |
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)) @@ -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")) |