Commit Graph

230 Commits

Author SHA1 Message Date
Ivan Habunek 9933180146
Improve colour names 2023-07-07 13:02:18 +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 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 0c89445b61
Fix type hint for older py versions 2023-06-26 16:58:11 +02:00
Ivan Habunek 0662a7616b
Read toot lenght limit from mastodon instances
fixes #369
2023-06-24 10:18:10 +02:00
Ivan Habunek 12d84ea05e
Fix return type 2023-06-24 10:04:40 +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
Daniel Schwarz bfdd84870f
Added "toot list_delete" and "toot list_create" commands 2023-03-30 10:01:03 +02:00
Daniel Schwarz 855b2a1526
"toot list" console command added 2023-03-30 10:01:02 +02:00
Dan Schwarz 6bcd43a6ae
Add basic support for Mastodon Lists
Fixes issue #255
2023-03-30 10:01:02 +02:00
Dan Schwarz 040427884b
Make button widget unicode-aware (spacing) 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 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
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
Ivan Habunek 04beac87ed
Merge pull request #330 from rogarb/conversations
Add conversations support in TUI
2023-03-05 11:34:18 +01:00
rogarb d81eaaad0d
Inherit visibility when replying in TUI
When replying to a toot, the visibility gets set to default: if the toot
has a direct visibility, the visibility in reply will be changed to the
default one, whereas it should stay in direct mode.
2023-03-05 09:45:46 +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
Ivan Habunek e77c40e27c
Update references to new documentation 2023-03-03 16:54:40 +01: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 3a72d5f261 Account overlay - don't allow mute/block/unfollow own account 2023-02-21 20:43:09 -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
Daniel Schwarz 876ad1f53d
Added framework for action buttons with "Confirm/Cancel" behavior
Buttons with confirm/cancel behavior are in place and working
TBD: implement actions when user gives confirmation.
2023-02-20 09:11:36 +01:00
Daniel Schwarz a1490461bd
Add relationship support to Account overlay
Display relationship details such as followed_by, blocked_by,
and add buttons to un/follow, un/mute, un/block.
Buttons are nonfunctional for now
2023-02-20 09:11:34 +01: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
Daniel Schwarz 63bc11316b Removed unnecessary check that poll exists 2023-02-14 22:40:35 -05:00
Daniel Schwarz ce34a2f05e Added api error message reporting, removed unnecessary parenthesis 2023-02-14 22:21:04 -05:00
Daniel Schwarz 41a8c33409 Removed unneeded parenthesis 2023-02-14 22:21:04 -05:00
Daniel Schwarz ef2c35eaee Removed unneeded pareenthesis 2023-02-14 22:21:04 -05:00
Daniel Schwarz 3b67c85dfc Added styled radio buttons and checkboxes 2023-02-14 22:21:04 -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
Daniel Schwarz c2faa7e2b6 Add signal and code to invoke poll overlay UI
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:46:27 -05:00
Daniel Schwarz 44c8460a53 Poll view/vote functionality in an overlay 2023-02-10 21:45:15 -05:00
Ivan Habunek 1c59facd2b
Show account of original toot instead of reblog 2023-02-03 15:03:06 +01:00
Ivan Habunek 9e2b5acf49
Extract link helper 2023-02-03 15:03:05 +01:00
Ivan Habunek 6a54f3dd0e
Pass account as argument 2023-02-03 15:03:05 +01:00
Ivan Habunek 0e535a3fd0
Make tags a bit less verbose 2023-02-03 15:03:05 +01:00
Daniel Schwarz de7abd0b68 Strip trailing ":" off field names for consistency
Some servers add them, some don't. This makes the names
consistent before adding one trailing :
2023-02-03 15:02:47 +01:00
Daniel Schwarz 5943ebda3a Show if an account is a "bot", "locked", or "suspended" 2023-02-03 15:02:47 +01:00
Daniel Schwarz a5d61c04a7 Account overlay is now at feature parity with toot whois command 2023-02-03 15:02:47 +01:00
Daniel Schwarz e10fff983f Support for "account" message - load details and display overlay 2023-02-03 15:02:47 +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
Daniel Schwarz 4336871e9f Move save button to top 2023-02-03 04:09:35 +01:00
Ivan Habunek 9f3a54c054 Add status id to default filename 2023-02-03 04:09:35 +01:00
Ivan Habunek 37b4f00f6e Use get_edit_text to avoid trimming
This method returns only the text entered, without the caption.
2023-02-03 04:09:35 +01:00
Ivan Habunek 5606d95c93 Put edit box and button in list box with source
This makes it much easier to focus them, just scroll down.
2023-02-03 04:09:35 +01:00
Ivan Habunek cc1809db31 Remove splitlines, not needed
Works just as well if provided as a single Text object.
2023-02-03 04:09:35 +01:00
Ivan Habunek 1b2da81d15 Inline button construction, avoid lambda 2023-02-03 04:09:35 +01:00
Ivan Habunek c7f9f06f72 Use context for writing to file 2023-02-03 04:09:35 +01:00
Ivan Habunek 61990822e5 Use full words instead of abbreviations 2023-02-03 04:09:35 +01:00
Daniel Schwarz b9a68a6132 Adds a "save" option to the so[u]rce dialog. 2023-02-03 04:09:35 +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
K 4f9391f015
Fix version detection
Version check failed when the server sent something other than a number
as a version as happened on development version of the gotosocial
server.
2023-01-19 09:32:45 +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 c5b3724015
Don't focus newly posted toot
This breaks the reading flow.

fixes #188
2023-01-19 08:44:16 +01:00
Ivan Habunek 82383cd163
Fix clear screen
It was passed more arguments than expected.
2023-01-03 11:58:49 +01:00
Ivan Habunek ff1374a95c
Improve formatting, remove logging 2023-01-02 14:25:39 +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 e07be634f6
Extract code for getting default visibility 2022-12-28 09:19:25 +01:00
Lim Ding Wen 08a28bfb26
TOOT_VISIBILITY controls boost visibility
TOOT_VISIBILITY controls default boost visibility from CLI, and the boost visibility from TUI (no option to change in TUI yet)
2022-12-28 09:12:05 +01:00
Lim Ding Wen 8582c8ed62
TOOT_VISIBILITY controls default visibility 2022-12-28 09:12:05 +01:00
Lim Ding Wen f91bfa0c62
TUI no longer mentions self when replying
This brings it more in-line with Mastodon v4's web UI.
2022-12-28 09:06:14 +01:00
Lim Ding Wen 69718f41f6
Reply to original account instead of boosting account
Affects the "replying to" TUI label, and the mention auto-generated.
This brings it more in-line with Mastodon web behaviour.
2022-12-28 09:03:11 +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
Ivan Habunek f534d295c0
Make line more readable 2022-12-27 12:15:21 +01:00
Ivan Habunek adf3f713a6
Change bookmark key binding to avoid conflict
K is used to scroll up vim-style.
2022-12-27 12:15:21 +01:00
Daniel Schwarz fed5574939
Add bookmark timeline and bookmarking to tui 2022-12-27 12:15:20 +01:00
Ivan Habunek ded7a0c50d
Fix flake8 errors 2022-12-27 10:56:36 +01:00