Derek Schmidt
7f5c201925
Minor compose window cleanup / misc fixes
...
+ Remove excess padding on width
+ Rename TextModal to EntryModal
+ Remove duplicate delete key handler
+ Redraw when CW modal closes
+ Return empty string rather than None
2019-04-16 14:21:07 +02:00
Derek Schmidt
a367f78cbb
Handle screen position when newline only lines exist
2019-04-16 14:21:07 +02:00
Derek Schmidt
2b3b14c8b7
Impliment a custom textbox-like modal
...
The actual curses provided textbox has issuses with adding
newlines to the toot body when the text wraps to fit,
so I've implimented a basic textbox using draw_lines and an
internal text body (rather than relying on the curses window
contents.
2019-04-16 14:21:07 +02:00
Derek Schmidt
26f49e460e
Make help text less wordy
2019-04-16 14:21:07 +02:00
Derek Schmidt
a641543922
Add basic reply functionality
2019-04-16 14:21:07 +02:00
Derek Schmidt
c7526941d2
Add cw / spolier_text setting within compose window
...
And also make things probably more complicated than neccesary
oops
2019-04-16 14:21:07 +02:00
Derek Schmidt
6bb2f98ad2
Add basic text compose + posting
2019-04-16 14:21:06 +02:00
Ivan Habunek
c993b91174
Add notifications command to docs and changelog
2019-04-16 14:15:09 +02:00
Ivan Habunek
474d9c432f
Move notification printing to output module
...
Removed sorting, since notifications are already sorted.
2019-04-16 14:12:42 +02:00
Denis Laxalde
204d4d4138
Handle absence of notification in 'notifications' command
2019-02-17 15:02:05 +01:00
Denis Laxalde
6360e4d07d
Add a --clear option to "notifications" command
2019-02-17 14:18:51 +01:00
Denis Laxalde
5174a751f2
Implement "notifications" command
...
The list of notifications is diplayed with each item enclosed within an
horizontal line as for timeline. When a status is involved (when
notification type is "reblog" or "favourite"), we also display the full
status.
Closes #81 .
2019-02-17 14:09:56 +01:00
Ivan Habunek
8abb6a0d8c
Add IRC info to readme and docs
2019-02-15 14:20:23 +01:00
Ivan Habunek
f7167e0880
Bump version
2019-02-15 14:14:22 +01:00
Ivan Habunek
73b30a4f5e
Update changelog
2019-02-15 14:13:12 +01:00
Ivan Habunek
d224375da4
Consolidate timeline selection arguments
...
toot timeline and toot curses now use the same logic.
2019-02-15 14:13:12 +01:00
Ivan Habunek
abb1b436ca
Fix typo
2019-02-15 14:13:11 +01:00
Ivan Habunek
d46c820f52
Add usage examples to docs
2019-02-15 14:13:11 +01:00
Ivan Habunek
10595be865
Show full account name in timeline
2019-02-15 14:13:11 +01:00
Denis Laxalde
5a867f2380
Show number of replies/reblogs/favourites in status footer of curses ui
...
When parsing "replies_count" from status data, we allow the field to be
absent as it got added in version 2.5.0 (in constrast with other ones,
added in 0.1.0) as there might be servers with that version around.
2019-02-15 12:55:55 +01:00
Denis Laxalde
4bc963a236
Indicate if status is a reply in left pane of curses ui
2019-02-15 12:47:42 +01:00
Ivan Habunek
be8c0a7947
Fix rst. Again.
2019-02-15 12:47:32 +01:00
Ivan Habunek
8ed2ea1d05
Merge pull request #93 from dlax/curses-favourite
...
Adding support for "favourite" actions in curses ui
2019-02-15 12:42:47 +01:00
Denis Laxalde
3d0c7be1e0
Indicate if status has been favorited in left pane of curses ui
...
Showing a yellow star in the right corner of second line.
2019-02-14 20:39:58 +01:00
Denis Laxalde
41d96249ba
Add favourite/unfavourite actions to curses ui
2019-02-14 20:21:48 +01:00
Ivan Habunek
e676f34683
Fix docs formatting, rst != md
2019-02-14 18:16:21 +01:00
Ivan Habunek
3f96b7bdca
Add install instructions for arch
...
fixes #79
2019-02-14 18:13:34 +01:00
Ivan Habunek
d7cc97d2c7
Tweaks to status boosting in curses app
2019-02-14 18:04:05 +01:00
Denis Laxalde
c6bc4a695f
Add reblog/unreblog actions to curses ui
...
This is implemented using "b" key to toggle reblog/unreblog based on the
value of "reblogged" field in status data.
2019-02-14 17:58:55 +01:00
Denis Laxalde
066589bf53
Display a ↷ in status detail window if status got reblogged
2019-02-14 17:58:55 +01:00
Denis Laxalde
f1c8465e63
Add a "reblogged_by" command
2019-02-14 17:58:47 +01:00
Denis Laxalde
5514c47bca
Store status id in parse_status()
2019-02-14 17:58:22 +01:00
Denis Laxalde
834bdb67ac
Pass "app" and "user" to TimelineApp
...
We're going to need this context to issue API calls from the curses UI.
2019-02-14 17:58:22 +01:00
Ivan Habunek
e6d585ae5d
Nicer timeline output
2019-02-14 17:31:48 +01:00
Ivan Habunek
996228d224
Employ wcstring utils to improve rendering
2019-02-14 15:47:40 +01:00
Ivan Habunek
8a3ff94e47
Consolidate wcwidth-related utils in one module
2019-02-14 15:45:27 +01:00
Ivan Habunek
769ff9e406
Add wcstring utils
2019-02-14 15:23:46 +01:00
Ivan Habunek
8805a50194
Cleanup utils dealing with wcwidth strings
2019-02-14 14:21:53 +01:00
Denis Laxalde
0bf4b2a21a
Fix left column padding in timeline with wide characters
...
When the left column contains wide characters (which occupy more than
one cell when printed to screen), padding to 30-characters with
"{:30}".format() does not work well. This happens for instance when the
display name contains unicode characters such as emojis.
We fix this by introducing a pad() function in utils module which uses
the wcwidth library (https://pypi.org/project/wcwidth/ ) to compute the
length of the text for the column. trunc() function is also adjusted to
optionally compute the length of the text to be truncated since, when
called from pad(), we now pre-compute this value.
We update test for timeline rendering so that the display name now
includes an emoji. (Without the fix, the test would not pass as left
column would be misaligned.)
2019-02-14 14:21:53 +01:00
Denis Laxalde
9d6cd87202
Check full output in test_timeline
...
We're going to update this test in the next commit and having complete
output checked (including padding, column/row separations) will help.
2019-02-14 14:21:53 +01:00
Ivan Habunek
02c392230e
Remove unused import
2019-02-13 15:43:30 +01:00
Ivan Habunek
a3ebd96e05
Mark function as private
2019-02-13 14:19:27 +01:00
Ivan Habunek
19cbcd43b2
Make toot timeline
continuable by pressing Enter
2019-02-13 14:19:00 +01:00
Ivan Habunek
0dfb04e9e3
Ignore bs4 warnings
...
These are triggered by false positives and get printed to screen when
running `toot curses`.
2019-02-13 13:38:37 +01:00
Ivan Habunek
7bcf868469
Minor additions to setup.py
...
* more classifiers
* project URLs
2019-02-13 13:14:05 +01:00
Ivan Habunek
f88de49438
Add Makefile to package
...
issue #91
2019-02-13 13:08:47 +01:00
Ivan Habunek
32b1c67d49
Make boolen params a bit less verbose
2019-01-24 11:23:12 +01:00
Ivan Habunek
c7c42b8337
Merge pull request #85 from ksunden/localtag
...
Add local and tag timelines to curses
2019-01-24 11:20:58 +01:00
Ivan Habunek
131a8096c2
Merge pull request #87 from yitsushi/add-toot-id-on-timeline
...
Status ID + thread view
2019-01-21 18:14:36 +01:00
Balazs Nadasdi
e42c4c3b80
use http.get instead of hacking _status_action in api.py
...
(and fix a typo)
2019-01-21 17:25:20 +01:00