diff options
| author | marty hiatt <martianhiatus [a t] riseup [d o t] net> | 2022-11-26 16:39:57 +0100 | 
|---|---|---|
| committer | marty hiatt <martianhiatus [a t] riseup [d o t] net> | 2022-11-26 16:42:11 +0100 | 
| commit | 556a57c6e56e6c36145c14cab50f22775f7fbb95 (patch) | |
| tree | ac8f9d0a985f5d845e651f76d0615aea9c8a78d6 /lisp/mastodon.el | |
| parent | 92f59ff56bf9264b3b1981d3d32cf9172a490ef0 (diff) | |
| parent | 1f4870555241fcc55f6f2c2e2f6f64993ec2c3ad (diff) | |
Merge branch 'develop'
Diffstat (limited to 'lisp/mastodon.el')
| -rw-r--r-- | lisp/mastodon.el | 34 | 
1 files changed, 29 insertions, 5 deletions
| diff --git a/lisp/mastodon.el b/lisp/mastodon.el index 15718db..3e0d4e8 100644 --- a/lisp/mastodon.el +++ b/lisp/mastodon.el @@ -57,7 +57,6 @@  (autoload 'mastodon-tl--thread "mastodon-tl")  (autoload 'mastodon-tl--toggle-spoiler-text-in-toot "mastodon-tl")  (autoload 'mastodon-tl--update "mastodon-tl") -(autoload 'mastodon-notifications--get "mastodon-notifications")  (autoload 'mastodon-profile--get-toot-author "mastodon-profile")  (autoload 'mastodon-profile--make-author-buffer "mastodon-profile")  (autoload 'mastodon-profile--show-user "mastodon-profile") @@ -97,6 +96,10 @@  (autoload 'mastodon-tl--view-lists "mastodon-tl")  (autoload 'mastodon-toot--edit-toot-at-point "mastodon-toot")  (autoload 'mastodon-toot--view-toot-history "mastodon-tl") +(autoload 'mastodon-tl--init-sync "mastodon-tl") +(autoload 'mastodon-notifications--timeline "mastodon-notifications") + +(defvar mastodon-notifications--map)  (defgroup mastodon nil    "Interface with Mastodon." @@ -161,7 +164,7 @@ Use. e.g. \"%c\" for your locale's date and time format."      (define-key map (kbd "F") #'mastodon-tl--get-federated-timeline)      (define-key map (kbd "H") #'mastodon-tl--get-home-timeline)      (define-key map (kbd "L") #'mastodon-tl--get-local-timeline) -    (define-key map (kbd "N") #'mastodon-notifications--get) +    (define-key map (kbd "N") #'mastodon-notifications-get)      (define-key map (kbd "P") #'mastodon-profile--show-user)      (define-key map (kbd "T") #'mastodon-tl--thread)      ;; navigation out of mastodon @@ -172,11 +175,13 @@ Use. e.g. \"%c\" for your locale's date and time format."      (define-key map (kbd "c") #'mastodon-tl--toggle-spoiler-text-in-toot)      (define-key map (kbd "f") #'mastodon-toot--toggle-favourite)      (define-key map (kbd "r") #'mastodon-toot--reply) +    ;; this is now duplicated by 'g', cd remove/use for else:      (define-key map (kbd "u") #'mastodon-tl--update)      ;; new toot      (define-key map (kbd "t") #'mastodon-toot)      ;; override special mode binding      (define-key map (kbd "g") #'undefined) +    (define-key map (kbd "g") #'mastodon-tl--update)      ;; mousebot additions      (define-key map (kbd "W") #'mastodon-tl--follow-user)      (define-key map (kbd "C-S-W") #'mastodon-tl--unfollow-user) @@ -205,7 +210,6 @@ Use. e.g. \"%c\" for your locale's date and time format."      (when (require 'lingva nil :no-error)        (define-key map (kbd "s") #'mastodon-toot--translate-toot-text))      map) -    "Keymap for `mastodon-mode'.")  (defcustom mastodon-mode-hook nil @@ -268,6 +272,25 @@ If REPLY-JSON is the json of the toot being replied to."    (interactive)    (mastodon-toot--compose-buffer user reply-to-id reply-json)) +;;;###autoload +(defun mastodon-notifications-get (&optional type buffer-name) +  "Display NOTIFICATIONS in buffer. +Optionally only print notifications of type TYPE, a string. +BUFFER-NAME is added to \"*mastodon-\" to create the buffer name." +  (interactive) +  (let ((buffer (or (concat "*mastodon-" buffer-name "*") +                    "*mastodon-notifications*"))) +    (if (get-buffer buffer) +        (progn (switch-to-buffer buffer) +               (mastodon-tl--update)) +      (message "Loading your notifications...") +      (mastodon-tl--init-sync +       (or buffer-name "notifications") +       "notifications" +       'mastodon-notifications--timeline +       type) +      (use-local-map mastodon-notifications--map)))) +  ;; URL lookup: should be available even if `mastodon.el' not loaded:  ;;;###autoload @@ -291,8 +314,9 @@ not, just browse the URL in the normal fashion."          (browse-url query)        (message "Performing lookup...")        (let* ((url (format "%s/api/v2/search" mastodon-instance-url)) -             (param (concat "resolve=t")) ; webfinger -             (response (mastodon-http--get-search-json url query param :silent))) +             (params `(("q" . ,query) +                       ("resolve" . "t"))) ; webfinger +             (response (mastodon-http--get-json url params :silent)))          (cond ((not (seq-empty-p                       (alist-get 'statuses response)))                 (let* ((statuses (assoc 'statuses response)) | 
