From bf7a1b445003f7e15d1e2b38f7635de142df19d1 Mon Sep 17 00:00:00 2001
From: marty hiatt <martianhiatus [a t] riseup [d o t] net>
Date: Mon, 16 Jan 2023 16:05:08 +0100
Subject: view instance binding

---
 README.org                | 127 +++++++++++++++++++++++-----------------------
 lisp/mastodon-discover.el |   3 +-
 lisp/mastodon.el          |   1 +
 3 files changed, 67 insertions(+), 64 deletions(-)

diff --git a/README.org b/README.org
index 6bed845..e182aa7 100644
--- a/README.org
+++ b/README.org
@@ -107,69 +107,70 @@ not contain =:client_id= and =:client_secret=.
 
 **** Keybindings
 
-|----------------+-----------------------------------------------------------------------|
-| Key            | Action                                                                |
-|----------------+-----------------------------------------------------------------------|
-|                | *Help*                                                                  |
-| =?=              | Open context menu if =discover= is available                            |
-|----------------+-----------------------------------------------------------------------|
-|                | *Timeline actions*                                                      |
-| =n=              | Go to next item (toot, notification)                                  |
-| =p=              | Go to previous item (toot, notification)                              |
-| =M-n=/=<tab>=    | Go to the next interesting thing that has an action                   |
-| =M-p=/=<S-tab>=  | Go to the previous interesting thing that has an action               |
-| =F=              | Open federated timeline                                               |
-| =H=              | Open home timeline                                                    |
-| =L=              | Open local timeline                                                   |
-| =N=              | Open notifications timeline                                           |
-| =@=              | Open mentions-only notifications timeline                             |
-| =u=              | Update current timeline                                               |
-| =T=              | Open thread for toot under =point=                                      |
-| =#=              | Prompt for tag and open its timeline                                  |
-| =A=              | Open author profile of toot under =point=                               |
-| =P=              | Open profile of user attached to toot under =point=                     |
-| =O=              | View own profile                                                      |
-| =U=              | update your profile bio note                                          |
-|----------------+-----------------------------------------------------------------------|
-|                | *Other views*                                                           |
-| =S=              | search (posts, users, tags) (NB: only posts you have interacted with) |
-| =I=, =c=, =d=        | view, create, and delete filters                                      |
-| =R=, =a=, =j=        | view/accept/reject follow requests                                    |
-| =G=              | view follow suggestions                                               |
-| =V=              | view your favourited toots                                            |
-| =K=              | view bookmarked toots                                                 |
-| =X=              | view/edit/create/delete lists                                         |
-|----------------+-----------------------------------------------------------------------|
-|                | *Toot actions*                                                          |
-| =t=              | Compose a new toot                                                    |
-| =c=              | Toggle content warning content                                        |
-| =b=              | Boost toot under =point=                                                |
-| =f=              | Favourite toot under =point=                                            |
-| =k=              | toggle bookmark of toot at point                                      |
-| =r=              | Reply to toot under =point=                                             |
-| =v=              | Vote on poll at point                                                 |
-| =C=              | copy url of toot at point                                             |
-| =C-RET=          | play video/gif at point (requires =mpv=)                                |
-| =e=              | edit your toot at point                                               |
-| =E=              | view edits of toot at point                                           |
-| =i=              | (un)pin your toot at point                                            |
-| =d=              | delete your toot at point, and reload current timeline                |
-| =D=              | delete and redraft toot at point, preserving reply/CW/visibility      |
-| (=S-C-=) =W=, =M=, =B= | (un)follow, (un)mute, (un)block author of toot at point               |
-|----------------+-----------------------------------------------------------------------|
-|                | *Profile view*                                                          |
+|----------------+---------------------------------------------------------------------------|
+| Key            | Action                                                                    |
+|----------------+---------------------------------------------------------------------------|
+|                | *Help*                                                                      |
+| =?=              | Open context menu if =discover= is available                                |
+|----------------+---------------------------------------------------------------------------|
+|                | *Timeline actions*                                                          |
+| =n=              | Go to next item (toot, notification)                                      |
+| =p=              | Go to previous item (toot, notification)                                  |
+| =M-n=/=<tab>=    | Go to the next interesting thing that has an action                       |
+| =M-p=/=<S-tab>=  | Go to the previous interesting thing that has an action                   |
+| =F=              | Open federated timeline                                                   |
+| =H=              | Open home timeline                                                        |
+| =L=              | Open local timeline                                                       |
+| =N=              | Open notifications timeline                                               |
+| =@=              | Open mentions-only notifications timeline                                 |
+| =u=              | Update current timeline                                                   |
+| =T=              | Open thread for toot under =point=                                          |
+| =#=              | Prompt for tag and open its timeline                                      |
+| =A=              | Open author profile of toot under =point=                                   |
+| =P=              | Open profile of user attached to toot under =point=                         |
+| =O=              | View own profile                                                          |
+| =U=              | update your profile bio note                                              |
+|----------------+---------------------------------------------------------------------------|
+|                | *Other views*                                                               |
+| =S=              | search (posts, users, tags) (NB: only posts you have interacted with)     |
+| =I=, =c=, =d=        | view, create, and delete filters                                          |
+| =R=, =a=, =j=        | view/accept/reject follow requests                                        |
+| =G=              | view follow suggestions                                                   |
+| =V=              | view your favourited toots                                                |
+| =K=              | view bookmarked toots                                                     |
+| =X=              | view/edit/create/delete lists                                             |
+| =s=              | view your scheduled toots                                                 |
+|----------------+---------------------------------------------------------------------------|
+|                | *Toot actions*                                                              |
+| =t=              | Compose a new toot                                                        |
+| =c=              | Toggle content warning content                                            |
+| =b=              | Boost toot under =point=                                                    |
+| =f=              | Favourite toot under =point=                                                |
+| =k=              | toggle bookmark of toot at point                                          |
+| =r=              | Reply to toot under =point=                                                 |
+| =v=              | Vote on poll at point                                                     |
+| =C=              | copy url of toot at point                                                 |
+| =C-RET=          | play video/gif at point (requires =mpv=)                                    |
+| =e=              | edit your toot at point                                                   |
+| =E=              | view edits of toot at point                                               |
+| =i=              | (un)pin your toot at point                                                |
+| =d=              | delete your toot at point, and reload current timeline                    |
+| =D=              | delete and redraft toot at point, preserving reply/CW/visibility          |
+| (=S-C-=) =W=, =M=, =B= | (un)follow, (un)mute, (un)block author of toot at point                   |
+|----------------+---------------------------------------------------------------------------|
+|                | *Profile view*                                                              |
 | =C-c C-c=        | cycle between statuses, followers, following, and statuses without boosts |
