Commit Graph

112 Commits

Author SHA1 Message Date
Daniel Schwarz 0fc2ec12f5
Display images 2024-04-13 08:28:28 +02:00
Luca Matei Pintilie 1d48e64853
Fix version check in case of an empty string
Some mastodon implementations (GoToSocial) will return `version: ""`, in
which case checking for the major version won't work.

This is why an extra check has to be added, and default to 0 as the
"major" version.
2024-04-06 14:56:54 +02:00
Ivan Habunek 3420f1466a
Fix type annotation 2024-03-09 12:12:27 +01:00
Daniel Schwarz 593c95ea62 Converted LineBoxes to RoundedLineBoxes that look nicer 2024-01-09 23:36:35 -05:00
Ivan Habunek fda498d793
Merge pull request #450 from lexiwinter/autoopen-cw
add an option to automatically expand content warnings
2024-01-04 09:47:09 +01:00
Lexi Winter ec48e8eed8 tui: allow editing toots
Add new [E]dit command to the timeline: opens an existing toot to allow
editing it.  Since this is more or less the same operation as posting a
new toot, extend the StatusComposer view to support this rather than
implementing a new view.

Add a new api method, fetch_status_source(), to implement the
/api/v1/statuses/{id}/source endpoint used to fetch the original post
text.
2024-01-01 14:16:09 +00:00
Lexi Winter 1ed129f5dd tui: add --always-show-sensitive option
When enabled, this option expands toots with content warnings
automatically, instead of requiring the user to press 'S'.
2023-12-31 18:54:56 +00:00
Lexi Winter 5dd53b1b9c tui: honour user's default visibility preference
Mastodon allows the user to configure a default visibility which should
apply to all clients.  This setting is returned by the
/api/v1/preferences method.

Fetch the user preferences when the TUI starts, and use it to set the
default visibility when composing a new toot.  The preference can be
overridden by a new command-line option, toot tui --default-visibility=.
If neither the preference nor the option are set, fall back to
get_default_visibility().
2023-12-31 18:20:47 +00:00
Ivan Habunek d9c6bf79c8
Fix urwid stalling until input received
fixes #364
2023-12-19 11:10:49 +01:00
Ivan Habunek f72e4ba844
Move code from toot.tui.base to toot.tui 2023-12-14 11:35:52 +01:00
Ivan Habunek bbf67c6736
Pass tui options through cli options 2023-12-07 19:27:26 +01:00
Ivan Habunek 4dfab69f3b
Add tui command 2023-12-03 13:53:52 +01:00
Ivan Habunek 7793d4499a
Add --json option to post command 2023-11-21 16:51:02 +01:00
Ivan Habunek 3530553a06
Add --json option to status and thread commands 2023-11-21 16:51:02 +01:00
Ivan Habunek 9664d71b57
Make get_instance return the response instead of json 2023-11-21 16:50:19 +01:00
Ivan Habunek 5a83cd7d3b
Read media viewer from settings 2023-11-19 12:15:26 +01:00
Ivan Habunek ef19449190
Load followed accounts after timeline
This way we don't have to wait for them to load, which may take a while
due to paging.
2023-11-19 09:12:42 +01:00
Daniel Schwarz 0f39b1087f Support to display a limited set of HTML tags
HTML tag support is aligned with Mastodon 4.2 supported tags.
This code introduces a soft dependency on the urwidgets library.
If urwidgets is not available, HTML tags are still supported,
but hyperlinks are not underlined using the OCS 8 terminal
feature (on supported terminals).
2023-09-22 21:32:19 -04:00
Ivan Habunek afd349f1ab
Remove the monochrome palette
Monochrome colors should be defined as the third color in each tuple
instead.

