diff options
-rw-r--r-- | lisp/mastodon-profile.el | 13 | ||||
-rw-r--r-- | lisp/mastodon-tl.el | 16 |
2 files changed, 25 insertions, 4 deletions
diff --git a/lisp/mastodon-profile.el b/lisp/mastodon-profile.el index 5811a4a..d632e5e 100644 --- a/lisp/mastodon-profile.el +++ b/lisp/mastodon-profile.el @@ -57,6 +57,8 @@ (autoload 'mastodon-tl--init "mastodon-tl.el") (autoload 'mastodon-http--patch "mastodon-http") (autoload 'mastodon-http--patch-json "mastodon-http") +(autoload 'mastodon-notifications--follow-request-reject "mastodon-notifications") +(autoload 'mastodon-notifications--follow-request-accept "mastodon-notifications") (defvar mastodon-instance-url) (defvar mastodon-tl--buffer-spec) @@ -72,6 +74,17 @@ map) "Keymap for `mastodon-profile-mode'.") +(defvar mastodon-profile--view-follow-requests-keymap + (let ((map (make-sparse-keymap))) + (define-key map (kbd "r") #'mastodon-notifications--follow-request-reject) + (define-key map (kbd "a") #'mastodon-notifications--follow-request-accept) + ;; (define-key map (kbd "g") 'mastodon-notifications--view-follow-requests + ;; (define-key map (kbd "t") #'mastodon-toot) + (define-key map (kbd "q") #'kill-current-buffer) + (define-key map (kbd "Q") #'kill-buffer-and-window) + map) + "Keymap for viewing follow requests.") + (define-minor-mode mastodon-profile-mode "Toggle mastodon profile minor mode. diff --git a/lisp/mastodon-tl.el b/lisp/mastodon-tl.el index 0423e2e..9016433 100644 --- a/lisp/mastodon-tl.el +++ b/lisp/mastodon-tl.el @@ -1582,10 +1582,10 @@ JSON is the data returned from the server." mastodon-tl--timestamp-next-update (time-add (current-time) (seconds-to-time 300))) (funcall update-function json)) - (mastodon-tl--goto-next-toot) (mastodon-mode) (when (equal endpoint "follow_requests") - (mastodon-profile-mode)) + (mastodon-profile-mode) + (use-local-map mastodon-profile--view-follow-requests-keymap)) (with-current-buffer buffer (setq mastodon-tl--buffer-spec `(buffer-name ,buffer @@ -1599,7 +1599,11 @@ JSON is the data returned from the server." nil ;; don't repeat #'mastodon-tl--update-timestamps-callback (current-buffer) - nil))))) + nil))) + (when (or (equal endpoint "notifications") + (string-prefix-p "timelines" endpoint) + (string-prefix-p "statuses" endpoint)) + (mastodon-tl--goto-next-toot)))) (defun mastodon-tl--init-sync (buffer-name endpoint update-function) "Initialize BUFFER-NAME with timeline targeted by ENDPOINT. @@ -1631,7 +1635,11 @@ Runs synchronously." nil ;; don't repeat #'mastodon-tl--update-timestamps-callback (current-buffer) - nil)))) + nil))) + (when (or (equal endpoint "notifications") + (string-prefix-p "timelines" endpoint) + (string-prefix-p "statuses" endpoint)) + (mastodon-tl--goto-next-toot))) buffer)) (provide 'mastodon-tl) |