-|                | =mastodon-profile--account-account-to-list= (see lists view)               |
-|----------------+-----------------------------------------------------------------------|
-|                | *Notifications view*                                                    |
-| =a=, =j=           | accept/reject follow request                                          |
-| =c=              | clear notification at point                                           |
-|                | see =mastodon-notifications--get-*= functions for filtered views        |
-|----------------+-----------------------------------------------------------------------|
-|                | *Quitting*                                                              |
-| =q=              | Quit mastodon buffer, leave window open                               |
-| =Q=              | Quit mastodon buffer and kill window                                  |
-|----------------+-----------------------------------------------------------------------|
+|                | =mastodon-profile--account-account-to-list= (see lists view)                |
+|----------------+---------------------------------------------------------------------------|
+|                | *Notifications view*                                                        |
+| =a=, =j=           | accept/reject follow request                                              |
+| =c=              | clear notification at point                                               |
+|                | see =mastodon-notifications--get-*= functions for filtered views            |
+|----------------+---------------------------------------------------------------------------|
+|                | *Quitting*                                                                  |
+| =q=              | Quit mastodon buffer, leave window open                                   |
+| =Q=              | Quit mastodon buffer and kill window                                      |
+|----------------+---------------------------------------------------------------------------|
 
 **** Toot byline legend
 
@@ -301,7 +302,7 @@ view a timeline with one of the commands that begin with
 
 *** Translating toots
 
-You can translate toots with =mastodon-toot--translate-toot-text=. At the moment
+You can translate toots with =mastodon-toot--translate-toot-text= (=a= in a timeline). At the moment
 this requires [[https://codeberg.org/martianh/lingva.el][lingva.el]], a little interface I wrote to https://lingva.ml, to
 be installed to work.
 
diff --git a/lisp/mastodon-discover.el b/lisp/mastodon-discover.el
index f16cdf6..b3819ed 100644
--- a/lisp/mastodon-discover.el
+++ b/lisp/mastodon-discover.el
@@ -91,7 +91,8 @@
                        ("G" "View follow suggestions" mastodon-tl--get-follow-suggestions)
                        ("I" "View filters" mastodon-tl--view-filters)
                        ("X" "View lists" mastodon-tl--view-lists)
-                       ("s" "View scheduled toots" mastodon-tl--view-scheduled-toots))
+                       ("s" "View scheduled toots" mastodon-tl--view-scheduled-toots)
+                       (";" "View instance description" mastodon-tl--view-instance-description))
                       ("Users"
                        ("W" "Follow" mastodon-tl--follow-user)
                        ("C-S-W" "Unfollow" mastodon-tl--unfollow-user)
diff --git a/lisp/mastodon.el b/lisp/mastodon.el
index 384c4c3..1c3136c 100644
--- a/lisp/mastodon.el
+++ b/lisp/mastodon.el
@@ -206,6 +206,7 @@ Use. e.g. \"%c\" for your locale's date and time format."
       (define-key map (kbd "a") #'mastodon-toot--translate-toot-text))
     (define-key map (kbd "s") #'mastodon-tl--view-scheduled-toots)
     (define-key map (kbd "M-C-q") #'mastodon-kill-all-buffers)
+    (define-key map (kbd ";") #'mastodon-tl--view-instance-description)
     map)
   "Keymap for `mastodon-mode'.")
 
-- 
cgit v1.2.3