Commit Graph

102 Commits

Author SHA1 Message Date
Daniel Schwarz 593c95ea62 Converted LineBoxes to RoundedLineBoxes that look nicer 2024-01-09 23:36:35 -05:00
Kian-Meng Ang 2d0089893f Fix typos
Found via `codespell -L fo,te,oll`
2024-01-08 02:59:35 +08: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 f394d78c1e tui: keep CW note after opening toot
Continue to display 'Marked as sensitive' in the toot view even after
the CW has been opened.  This matches the behaviour of other clients,
and is useful to see because it might affect whether you want to boost
the toot or not (for example).
2023-12-31 18:46:01 +00:00
Ivan Habunek 4e55fba15e
Merge pull request #452 from lexiwinter/timeline-reply-fix
tui: fix display glitch for reply icon in timeline
2023-12-31 18:23:01 +01:00
Lexi Winter d0f05c7ad9 tui: show edit date in toot view
When viewing a toot which has been edited, show the edit date.

While here, fix a bug where the '*' edit marker in the timeline wouldn't
show for retoots because it was checking the retoot status instead of
the original status.
2023-12-31 16:51:02 +00:00
Lexi Winter 741a306c69 tui: fix display glitch for reply icon in timeline
In some fonts, "⤶" (U+2936 ARROW POINTING DOWNWARDS THEN CURVING
LEFTWARDS) may be a double-width character.  To avoid a display glitch
where this overlaps with the boosted icon, print a space after it.
2023-12-31 16:20:03 +00:00
Ivan Habunek bbf67c6736
Pass tui options through cli options 2023-12-07 19:27:26 +01:00
Ivan Habunek 5a83cd7d3b
Read media viewer from settings 2023-11-19 12:15:26 +01:00
Ivan Habunek d6ff3cc3a8
Extract url_to_widget, add fallback 2023-11-16 11:46:54 +01:00
Ivan Habunek 073dd3025c
Remove the ContentParser class, use functions instead
It did not help, just added to the indent.
2023-11-06 18:23:35 +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 8ff46fd0d0
Remove unused import 2023-07-25 09:36:53 +02:00
Ivan Habunek 8c7bb25184
Fix relative datetimes in TUI 2023-07-25 09:32:17 +02:00
Ivan Habunek 94b4b35197
Tweak colors 2023-07-08 12:08:06 +02:00
Ivan Habunek 219225ba8a
Remove named colours
This is a prerequisite for configurable styling, since we don't want to
override "green" style to be yellow and such.
2023-07-07 13:57:19 +02:00
Ivan Habunek 9933180146
Improve colour names 2023-07-07 13:02:18 +02:00
Daniel Schwarz f292468fb6 Changed [L]inks key to L[i]nks so that L key is CURSOR RIGHT 2023-07-06 07:31:43 -04: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 3df8e2722a
Extract datetime utils 2023-06-30 11:08:19 +02:00
Ivan Habunek 6d60ecee4d
Use direct invocation istead of signals 2023-03-15 10:17:35 +01:00
Ivan Habunek 7726b01000
Add type annotations 2023-03-15 09:55:50 +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
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 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
Dan Schwarz 27088b1219 Fixed translation of boosted toots 2023-03-04 16:04:13 -05:00
Ivan Habunek a633f757b5
Merge pull request #312 from danschwarz/poll3
UI to vote in polls
2023-02-20 09:06:51 +01:00
Daniel Schwarz c944863f3f Changed bookmark symbol from unicode glyph to 'b'
The glyph previously used '🠷' is interpreted with different
widths on different terminal emulators (i.e. xterm gets it wrong)
This results in visual glitches in the status detail area and
especially in the scrollbar when visible.  Changing it to a
standard ASCII 'b' fixes all these issues.
2023-02-17 09:34:57 +01:00
Daniel Schwarz 68cadd4053 Boosted polls weren't working; this change fixes that. 2023-02-15 10:15:16 -05:00
Daniel Schwarz a937650894 Update status detail after leaving overlay
This is currently used for poll voting; after voting in a
poll overlay, the status detail will update with the user's
vote and the new vote count when they dismiss the overlay.

As part of this change, the refresh_status_detail method now
maintains the scroll position after refresh, rather than
scrolling back to the top automatically
2023-02-14 23:16:26 -05:00
Ivan Habunek 3a9e4956a2
Don't break if edited_at does not exist
Introduced in mastodon 4.

fixes #309
2023-02-12 09:41:26 +01:00
Daniel Schwarz d399eec6f5 Implement [P]oll command to view/vote on poll
Note that this change also switches some key meanings:
E -> X for View E[x]ception
P -> E for Sav[e] Timeline
to accomodate P for [P]oll
2023-02-10 21:48:42 -05:00
Ivan Habunek 1c59facd2b
Show account of original toot instead of reblog 2023-02-03 15:03:06 +01:00
Daniel Schwarz 7be30302dc Timeline ui support + signal for [A]ccount feature
[A] displays overlay with account details and actions
2023-02-03 15:02:47 +01:00
Ivan Habunek f3b90c947e
Add option to display relative datetimes 2023-01-29 09:23:57 +01:00
Daniel Schwarz deebdf7141
Show relative datetimes in status list
Status detail pane now shows the full created_at timestamp.
2023-01-29 09:11:03 +01:00
Ivan Habunek 7cada43e2f
Deduplicate code for wrapping the status details 2023-01-19 11:20:31 +01:00
Ivan Habunek b0319c43f0
Pass timeline as first argument to status
Instead of passing various attributes of timeline.
2023-01-19 11:20:31 +01:00
Dan Schwarz 91c1b792be Status detail scrollbar feature
Uses scroll.py from https://github.com/rndusr/stig
2023-01-19 09:02:35 +01:00
Daniel Schwarz 88c444c411
Highlight followed tags 2023-01-02 14:25:30 +01:00
Ivan Habunek 1e18f1f6d9
Make flake8 happy 2023-01-01 11:13:21 +01:00
Daniel Schwarz 13fffd9fc1 Screen refresh after web browser invocation and exit 2023-01-01 09:04:02 +01:00
Dan Schwarz 6633b758bc Make the status detail key commands more visible
Some terminal color schemes completely eliminate the difference
between cyan and cyan-bold colors (all the base16 themes, for instance).
This change makes the key letters stand out clearly in bold white.
2023-01-01 08:59:44 +01:00
Ivan Habunek fa6b90a115
Tweak visibility display 2022-12-28 07:48:53 +01:00
Lim Ding Wen 064cab1988
Show visibility in TUI 2022-12-28 07:40:19 +01:00
Ivan Habunek 8ffe8d281f
Fix style issues 2022-12-27 12:31:55 +01:00