Commit Graph

819 Commits

Author SHA1 Message Date
Ivan Habunek 9aadec6cfb
Add option to set status visibility 2019-09-03 15:40:44 +02:00
Ivan Habunek 4f30c177d6
Ditch status index list for now
Simplifies things, makes update_status slightly slower, but no biggie.
2019-09-03 15:40:44 +02:00
Ivan Habunek 366e9382d3
Implement posting statuses 2019-09-03 15:40:44 +02:00
Ivan Habunek b95aca964f
Show an intro screen while loading initial toots 2019-09-03 15:40:44 +02:00
Ivan Habunek fb14c262e0
Show exception stack trace on error 2019-09-03 15:40:44 +02:00
Ivan Habunek 372976b1b2
Overhaul async actions, implement boost and reblog 2019-09-03 15:40:43 +02:00
Ivan Habunek 2349173a45
Tweaks 2019-09-03 15:40:43 +02:00
Ivan Habunek 2be8cb8438
Show status source 2019-09-03 15:40:43 +02:00
Ivan Habunek 2d8199646f
Boosted by improvements 2019-09-03 15:40:43 +02:00
Ivan Habunek dd1b462413
Highlight hashtags 2019-09-03 15:40:43 +02:00
Ivan Habunek 7da2e2dbbc
Handle reblogs 2019-09-03 15:40:43 +02:00
Ivan Habunek f68f5d5716
Load next when at bottom of list 2019-09-03 15:40:42 +02:00
Ivan Habunek c99999161d
Render status details 2019-09-03 15:40:42 +02:00
Ivan Habunek ea1ef6f207
Initial implementation of a TUI using Urwid 2019-09-03 15:40:42 +02:00
Viktor Villainov 616483d78a
Remove double process_response function call
since it's called in anon_post already
2019-09-03 09:04:32 +02:00
Ivan Habunek 6f8cd86417
Fix compatibility with py<3.6 2019-08-29 12:46:00 +02:00
Ivan Habunek 73ba70eb83
Create config file with 0600 permissions
It contains secrets and should not be readable by others.

fixes #109
2019-08-27 13:20:22 +02:00
Ivan Habunek d21cad892c
Implement composing tweets using an editor
fixes #90
2019-08-22 17:37:24 +02:00
Ivan Habunek 840b2fd476
Set the user agent string to all requests
Fixes issue with accessing instances using Cloudfare DDOS protection.

issue #106
2019-08-07 22:58:30 +02:00
Ivan Habunek 07a01df941
Fix error in release procedure 2019-08-01 14:51:31 +02:00
Ivan Habunek a23aa5a857
Update required version in stdeb.cfg 2019-08-01 14:51:24 +02:00
Ivan Habunek e108f370e1
Bump version 2019-08-01 13:25:45 +02:00
Ivan Habunek 83367d1c42
Revert "Add Makefile to package"
This reverts commit f88de49438.

see #91
2019-08-01 13:09:39 +02:00
Ivan Habunek a771ca3aa7
Enable attaching multiple media files
fixes #67
2019-08-01 12:56:21 +02:00
Ivan Habunek 42247f94ba
Fix tests 2019-07-31 09:01:27 +02:00
Ivan Habunek aa208cfc95
Dropped support for python 3.3
Not testable on Travis, end of life since 2017.
2019-07-30 16:16:03 +02:00
Ivan Habunek a7e4f9d888
Add --language option to post command
Used to override language detection.
2019-07-30 16:13:29 +02:00
Ivan Habunek e5bba7e9b3
Remove duplicate build step 2019-07-30 15:56:45 +02:00
Ivan Habunek 470a97da58
Add annotations 2019-07-30 15:51:58 +02:00
Ivan Habunek d13fa8685b
Merge pull request #101 from Skehmatics/fix-resize
Fix various resize issues
2019-04-25 14:58:08 +02:00
Derek Schmidt cb3885b20b
Fix #100
Using self.panel.hide() without calling
curses.panel.update_panels() before next refresh can really mess
stuff up. As far as I can tell, this was the real cause of #100.

This changes that call to the Modal's hide method instead, which
will keep this sort of issue from coming up again (hopefully)
2019-04-25 14:46:01 +02:00
Derek Schmidt 5c8f3b5978
Fix crash on window open
Missed a call when changing refresh to refresh_text
2019-04-24 21:32:28 -07:00
Derek Schmidt b9e9eea295
Redaw footer and header after panels
Fix left panel overlaping the footer on full_redraws
2019-04-24 16:57:55 -07:00
Derek Schmidt 24421fcb53
Fix resize when modals are visible
Use a callback function to allow items farther up in the stack
to have their own resize logic. This also requires a slight
change to the main TimelineApp to stay DRY
2019-04-24 16:57:52 -07:00
Ivan Habunek aff0c2281f
Improve keystroke handling 2019-04-24 14:05:28 +02:00
Ivan Habunek c862df8e40
Run curses with 20 statuses per page by default 2019-04-23 14:12:29 +02:00
Ivan Habunek 912e7c8bc4
Nicer header for curses 2019-04-23 13:53:06 +02:00
Ivan Habunek b9743ba268
Simplify windows setup 2019-04-23 13:31:17 +02:00
Ivan Habunek 9e8a127087
Update changelog 2019-04-23 13:17:26 +02:00
Ivan Habunek 096664b9dc
Fix tests 2019-04-23 13:16:24 +02:00
Ivan Habunek 92810459c7
Change content warning shortcut to ^W
^S will freeze most terminals
2019-04-16 14:37:34 +02:00
Derek Schmidt 747c5a611f
Add posted status / reply to the top of the timeline on submit 2019-04-16 14:21:08 +02:00
Derek Schmidt 2a6206903f
Mention EOT rather than RS
In my testing, not all terminal emulators have the same ctrl+enter
key accelerator for the ascii record seperator, so mention EOT
instead but still leave it in for those that might like it better.
2019-04-16 14:21:08 +02:00
Derek Schmidt 5d652754ec
Slightly redesign the modal to be more like a window
+ Only do a full draw on init, and just refresh on updates / show
+ Better differenciate "No content" vs "quit"
+ Reset the cursor position when content is cleared
2019-04-16 14:21:08 +02:00
Derek Schmidt 073d340908
Change control scheme to make more sense
Ctrl+Enter (or the standard ^D / EOT) to confirm, Escape to quit.

Since we're asking for a raw escape, we also need to tweak the
curses escape detection timeout a little, otherwise the user would
have to wait a whole second for the keystroke to register
2019-04-16 14:21:08 +02:00
Derek Schmidt 45bf2acba1
Default to CW of parent status when replying 2019-04-16 14:21:07 +02:00
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