https://github.com/halcy/tootmage
multicolumn terminal mastodon client for shitty nerds
https://github.com/halcy/tootmage
Last synced: 8 months ago
JSON representation
multicolumn terminal mastodon client for shitty nerds
- Host: GitHub
- URL: https://github.com/halcy/tootmage
- Owner: halcy
- License: mit
- Created: 2017-11-23T16:15:04.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-05T09:29:23.000Z (over 1 year ago)
- Last Synced: 2025-03-31T01:41:58.798Z (about 1 year ago)
- Language: Python
- Size: 373 KB
- Stars: 23
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tootmage
multicolumn terminal mastodon client for shitty nerds.
currently in an extremely alpha here-be-dragons state. code contributions, suggestions, issues and such now welcome.
setup.py forthcoming At Some Point (write me one, please!). Needs prompt-toolkit, mastodon.py from github (1.2.0 will work badly, 1.2.1 will be fine when I getaround to releasing it) and possibly a bunch of other stuff.
termwrap is an improved version of ansiwrap (https://github.com/jonathaneunice/ansiwrap) that works with unicode.
setup:
* you will be prompted for login stuff on first run
* DO NOT SHARE THE CONTENTS OF THE .secret FILES WITH ANYONE
* you can change various things in settings.py. looking at it is recommended
* by default, notification via notify-send and aplay is attempted - turn that off if you don't need / want it (boop sound graciously provided by @jk@mastodon.social)
* there are currently two themes - one that uses RGB colours and unicode ("datawitch"), one that uses none of that ("helvetica standard").
basic operation:
* You can change the active column using either control+pageup/down or alt+arrowup/down
* You can scroll the active column with pageup/down
* Enter commands to do stuff - basic line editing and history are available.
* The commands available are essentially all the functions in Mastodon.py (Compare [http://mastodonpy.readthedocs.io/en/latest/](http://mastodonpy.readthedocs.io/en/latest/)), plus some extra, documented below.
* Commands are autocompleted either when you hit tab, or when they are executed (hit enter). You can enter commands in shortened form, i.e. enter s-p instead of status_post, or just "r" for "status_reply". Use tab autompletion to discover many more shortcuts.
* You can autocomplete usernames by entering the start of the username (starting with an @) and pressing tab.
* You can refer to entries in columns while typing your command by entering ".columnnumber.resultnumber". You can refer to the entries of the active column using "#resultnumber"
* To view a toot, enter ".columnnumber.resultnumber" or #resultnumber" with no further commands - this also expands CWs.
* You can actually straight up enter python commands - prefix them with ;
* If the full version of the entered command starts with "status", the first "." in the first toot parameter is optional
additional commands:
* "toot text" (short t): posts a toot. text is automatically quoted (quotes are escaped)
* "status_boost toot" (short b): synonym for status_reblog
* "status_reply toot text" (short r): does magic to automatically prepend the correct mentions to your post and maintain CWs and such. Also auto-quotes.
* "status_view toot number": (short v): runs a function (specified in the settings) with the url of the toot as parameter. optionally pass a number as the second parameter to view a numbered url in a toot. the default settings just open firefox, but you could also e.g. make the command put the URL in a HTML file that you can then look at in your browser
* "status_expand toot" (short x): expands a conversation
* "quit": does that
things that are bad still and/or known bugs
* visibility is not retained in replies
* can't scroll horizontally yet - hope your screen is wide enough (overflow gets cut off on the right)
* currently no easy way to specify CW, visibility, attach media - have to use the full status_post command to do it
* everything is a bit user-unfriendly, error output is terrible
* documentation is bad
* resizing temporarily breaks screen
screenshots:

