From: Simon Tatham Date: Sat, 9 Dec 2023 17:57:32 +0000 (+0000) Subject: Allow changing the visibility of posts. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=100abe940364ba8ba82e0f9ed687194af06f803d;p=mastodonochrome.git Allow changing the visibility of posts. --- diff --git a/cursesclient.py b/cursesclient.py index 1768d34..f689852 100644 --- a/cursesclient.py +++ b/cursesclient.py @@ -1043,6 +1043,7 @@ class Composer(Activity, EditorCommon): self.language = "en" # FIXME: find a better default from somewhere self.content_warning = "" + self.visibility = "public" def render(self): y = 0 @@ -1170,7 +1171,7 @@ class Composer(Activity, EditorCommon): def post(self): params = { "status": self.text.rstrip("\n"), - "visibility": "public", + "visibility": self.visibility, "language": self.language, } if self.reply_id is not None: @@ -1202,6 +1203,13 @@ class PostMenu(Menu): self.items.append(text.MenuKeypressLine( 'A', text.ColouredString("Re-edit post"))) self.items.append(text.BlankLine()) + self.items.append(text.MenuKeypressLine( + 'V', text.ColouredString("Visibility: " + + self.composer.visibility))) + # FIXME: including a help string here would be nice - plus a + # warning if you haven't actually mentioned any users and are + # selecting 'direct'? + self.items.append(text.BlankLine()) cw = ('none' if self.composer.content_warning == '' else f"'{self.composer.content_warning}'") self.items.append(text.MenuKeypressLine( @@ -1232,6 +1240,12 @@ class PostMenu(Menu): self.push_to(BottomLinePrompt( self.cc, self.set_content_warning, "Content warning: ", self.composer.content_warning)) + elif ch in {'v', 'V'}: + visibilities = ['public', 'unlisted', 'private', 'direct'] + nextvis = {visibilities[i-1]: visibilities[i] + for i in range(len(visibilities))} + self.composer.visibility = nextvis[self.composer.visibility] + self.refresh_items() elif ch in {' '}: self.composer.post() self.cc.composer = None