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
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
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
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
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
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
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
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
996228d224
Employ wcstring utils to improve rendering
2019-02-14 15:47:40 +01:00
Nick Loadholtes
91fc273af7
Update for the curses ui help menu ( #78 )
...
Added `s` option to the help menu.
2018-12-30 22:34:15 +01:00
Kasra_mp
6fc48697c5
#69 Fix typo
2018-08-11 10:58:13 +02:00
Ivan Habunek
f7619d5b22
Move parsing functions to separate file
2018-06-12 12:03:49 +02:00
Ivan Habunek
c6b1d91370
Improve rendering of list view
...
Fixes appearence when unicode wraps due to wide characters.
Not a real fix, but looks nicer.
2018-01-22 10:18:48 +01:00
Ivan Habunek
760a80442c
Add help modal window
2018-01-22 10:07:18 +01:00
Ivan Habunek
cb1f7b4e61
Highlight hashtags
2018-01-21 16:39:16 +01:00
Ivan Habunek
3d44eeebba
More colors
2018-01-21 14:30:05 +01:00
Ivan Habunek
4314751610
Localize text wrapping
2018-01-20 13:43:21 +01:00
Ivan Habunek
fba3b78ff6
Respect sensitive content, require keypress to show
...
fixes #42
2018-01-20 12:44:22 +01:00
Ivan Habunek
d8fd8d0d56
Wrap URLs if needed
2018-01-14 15:46:31 +01:00
Ivan Habunek
e829ce2714
Don't draw out of bounds
2018-01-14 15:46:31 +01:00
Ivan Habunek
5463e86d5d
Don't draw empty line when account has no name
2018-01-14 15:46:31 +01:00
Ivan Habunek
53cd9442f8
Fix list window refresh
2018-01-14 15:46:30 +01:00
Ivan Habunek
e204722425
Extract status list window
2018-01-14 15:46:30 +01:00
Ivan Habunek
554618db4b
Extract header and footer windows
2018-01-14 15:46:30 +01:00
Ivan Habunek
dc3b17c69b
Extract StatusDetailWindow
2018-01-14 15:46:30 +01:00
Ivan Habunek
022e437784
Fix status url parsing
...
Use reblog url if status url not present.
2018-01-14 15:46:30 +01:00
Ivan Habunek
e421d24c80
Move curses app into toot.ui module
2018-01-14 15:46:29 +01:00