In monochrome mode it's not possible to set the background so all
highlights can only be done using bold, italics, underline...
2023-07-08 12:33:34 +02:00
Ivan Habunek 0903dae8d3
Read TUI colors from settings 2023-07-08 12:08:06 +02:00
Ivan Habunek 740f7fafd4
Read TUI palette overrides from settings 2023-07-08 12:08:06 +02:00
Ivan Habunek 089e9f7d2f
Simplify delete status modal 2023-07-07 12:37:08 +02:00
Ivan Habunek f1e4c8d68f
Clean up how loop and screen are handled in tui 2023-07-07 11:49:26 +02:00
Daniel Schwarz 3903307e72
Changed Help key to ?, Documented Save key correctly as E
Fixes #280, #370
2023-07-05 10:09:00 +02:00
Ivan Habunek 0662a7616b
Read toot lenght limit from mastodon instances
fixes #369
2023-06-24 10:18:10 +02:00
Ivan Habunek dff36e28f3
Remove redundant logging
These actions are already visible via http requests being logged.
2023-06-24 09:58:31 +02:00
Daniel Schwarz 8c3cec1aef --no-color now works for tui mode 2023-06-23 18:16:14 -04:00
Ivan Habunek 0973bfd484
Refresh timeline when showing thread 2023-06-22 12:15:05 +02:00
Daniel Schwarz f7ba208d3b
Added personal timeline, which is your own timeline of posts
Fixes issue #354
2023-06-22 11:07:54 +02:00
Dan Schwarz 6bcd43a6ae
Add basic support for Mastodon Lists
Fixes issue #255
2023-03-30 10:01:02 +02:00
Ivan Habunek cb0af3488b
Merge pull request #344 from danschwarz/boost_fix
Fix for boosting of statuses that were previously boosted by others
2023-03-19 08:26:54 +01:00
Daniel Schwarz 71da194b76 Fix for boosting of statuses that were previously boosted by others
These wouldn't boost/unboost correctly; now they do.
2023-03-17 18:45:06 -04:00
Ivan Habunek 6d60ecee4d
Use direct invocation istead of signals 2023-03-15 10:17:35 +01:00
Ivan Habunek 45fd2901de
Remove no longer needed args to Timeline
Read them directly from TUI
2023-03-15 09:54:18 +01:00
Ivan Habunek 6047a51c4f
Pass the TUI object to Timeline in constructor 2023-03-15 09:53:56 +01:00
Ivan Habunek 71a2520198
Extract refresh timeline code 2023-03-13 13:37:02 +01:00
Daniel Schwarz 9999d975b4
Fixed refresh so it stays on the currently selected timeline
Fixes issue #337
2023-03-13 13:28:34 +01:00
Dan Schwarz dfa3cf1b68 Restructured Goto Menu items for clarity, added error display 2023-03-12 22:00:05 -04:00
Dan Schwarz 99060d221b
Basic support for followed accounts in TUI
In the status detail window, followed accounts are shown in
yellow, while unfollowed accounts are shown in grey.
2023-03-09 12:24:54 +01:00
Ivan Habunek d5b5c89996
Add support for custom instance domains
The instance domain can be different from their base url, for example
the instance at https://social.vivaldi.net uses the vivaldi.net domain,
sans 'social'.

This commit requires the user to provide the base url of the instance,
instead of domain name. The domain is then fetched from the server.

fixes #217
2023-03-09 11:00:45 +01:00
Ivan Habunek 9baa0823f9
Fix formatting 2023-03-07 11:09:41 +01:00
Daniel Schwarz 6b432b2fd3
Deduplicate and sort links for the show links function 2023-03-07 11:06:10 +01:00
Dan Schwarz 30792a0cab
Properly reference status.original when enumerating status links
Fixes #322
2023-03-07 11:06:10 +01:00
Ivan Habunek 9d51546be3
Merge pull request #334 from danschwarz/osc52
Add cop[y] status feature - copies status text to clipboard
2023-03-07 11:01:50 +01:00
Daniel Schwarz 04615e84bc Add cop[y] status feature - copies status text to clipboard
This relies on the OSC 52 terminal feature, which is widely
supported (Windows Terminal, iTerm2, XTerm, Kitty, others)
2023-03-06 19:30:54 -05:00
Ivan Habunek e10bb0ebae
Merge pull request #328 from danschwarz/translate_fix
Fix for issue #318 translation of boosted toots doesn't work
2023-03-06 07:57:31 +01:00
rogarb 60029a442e
Add conversations support in TUI 2023-03-04 23:33:51 +01:00
Dan Schwarz 27088b1219 Fixed translation of boosted toots 2023-03-04 16:04:13 -05:00
Daniel Schwarz 744dc090b4 Basic support for viewing Status and Mention notifs as a timeline
Now the Goto Menu has a < Notifications > button. This will load
your Status and Mention notifications as a standard timeline
for viewing.
2023-02-24 22:19:24 -05:00
Daniel Schwarz 85df15f533
Implement actions for Account
Actions: un/follow, un/mute, un/block are invoked synchronously
and the Account overlay window is updated to reflect the changes.
2023-02-20 09:11:36 +01:00