aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/mastodon-profile.el13
-rw-r--r--lisp/mastodon-tl.el16
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)