Commit Graph

148 Commits

Author SHA1 Message Date
Alexandre Bury
2610b697a8 Rustfmt 2018-07-19 19:44:59 -07:00
Alexandre Bury
acd3bbfcca Share resize thread logic between all unix backends 2018-07-18 20:01:26 -07:00
Alexandre Bury
e0cc2ea703 Share resize thread logic between ncurses backends 2018-07-18 19:49:10 -07:00
Alexandre Bury
fd75249633 Move resize-specific behaviour to backend 2018-07-18 18:17:39 -07:00
Alexandre Bury
1f1e238d2e Fix pancurses for windows 2018-07-08 12:54:35 -07:00
Alexandre Bury
6135b0df79 Refactor input system
* Moves from chan to crossbeam-channel
* Moves from chan_signal to signal-hook
2018-07-08 12:49:12 -07:00
Alexandre Bury
6ce2dba8a1 Fix clippy warnings 2018-06-21 14:44:30 -07:00
Alexandre Bury
bd78bca91b Don't drag scrollbars if they're not visible 2018-06-20 17:35:58 -07:00
Alexandre Bury
9bd1eb320d Add size cache to ScrollView 2018-06-20 11:48:09 -07:00
Alexandre Bury
b96ea52a92 Do not import chan_signal if not required 2018-06-18 18:47:11 -07:00
Alexandre Bury
3f16e8ed60 Do not use chan_signal on windows 2018-06-18 16:50:09 -07:00
Alexandre Bury
26e5f51192 Use term_size instead of ioctl 2018-06-18 16:08:55 -07:00
Alexandre Bury
804e41ec43 Fix resize event 2018-06-17 17:26:03 -07:00
Alexandre Bury
14fe6f3b36 Cargo fmt 2018-06-16 13:23:09 -07:00
Alexandre Bury
35eb1ec5a2 Fix pancurses 2018-06-16 12:57:20 -07:00
Alexandre Bury
83bcf4fb72 Merge branch 'master' into callback_preemption 2018-06-16 11:03:39 -07:00
Alexandre Bury
3f5b37951b Do not consume input before exit 2018-06-16 10:58:55 -07:00
Alexandre Bury
5e1956b737 Merge branch 'master' into scroll 2018-06-15 23:21:10 -07:00
Alexandre Bury
8acc08f340 Rustfmt 2018-06-10 23:29:19 -07:00
Alexandre Bury
70cddae454 Add comments 2018-05-21 22:51:10 -07:00
Alexandre Bury
c8d39910ab Backend: add AtomicBool to stop input thread 2018-05-20 10:55:13 -07:00
Alexandre Bury
0b6e5b6ad4 Add event polling to Blt backend
Basically simulates a constant set_fps(30)
2018-05-20 10:42:52 -07:00
Alexandre Bury
05e1212a50 Refactor Backend input model
Backends now have to send input to the given `chan::Sender<Event>`.
They send these events from a separate thread, allowing selection
between input and callbacks.

This currently breaks the BearLibTerminal backend, which requires all
calls to come from the UI thread.

This might not be super-safe for the ncurses backend also. We hope that
input and output are separate enough that they can run concurrently without
problem.
2018-05-20 09:59:35 -07:00
Alexandre Bury
2088d5de2a Cargo fmt 2018-05-17 17:37:39 -07:00
Alexandre Bury
755854963f Fix clippy warnings 2018-05-17 17:35:57 -07:00
Alexandre Bury
f0b3287d73 Merge branch 'master' into scroll 2018-04-16 22:42:42 -07:00
Alexandre Bury
3731b7375d Ncurses: better color approximation
On terminals with only 8 colors (like with `TERM=screen`)
2018-04-11 22:20:00 -07:00
Alexandre Bury
8c00b171c0 Ncurses: better color approximation
On terminals with only 8 colors (like with `TERM=screen`)
2018-04-11 22:16:08 -07:00
Alexandre Bury
a355171844 Fix clippy warnings 2018-04-10 11:53:25 -07:00
Alexandre Bury
d5178e778b Do not flush stdout in ncurses backend 2018-04-09 10:06:11 -07:00
Alexandre Bury
2729e77838 Ncurses backend: write mouse command to /dev/tty 2018-04-08 22:51:51 -07:00
Alexandre Bury
b34fb14957 Use ncurses::newterm instead of initscr
This leaves stdout untouched, so it can better be composed in other
commands.
2018-04-05 17:40:08 -07:00
Alexandre Bury
fd09b5f806 Use Vec2 in backend methods 2018-04-02 18:08:12 -07:00
Alexandre Bury
126530b9a9 Cursive::new now takes the backend as argument 2018-04-01 16:39:03 -07:00
SEGFAULT
76d340f11d Making backend::Backend into a std::Boxable trait (#229)
* Making Backend into a Boxable Trait

* Fixed up some typos in the previous and modified some of the docs so they still compile.

* Minor Changes requested by @gyscos

* Whoops
2018-04-01 15:35:37 -07:00
Alexandre Bury
1ad515e5f0 rustfmt 2018-03-22 11:04:58 -07:00
Alexandre Bury
1ad9a53cf7 Small refactoring 2018-03-14 15:11:27 -07:00
Alexandre Bury
1ae3bbff89 Fix pancurses input
Fixes #210
2018-03-08 10:03:41 -08:00
Alexandre Bury
99046d10c3 Use special key detection for pancurses
Shared with the ncurses backend code
2018-02-20 15:44:07 -08:00
Alexandre Bury
beefac9c6a curses backends: don't crash on weird input 2018-02-20 11:18:02 -08:00
Alexandre Bury
3f35b87757 Use print! rather than println! for ncurses configuration 2018-02-20 10:43:38 -08:00
Alexandre Bury
c626779d8a Fix simple LinesIterator
Was stopping at the first empty line.
2018-02-19 19:55:31 -08:00
Alexandre Bury
b14a2ff5e7 Remove debug lines 2018-01-27 18:15:27 -08:00
Alexandre Bury
fbd4dd97f1 Add grayscale color matching for ncurses backend 2018-01-27 18:14:37 -08:00
Alexandre Bury
da8310b076 Rustfmt 2018-01-22 14:37:27 -08:00
Alexandre Bury
3674c118cb Rustfmt 2018-01-22 11:55:56 -08:00
Alexandre Bury
5003095171 Update ncurses and owning-ref dependencies 2018-01-15 13:58:26 -08:00
Alexander Gavrilov
f8f23a5dda Call resize_item on Windows only 2018-01-09 08:24:17 -08:00
Alexander Gavrilov
7469bd36be Call resize_term on KeySize 2018-01-09 08:01:22 -08:00
Alexandre Bury
f8588e74c1 Rustfmt 2018-01-09 15:17:49 +01:00