diff options
author | marty hiatt <martianhiatus@riseup.net> | 2024-05-27 19:51:51 +0200 |
---|---|---|
committer | marty hiatt <martianhiatus@riseup.net> | 2024-05-27 19:51:51 +0200 |
commit | 476268af7d78d3136d6d6bf11856d0c0d6fd1c7a (patch) | |
tree | b4c4eace33d293f5f511280ee0a11005a80c4980 | |
parent | 49def07b3d9b6f0718ef9402a3808ca01557245e (diff) | |
parent | 4c3bdb30b8d0238e8b5900a42938d865e7dc407f (diff) |
Merge branch 'develop'
-rw-r--r-- | lisp/mastodon-http.el | 7 | ||||
-rw-r--r-- | lisp/mastodon-notifications.el | 58 | ||||
-rw-r--r-- | lisp/mastodon-tl.el | 132 | ||||
-rw-r--r-- | lisp/mastodon-toot.el | 12 | ||||
-rw-r--r-- | lisp/mastodon-views.el | 2 | ||||
-rw-r--r-- | lisp/mastodon.el | 2 | ||||
-rw-r--r-- | mastodon-index.org | 102 |
7 files changed, 214 insertions, 101 deletions
diff --git a/lisp/mastodon-http.el b/lisp/mastodon-http.el index 49c94a4..7ef6f77 100644 --- a/lisp/mastodon-http.el +++ b/lisp/mastodon-http.el @@ -47,10 +47,11 @@ (defconst mastodon-http--timeout 15 "HTTP request timeout, in seconds. Has no effect on Emacs < 26.1.") -(defun mastodon-http--api (endpoint) - "Return Mastodon API URL for ENDPOINT." +(defun mastodon-http--api (endpoint &optional version) + "Return Mastodon API URL for ENDPOINT. +Optionally specify VERSION in format vX." (concat mastodon-instance-url "/api/" - mastodon-http--api-version "/" endpoint)) + (or version mastodon-http--api-version) "/" endpoint)) (defun mastodon-http--api-search () "Return Mastodon API url for the /search endpoint (v2)." diff --git a/lisp/mastodon-notifications.el b/lisp/mastodon-notifications.el index 0e367c9..9b40861 100644 --- a/lisp/mastodon-notifications.el +++ b/lisp/mastodon-notifications.el @@ -53,6 +53,25 @@ (autoload 'mastodon-tl--update "mastodon-tl") (autoload 'mastodon-views--view-follow-requests "mastodon-views") +(defgroup mastodon-tl nil + "Nofications in mastodon.el." + :prefix "mastodon-notifications-" + :group 'mastodon) + +(defcustom mastodon-notifications--profile-note-in-foll-reqs t + "When non-nil, show some of a user's profile note in follow +request notifications." + :type '(boolean)) + +(defcustom mastodon-notifications--profile-note-in-foll-reqs-max-length nil + "The maximum character length for display of user profile note in +follow requests. +Profile notes are only displayed if +`mastodon-notifications--profile-note-in-foll-reqs' is non-nil. +If unset, profile notes of any size will be displayed, which may +make them unweildy." + :type '(integer)) + (defvar mastodon-tl--buffer-spec) (defvar mastodon-tl--display-media-p) @@ -186,9 +205,17 @@ Status notifications are given when (defun mastodon-notifications--format-note (note type) "Format for a NOTE of TYPE." - (let ((id (alist-get 'id note)) - (status (mastodon-tl--field 'status note)) - (follower (alist-get 'username (alist-get 'account note)))) + (let* ((id (alist-get 'id note)) + (profile-note + (when (equal 'follow-request type) + (let ((str (mastodon-tl--field + 'note + (mastodon-tl--field 'account note)))) + (if mastodon-notifications--profile-note-in-foll-reqs-max-length + (string-limit str mastodon-notifications--profile-note-in-foll-reqs-max-length) + str)))) + (status (mastodon-tl--field 'status note)) + (follower (alist-get 'username (alist-get 'account note)))) (mastodon-notifications--insert-status ;; toot (cond ((or (equal type 'follow) @@ -207,14 +234,25 @@ Status notifications are given when (let ((body (mastodon-tl--clean-tabs-and-nl (if (mastodon-tl--has-spoiler status) (mastodon-tl--spoiler status) - (mastodon-tl--content status))))) + (if (equal 'follow-request type) + (mastodon-tl--render-text profile-note) + (mastodon-tl--content status)))))) (cond ((or (eq type 'follow) (eq type 'follow-request)) - (propertize (if (equal type 'follow) - "Congratulations, you have a new follower!" - (format "You have a follow request from... %s" - follower)) - 'face 'default)) + (propertize + (if (equal type 'follow) + (propertize + "Congratulations, you have a new follower!" + 'face 'default) + (concat + (propertize + (format "You have a follow request from... %s" + follower) + 'face 'default) + (when mastodon-notifications--profile-note-in-foll-reqs + (concat + ":\n" + (mastodon-notifications--comment-note-text body))))))) ((or (eq type 'favourite) (eq type 'boost)) (mastodon-notifications--comment-note-text @@ -225,7 +263,7 @@ Status notifications are given when (equal type 'follow-request) (equal type 'mention)) 'mastodon-tl--byline-author - (lambda (_status) + (lambda (_status &rest args) ; unbreak stuff (mastodon-tl--byline-author note))) ;; action-byline (lambda (_status) diff --git a/lisp/mastodon-tl.el b/lisp/mastodon-tl.el index 6c444d4..db923a4 100644 --- a/lisp/mastodon-tl.el +++ b/lisp/mastodon-tl.el @@ -212,6 +212,10 @@ If nil, mastodon.el will instead call `shr-browse-image', which respects the user's `browse-url' settings." :type '(boolean)) +(defcustom mastodon-tl--remote-local-domains nil + "A list of domains to view the local timelines of using `mastodon-tl--get-remote-local-timeline'." + :type '(repeat string)) + ;;; VARIABLES @@ -463,6 +467,35 @@ With a single prefix ARG, hide replies." `(("limit" . ,mastodon-tl--timeline-posts-count)) (when (eq arg 4) t))) +(defun mastodon-tl--get-remote-local-timeline () + "Prompt for an instance domain and try to display its local timeline. +You can enter any working instance domain. Domains that you want +to regularly load can be stored in +`mastodon-tl--remote-local-domains' for easy access with completion. +Note that some instances do not make their local timelines public, in +which case this will not work." + (interactive) + (let* ((domain (completing-read "Domain for remote local tl: " + mastodon-tl--remote-local-domains)) + (params `(("limit" . ,mastodon-tl--timeline-posts-count) + ("local" . "true"))) + (buf (concat "remote-local-" domain)) + (known (member domain + (mastodon-http--get-json + (mastodon-http--api "instance/peers"))))) + ;; condition-case doesn't work here, so i added basic error handling to + ;; `mastodon-tl--init*' instead + (if (not known) + (when (y-or-n-p + "Domain appears unknown to your instance. Proceed?") + ;; TODO: refactor these calls: + (mastodon-tl--init buf + "timelines/public" 'mastodon-tl--timeline nil + params nil domain)) + (mastodon-tl--init buf + "timelines/public" 'mastodon-tl--timeline nil + params nil domain)))) + (defun mastodon-tl--get-local-timeline (&optional prefix) "Open local timeline. With a single PREFIX arg, hide-replies. @@ -520,9 +553,10 @@ Do so if type of status at poins is not follow_request/follow." (string= type "follow")) ; no counts for these (message "%s" (mastodon-tl--property 'help-echo :no-move)))))) -(defun mastodon-tl--byline-author (toot &optional avatar) +(defun mastodon-tl--byline-author (toot &optional avatar domain) "Propertize author of TOOT. -With arg AVATAR, include the account's avatar image." +With arg AVATAR, include the account's avatar image. +When DOMAIN, force inclusion of user's domain in their handle." (let-alist toot (concat ;; avatar insertion moved up to `mastodon-tl--byline' by default to be @@ -534,6 +568,7 @@ With arg AVATAR, include the account's avatar image." (image-type-available-p 'imagemagick) (image-transforms-p))) (mastodon-media--get-avatar-rendering .account.avatar)) + ;; username: (propertize (if (not (string-empty-p .account.display_name)) .account.display_name .account.username) @@ -549,8 +584,14 @@ With arg AVATAR, include the account's avatar image." (unless (or (string-suffix-p "-followers*" (buffer-name)) (string-suffix-p "-following*" (buffer-name))) (mastodon-tl--format-byline-help-echo toot))) + ;; handle: " (" - (propertize (concat "@" .account.acct) + (propertize (concat "@" .account.acct + (if domain + (concat "@" + (url-host + (url-generic-parse-url .account.url))) + "")) 'face 'mastodon-handle-face 'mouse-face 'highlight 'mastodon-tab-stop 'user-handle @@ -629,7 +670,7 @@ LETTER is a string, F for favourited, B for boosted, or K for bookmarked." 'help-echo (format "You have %s this status." help-string))))) -(defun mastodon-tl--byline (toot author-byline action-byline &optional detailed-p) +(defun mastodon-tl--byline (toot author-byline action-byline &optional detailed-p domain) "Generate byline for TOOT. AUTHOR-BYLINE is a function for adding the author portion of the byline that takes one variable. @@ -637,7 +678,8 @@ ACTION-BYLINE is a function for adding an action, such as boosting, favouriting and following to the byline. It also takes a single function. By default it is `mastodon-tl--byline-boosted'. DETAILED-P means display more detailed info. For now -this just means displaying toot client." +this just means displaying toot client. +When DOMAIN, force inclusion of user's domain in their handle." (let* ((created-time ;; bosts and faves in notifs view ;; (makes timestamps be for the original toot not the boost/fave): @@ -685,7 +727,7 @@ this just means displaying toot client." (concat ;; we propertize help-echo format faves for author name ;; in `mastodon-tl--byline-author' - (funcall author-byline toot) + (funcall author-byline toot nil domain) ;; visibility: (cond ((equal visibility "direct") (propertize (concat " " (mastodon-tl--symbol 'direct)) @@ -1413,7 +1455,7 @@ Runs `mastodon-tl--render-text' and fetches poll or media." (string= reply-to-id prev-id))) (defun mastodon-tl--insert-status (toot body author-byline action-byline - &optional id base-toot detailed-p thread) + &optional id base-toot detailed-p thread domain) "Display the content and byline of timeline element TOOT. BODY will form the section of the toot above the byline. AUTHOR-BYLINE is an optional function for adding the author @@ -1429,13 +1471,15 @@ status is a favourite or boost notification, BASE-TOOT is the JSON of the toot responded to. DETAILED-P means display more detailed info. For now this just means displaying toot client. -THREAD means the status will be displayed in a thread view." +THREAD means the status will be displayed in a thread view. +When DOMAIN, force inclusion of user's domain in their handle." (let* ((start-pos (point)) (reply-to-id (alist-get 'in_reply_to_id toot)) (after-reply-status-p (when (and thread reply-to-id) (mastodon-tl--after-reply-status reply-to-id))) (type (alist-get 'type toot))) + ;; body: (insert (propertize (concat @@ -1451,7 +1495,8 @@ THREAD means the status will be displayed in a thread view." 'wrap-prefix bar)) body) " \n" - (mastodon-tl--byline toot author-byline action-byline detailed-p)) + ;; byline: + (mastodon-tl--byline toot author-byline action-byline detailed-p domain)) 'item-type 'toot 'item-id (or id ; notification's own id (alist-get 'id toot)) ; toot id @@ -1528,25 +1573,27 @@ To disable showing the stats, customize (and (null (mastodon-tl--field 'in_reply_to_id toot)) (not (mastodon-tl--field 'rebloged toot)))) -(defun mastodon-tl--toot (toot &optional detailed-p thread) +(defun mastodon-tl--toot (toot &optional detailed-p thread domain) "Format TOOT and insert it into the buffer. DETAILED-P means display more detailed info. For now this just means displaying toot client. -THREAD means the status will be displayed in a thread view." +THREAD means the status will be displayed in a thread view. +When DOMAIN, force inclusion of user's domain in their handle." (mastodon-tl--insert-status toot (mastodon-tl--clean-tabs-and-nl (if (mastodon-tl--has-spoiler toot) (mastodon-tl--spoiler toot) (mastodon-tl--content toot))) 'mastodon-tl--byline-author 'mastodon-tl--byline-boosted - nil nil detailed-p thread)) + nil nil detailed-p thread domain)) -(defun mastodon-tl--timeline (toots &optional thread) +(defun mastodon-tl--timeline (toots &optional thread domain) "Display each toot in TOOTS. This function removes replies if user required. -THREAD means the status will be displayed in a thread view." +THREAD means the status will be displayed in a thread view. +When DOMAIN, force inclusion of user's domain in their handle." (mapc (lambda (toot) - (mastodon-tl--toot toot nil thread)) + (mastodon-tl--toot toot nil thread domain)) ;; hack to *not* filter replies on profiles: (if (eq (mastodon-tl--get-buffer-type) 'profile-statuses) toots @@ -1679,6 +1726,8 @@ call this function after it is set or use something else." 'profile-statuses-no-replies) ((string-suffix-p "only-media*" buffer-name) 'profile-statuses-only-media) + ((string-match-p "-tagged-" buffer-name) + 'profile-statuses-tagged) ((mastodon-tl--endpoint-str-= "statuses" :suffix) 'profile-statuses) ;; profile followers @@ -2788,14 +2837,19 @@ This location is defined by a non-nil value of ;;; LOADING TIMELINES (defun mastodon-tl--init (buffer-name endpoint update-function - &optional headers params hide-replies) + &optional headers params hide-replies + instance) "Initialize BUFFER-NAME with timeline targeted by ENDPOINT asynchronously. UPDATE-FUNCTION is used to recieve more toots. HEADERS means to also collect the response headers. Used for paginating favourites and bookmarks. PARAMS is any parameters to send with the request. -HIDE-REPLIES is a flag indicating if replies are hidden in the current buffer." - (let ((url (mastodon-http--api endpoint)) +HIDE-REPLIES is a flag indicating if replies are hidden in the current buffer. +INSTANCE is a string of another instance domain we are displaying +a timeline from." + (let ((url (if instance + (concat "https://" instance "/api/v1/" endpoint) + (mastodon-http--api endpoint))) (buffer (concat "*mastodon-" buffer-name "*"))) (if headers (mastodon-http--get-response-async @@ -2803,29 +2857,32 @@ HIDE-REPLIES is a flag indicating if replies are hidden in the current buffer." buffer endpoint update-function headers params hide-replies) (mastodon-http--get-json-async url params 'mastodon-tl--init* - buffer endpoint update-function nil params hide-replies)))) + buffer endpoint update-function nil params hide-replies instance)))) (defun mastodon-tl--init* (response buffer endpoint update-function - &optional headers update-params hide-replies) + &optional headers update-params hide-replies instance) "Initialize BUFFER with timeline targeted by ENDPOINT. UPDATE-FUNCTION is used to recieve more toots. RESPONSE is the data returned from the server by `mastodon-http--process-json', with arg HEADERS a cons cell of JSON and http headers, without it just the JSON." (let ((json (if headers (car response) response))) - (if (not json) ; praying this is right here, else try "\n[]" - (message "Looks like nothing returned from endpoint: %s" endpoint) - (let* ((headers (if headers (cdr response) nil)) - (link-header (mastodon-tl--get-link-header-from-response headers))) - (with-mastodon-buffer buffer #'mastodon-mode nil - (mastodon-tl--set-buffer-spec buffer endpoint update-function - link-header update-params hide-replies) - (mastodon-tl--do-init json update-function)))))) - -(defun mastodon-tl--init-sync - (buffer-name endpoint update-function - &optional note-type params headers view-name binding-str) - "Initialize BUFFER-NAME with timeline targeted by ENDPOINT. + (cond ((not json) ; praying this is right here, else try "\n[]" + (message "Looks like nothing returned from endpoint: %s" endpoint)) + ((eq (caar json) 'error) + (user-error "Looks like the server bugged out: \"%s\"" (cdar json))) + (t + (let* ((headers (if headers (cdr response) nil)) + (link-header (mastodon-tl--get-link-header-from-response headers))) + (with-mastodon-buffer buffer #'mastodon-mode nil + (mastodon-tl--set-buffer-spec buffer endpoint update-function + link-header update-params hide-replies) + (mastodon-tl--do-init json update-function instance))))))) + + (defun mastodon-tl--init-sync + (buffer-name endpoint update-function + &optional note-type params headers view-name binding-str) + "Initialize BUFFER-NAME with timeline targeted by ENDPOINT. UPDATE-FUNCTION is used to receive more toots. Runs synchronously. Optional arg NOTE-TYPE means only get that type of notification. @@ -2859,11 +2916,14 @@ BINDING-STR is a string explaining any bindins in the view." (mastodon-tl--do-init json update-function) buffer))) -(defun mastodon-tl--do-init (json update-fun) +(defun mastodon-tl--do-init (json update-fun &optional domain) "Utility function for `mastodon-tl--init*' and `mastodon-tl--init-sync'. -JSON is the data to call UPDATE-FUN on." +JSON is the data to call UPDATE-FUN on. +When DOMAIN, force inclusion of user's domain in their handle." (remove-overlays) ; video overlays - (funcall update-fun json) + (if domain + (funcall update-fun json nil domain) + (funcall update-fun json)) (setq ;; Initialize with a minimal interval; we re-scan at least once ;; every 5 minutes to catch any timestamps we may have missed diff --git a/lisp/mastodon-toot.el b/lisp/mastodon-toot.el index aff201d..864d767 100644 --- a/lisp/mastodon-toot.el +++ b/lisp/mastodon-toot.el @@ -912,7 +912,15 @@ instance to edit a toot." (mastodon-views--cancel-scheduled-toot scheduled-id :no-confirm)) (mastodon-toot--restore-previous-window-config prev-window-config) - (when edit-id + ;; reload previous view in certain cases: + ;; we reload: - when we have been editing + ;; - when we are in thread view + ;; - ? + ;; (we don't necessarily want to reload in every posting case + ;; as it can sometimes be slow and we may still lose our place + ;; in a timeline.) + (when (or edit-id + (equal 'thread (mastodon-tl--get-buffer-type))) (let ((pos (marker-position (cadr prev-window-config)))) (mastodon-tl--reload-timeline-or-profile pos)))))))))) @@ -1133,7 +1141,7 @@ arg, a candidate." (cadr (assoc candidate mastodon-toot-completions))) (defun mastodon-toot--emoji-annotation-fun (candidate) - "." + "CANDIDATE." ;; TODO: emoji image as annot (cdr (assoc candidate mastodon-toot-completions))) diff --git a/lisp/mastodon-views.el b/lisp/mastodon-views.el index e9e89c0..775b96b 100644 --- a/lisp/mastodon-views.el +++ b/lisp/mastodon-views.el @@ -748,7 +748,7 @@ MISSKEY means the instance is a Misskey or derived server." (interactive) (if user (let ((response (mastodon-http--get-json - (mastodon-http--api "instance") nil nil :vector))) + (mastodon-http--api "instance" "v2") nil nil :vector))) (mastodon-views--instance-response-fun response brief instance)) (mastodon-tl--do-if-item (let* ((toot (if (mastodon-tl--profile-buffer-p) diff --git a/lisp/mastodon.el b/lisp/mastodon.el index 3504ef3..6eac3d8 100644 --- a/lisp/mastodon.el +++ b/lisp/mastodon.el @@ -6,7 +6,7 @@ ;; Author: Johnson Denen <johnson.denen@gmail.com> ;; Marty Hiatt <martianhiatus@riseup.net> ;; Maintainer: Marty Hiatt <martianhiatus@riseup.net> -;; Version: 1.0.21 +;; Version: 1.0.22 ;; Package-Requires: ((emacs "27.1") (request "0.3.0") (persist "0.4")) ;; Homepage: https://codeberg.org/martianh/mastodon.el diff --git a/mastodon-index.org b/mastodon-index.org index aa5efd1..14cba03 100644 --- a/mastodon-index.org +++ b/mastodon-index.org @@ -48,12 +48,11 @@ #+RESULTS: | Binding | Command | Description | |------------------+---------------------------------------------------+--------------------------------------------------------------------------------| -| | mastodon | Connect Mastodon client to `mastodon-instance-url' instance. | +| | mastodon | Connect client to `mastodon-instance-url' instance. | | | mastodon-async-mode | Async Mastodon. | -| | mastodon-discover | Plug Mastodon functionality into `discover'. | | C-M-q | mastodon-kill-all-buffers | Kill any and all open mastodon buffers, hopefully. | | Q | mastodon-kill-window | Quit window and delete helper. | -| | mastodon-mode | Major mode for Mastodon, the federated microblogging network. | +| | mastodon-mode | Major mode for fediverse services using the Mastodon API. | | | mastodon-notifications--clear-all | Clear all notifications. | | C-k | mastodon-notifications--clear-current | Dismiss the notification at point. | | | mastodon-notifications--follow-request-accept | Accept a follow request. | @@ -78,6 +77,8 @@ | | mastodon-profile--open-following | Open a profile buffer showing the accounts that current profile follows. | | | mastodon-profile--open-statuses-no-reblogs | Open a profile buffer showing statuses without reblogs. | | | mastodon-profile--open-statuses-no-replies | Open a profile buffer showing statuses including replies. | +| | mastodon-profile--open-statuses-only-media | Open a profile buffer showing only statuses with media. | +| C-c # | mastodon-profile--open-statuses-tagged | Prompt for a hashtag and display a profile with only statuses containing it. | | | mastodon-profile--remove-from-followers-at-point | Prompt for a user in the item at point and remove from followers. | | | mastodon-profile--remove-from-followers-list | Select a user from your followers and remove from followers. | | | mastodon-profile--remove-user-from-followers | Remove a user from your followers. | @@ -93,7 +94,7 @@ | V | mastodon-profile--view-favourites | Open a new buffer displaying the user's favourites. | | | mastodon-profile--view-preferences | View user preferences in another window. | | | mastodon-profile-mode | Toggle mastodon profile minor mode. | -| | mastodon-profile-update-mode | Minor mode to update Mastodon user profile. | +| | mastodon-profile-update-mode | Minor mode to update user profile. | | s | mastodon-search--query | Prompt for a search QUERY and return accounts, statuses, and hashtags. | | | mastodon-search--query-accounts-followed | Run an accounts search QUERY, limited to your followers. | | | mastodon-search--query-cycle | Cycle through search types: accounts, hashtags, and statuses. | @@ -117,6 +118,7 @@ | F | mastodon-tl--get-federated-timeline | Open federated timeline. | | H | mastodon-tl--get-home-timeline | Open home timeline. | | L | mastodon-tl--get-local-timeline | Open local timeline. | +| | mastodon-tl--get-remote-local-timeline | Prompt for an instance domain and try to display its local timeline. | | # | mastodon-tl--get-tag-timeline | Prompt for tag and opens its timeline. | | n | mastodon-tl--goto-next-item | Jump to next item. | | C-<down> | mastodon-tl--goto-next-toot | | @@ -143,12 +145,12 @@ | | mastodon-tl--unmute-thread | Mute the thread displayed in the current buffer. | | S-RET | mastodon-tl--unmute-user | Query for USER-HANDLE from list of muted users and unmute that user. | | u, g | mastodon-tl--update | Update timeline with new toots. | -| | mastodon-tl--view-full-image | Browse full-sized version of image at point in a separate emacs window. | +| | mastodon-tl--view-full-image | Browse full-sized version of image at point in a new window. | | | mastodon-tl--view-full-image-or-play-video | View full sized version of image at point, or try to play video. | | | mastodon-tl--view-whole-thread | From a thread view, view entire thread. | | t | mastodon-toot | Update instance with new toot. Content is captured in a new buffer. | | C-c C-a | mastodon-toot--attach-media | Prompt for an attachment FILE with DESCRIPTION. | -| C-c C-k | mastodon-toot--cancel | Kill new-toot buffer/window. Does not POST content to Mastodon. | +| C-c C-k | mastodon-toot--cancel | Kill new-toot buffer/window. Does not POST content. | | C-c C-v | mastodon-toot--change-visibility | Change the current visibility to the next valid value. | | C-c ! | mastodon-toot--clear-all-attachments | Remove all attachments from a toot draft. | | | mastodon-toot--copy-toot-text | Copy text of toot at point. | @@ -171,7 +173,7 @@ | r | mastodon-toot--reply | Reply to toot at `point'. | | | mastodon-toot--save-draft | Save the current compose toot text as a draft. | | C-c C-s | mastodon-toot--schedule-toot | Read a date (+ time) in the minibuffer and schedule the current toot. | -| C-c C-c | mastodon-toot--send | POST contents of new-toot buffer to Mastodon instance and kill buffer. | +| C-c C-c | mastodon-toot--send | POST contents of new-toot buffer to fediverse instance and kill buffer. | | | mastodon-toot--set-default-visibility | Set the default visibility for toots on the server. | | C-c C-l | mastodon-toot--set-toot-language | Prompt for a language and set `mastodon-toot--language'. | | k | mastodon-toot--toggle-bookmark | Bookmark or unbookmark toot at point. | @@ -181,8 +183,8 @@ | C-c C-w | mastodon-toot--toggle-warning | Toggle `mastodon-toot--content-warning'. | | a | mastodon-toot--translate-toot-text | Translate text of toot at point. | | E | mastodon-toot--view-toot-edits | View editing history of the toot at point in a popup buffer. | -| | mastodon-toot-mode | Minor mode to capture Mastodon toots. | | | mastodon-turn-on-discover | Turns on discover support | +| | mastodon-toot-mode | Minor mode for composing toots. | | | mastodon-url-lookup | If a URL resembles a mastodon link, try to load in `mastodon.el'. | | | mastodon-url-lookup-force | Call `mastodon-url-lookup' without checking if URL is fedi-like. | | | mastodon-views--add-account-to-list | Prompt for a list and for an account, add account to list. | @@ -235,43 +237,47 @@ #+end_src #+RESULTS: -| Custom variable | Description | -|----------------------------------------------------+-------------------------------------------------------------------------------| -| mastodon-active-user | Username of the active user. | -| mastodon-client--token-file | File path where Mastodon access tokens are stored. | -| mastodon-instance-url | Base URL for the Mastodon instance you want to be active. | -| mastodon-media--avatar-height | Height of the user avatar images (if shown). | -| mastodon-media--enable-image-caching | Whether images should be cached. | -| mastodon-media--preview-max-height | Max height of any media attachment preview to be shown in timelines. | -| mastodon-mode-hook | Hook run when entering Mastodon mode. | -| mastodon-profile-mode-hook | Hook run after entering or leaving `mastodon-profile-mode'. | -| mastodon-profile-update-mode-hook | Hook run after entering or leaving `mastodon-profile-update-mode'. | -| mastodon-search-mode-hook | Hook run after entering or leaving `mastodon-search-mode'. | -| mastodon-tl--display-caption-not-url-when-no-media | Display an image's caption rather than URL. | -| mastodon-tl--display-media-p | A boolean value stating whether to show media in timelines. | -| mastodon-tl--enable-proportional-fonts | Nonnil to enable using proportional fonts when rendering HTML. | -| mastodon-tl--enable-relative-timestamps | Whether to show relative (to the current time) timestamps. | -| mastodon-tl--expand-content-warnings | Whether to expand content warnings by default. | -| mastodon-tl--hide-replies | Whether to hide replies from the timelines. | -| mastodon-tl--highlight-current-toot | Whether to highlight the toot at point. Uses `cursor-face' special property. | -| mastodon-tl--load-full-sized-images-in-emacs | Whether to load full-sized images inside Emacs. | -| mastodon-tl--no-fill-on-render | Non-nil to disable filling by shr.el while rendering toot body. | -| mastodon-tl--show-avatars | Whether to enable display of user avatars in timelines. | -| mastodon-tl--show-stats | Whether to show toot stats (faves, boosts, replies counts). | -| mastodon-tl--symbols | A set of symbols (and fallback strings) to be used in timeline. | -| mastodon-tl--tag-timeline-tags | A list of up to four tags for use with `mastodon-tl--followed-tags-timeline'. | -| mastodon-tl--timeline-posts-count | Number of posts to display when loading a timeline. | -| mastodon-tl-position-after-update | Defines where `point' should be located after a timeline update. | -| mastodon-toot--attachment-height | Height of the attached images preview in the toot draft buffer. | -| mastodon-toot--completion-style-for-mentions | The company completion style to use for mentions. | -| mastodon-toot--default-media-directory | The default directory when prompting for a media file to upload. | -| mastodon-toot--default-reply-visibility | Default visibility settings when replying. | -| mastodon-toot--emojify-in-compose-buffer | Whether to enable `emojify-mode' in the compose buffer. | -| mastodon-toot--enable-completion | Whether to enable completion of mentions and hashtags. | -| mastodon-toot--enable-custom-instance-emoji | Whether to enable your instance's custom emoji by default. | -| mastodon-toot--proportional-fonts-compose | Nonnil to enable using proportional fonts in the compose buffer. | -| mastodon-toot--use-company-for-completion | Whether to enable company for completion. | -| mastodon-toot-display-orig-in-reply-buffer | Display a copy of the toot replied to in the compose buffer. | -| mastodon-toot-mode-hook | Hook run after entering or leaving `mastodon-toot-mode'. | -| mastodon-toot-orig-in-reply-length | Length to crop toot replied to in the compose buffer to. | -| mastodon-toot-timestamp-format | Format to use for timestamps. | +| Custom variable | Description | +|--------------------------------------------------------------+--------------------------------------------------------------------------------------------------| +| mastodon-active-user | Username of the active user. | +| mastodon-client--token-file | File path where Mastodon access tokens are stored. | +| mastodon-instance-url | Base URL for the fediverse instance you want to be active. | +| mastodon-media--avatar-height | Height of the user avatar images (if shown). | +| mastodon-media--enable-image-caching | Whether images should be cached. | +| mastodon-media--preview-max-height | Max height of any media attachment preview to be shown in timelines. | +| mastodon-mode-hook | Hook run when entering Mastodon mode. | +| mastodon-notifications--profile-note-in-foll-reqs | When non-nil, show some of a user's profile note in follow | +| mastodon-notifications--profile-note-in-foll-reqs-max-length | The maximum character length for display of user profile note in | +| mastodon-notifications-profile-note-in-foll-reqs | When non-nil, show some of a user's profile note in follow | +| mastodon-profile-mode-hook | Hook run after entering or leaving `mastodon-profile-mode'. | +| mastodon-profile-update-mode-hook | Hook run after entering or leaving `mastodon-profile-update-mode'. | +| mastodon-search-mode-hook | Hook run after entering or leaving `mastodon-search-mode'. | +| mastodon-tl--display-caption-not-url-when-no-media | Display an image's caption rather than URL. | +| mastodon-tl--display-media-p | A boolean value stating whether to show media in timelines. | +| mastodon-tl--enable-proportional-fonts | Nonnil to enable using proportional fonts when rendering HTML. | +| mastodon-tl--enable-relative-timestamps | Whether to show relative (to the current time) timestamps. | +| mastodon-tl--expand-content-warnings | Whether to expand content warnings by default. | +| mastodon-tl--hide-replies | Whether to hide replies from the timelines. | +| mastodon-tl--highlight-current-toot | Whether to highlight the toot at point. Uses `cursor-face' special property. | +| mastodon-tl--load-full-sized-images-in-emacs | Whether to load full-sized images inside Emacs. | +| mastodon-tl--no-fill-on-render | Non-nil to disable filling by shr.el while rendering toot body. | +| mastodon-tl--remote-local-domains | A list of domains to view the local timelines of using `mastodon-tl--get-remote-local-timeline'. | +| mastodon-tl--show-avatars | Whether to enable display of user avatars in timelines. | +| mastodon-tl--show-stats | Whether to show toot stats (faves, boosts, replies counts). | +| mastodon-tl--symbols | A set of symbols (and fallback strings) to be used in timeline. | +| mastodon-tl--tag-timeline-tags | A list of up to four tags for use with `mastodon-tl--followed-tags-timeline'. | +| mastodon-tl--timeline-posts-count | Number of posts to display when loading a timeline. | +| mastodon-tl-position-after-update | Defines where `point' should be located after a timeline update. | +| mastodon-toot--attachment-height | Height of the attached images preview in the toot draft buffer. | +| mastodon-toot--completion-style-for-mentions | The company completion style to use for mentions. | +| mastodon-toot--default-media-directory | The default directory when prompting for a media file to upload. | +| mastodon-toot--default-reply-visibility | Default visibility settings when replying. | +| mastodon-toot--emojify-in-compose-buffer | Whether to enable `emojify-mode' in the compose buffer. | +| mastodon-toot--enable-completion | Whether to enable completion of mentions and hashtags. | +| mastodon-toot--enable-custom-instance-emoji | Whether to enable your instance's custom emoji by default. | +| mastodon-toot--proportional-fonts-compose | Nonnil to enable using proportional fonts in the compose buffer. | +| mastodon-toot--use-company-for-completion | Whether to enable company for completion. | +| mastodon-toot-display-orig-in-reply-buffer | Display a copy of the toot replied to in the compose buffer. | +| mastodon-toot-mode-hook | Hook run after entering or leaving `mastodon-toot-mode'. | +| mastodon-toot-orig-in-reply-length | Length to crop toot replied to in the compose buffer to. | +| mastodon-toot-timestamp-format | Format to use for timestamps. | |