Commit Graph

202 Commits

Author SHA1 Message Date
Johannes Wünsche
9de4d206bf Add Display & Eq trait for ObservedScreen (#422)
* Add Display&Eq trait for ObservedScreen
2020-01-27 17:53:23 -05:00
Alexandre Bury
5afefb8645 Move ctrl-C handling from backend to cursive callbacks 2020-01-26 14:51:34 -08:00
Alexandre Bury
45a9d54801 Ncurses: fix bad grayscale projection for very dark or very bright colors 2020-01-08 16:49:46 -08:00
Alexandre Bury
5e23c85f7a Fix clippy lints 2020-01-07 14:38:14 -08:00
Alexandre Bury
4c00dd3b72 Directly use crate::Vec2 2020-01-06 15:51:38 -08:00
Alexandre Bury
237c6c8e33 Crossterm: define platform-dependant Stdout type 2020-01-06 11:25:32 -08:00
Eric Izoita
f1fe477e6d crossterm: fix scroll up event conversion (#417) 2020-01-02 18:41:19 -08:00
Timon
54de6ca6c0 Crossterm 0.14 (#406)
Refactor and update crossterm backend.
2020-01-02 00:08:53 -08:00
Riey
1b47784b2a Fix crossterm mouse event position (#403) 2019-11-03 10:37:08 -08:00
mara
1f66ac0faa crossterm, termion: Reset bold with SGR 22 instead of 21 (#402)
NoBold (21) doesn't work in many terminals
22 (named NormalIntensity in crossterm, and NoFaint in termion) seems to do a better job.

Attempt at fixing #401.
2019-10-28 14:46:47 -07:00
mara
fee2768777 crossterm: Correct attribute for end of underline and reverse effect (#399)
- `NoUnderline` instead of `Underline`
- `NoInverse` instead of `Reverse`
2019-10-27 11:36:24 -07:00
mara
0b56f423d8 crossterm: Stop mouse mode and show cursor at finish (#400)
Something is wrong at the moment when finishing up, when
the crossterm backend is used.

The terminal is left in a strange state: the previous contents of the
terminal (as before the program) are visible, however the cursor is
invisible (and reset to the top left), and clicking the mouse spams
escape codes.

For some reason the `execute!` block in `finish` is failing. But it
doesn't seem to be necessary: crossterm already restores the alternative
screen at shutdown, which also restores the original cursor position and
attributes.

Do make sure that mouse mode is stopped and that the cursor is visible.
2019-10-27 11:36:00 -07:00
mara
985e4ebf96 Make enter and tab key work again in crossterm backend (#395)
It looks like new crossterm returns a dedicated enum item for the enter
and tab key instead of the `\n` and `\t` character.

Fixes #394.
2019-10-25 11:22:23 -07:00
Alexandre Bury
d6f5c0e0fa Update crossterm to 0.11 2019-10-04 13:17:32 -07:00
Riey
1404226c33 Don't print "\x1B[?1002h" on windows (#384) 2019-09-30 11:24:34 -07:00
Alexandre Bury
af5bd32eeb Use AHash for BLT HashSet 2019-09-20 11:31:12 -07:00
Alexandre Bury
565c64c528 Replace hashbrown with std+ahash 2019-09-09 12:51:22 -07:00
Alexandre Bury
63302bf01b Cleanup text_view 2019-08-16 10:15:00 -07:00
Alexandre Bury
349756e514 Fix clippy lints 2019-07-30 16:29:03 -07:00
Alexandre Bury
b7d71e8381 Rustfmt
Moves to "Tall" fn_args_layout
2019-07-30 16:08:40 -07:00
Andrzej J. Skalski
4a1fc3e49d Test backend (#310) 2019-07-30 11:57:01 -07:00
Timon
bddb1a9dde Crossterm Performance Update (#361) 2019-07-30 09:48:50 -07:00
cubetastic
9ca3f50bd6 Add strikethrough effect (#360) 2019-07-29 12:59:58 -07:00
Shixin Zeng
df0391aef2 [PAN] Interprete 'carriage return' as 'enter' (#342)
Pancurses returns different key codes for "Enter" in the normal area
('\r'), and the one in the numpad ('\n'). Cursive only interpretes '\n'
as Enter, and leaves '\r' as CtrlChar('m'), which is different than
that with NCurses on Linux, and makes 'Enter' key not trigger a clicked
event on buttons.
2019-05-08 10:07:05 -07:00
Alexandre Bury
26ea559479 Fix clippy warnings 2019-04-17 11:47:01 -07:00
Timon
34ecb67f1b Added crossterm backend. (#335)
Add a backend using the crossterm library.
2019-04-17 11:36:32 -07:00
Alexandre Bury
51c6450688 Rustfmt 2019-04-11 17:08:55 -07:00
Alexandre Bury
19ad7b6cc3 Use hashbrown::HashMap 2019-03-16 16:16:30 -07:00
Chris Vest
ea7b5dbae2 Add Backend::print_at_rep and make Printer::print_hline use it. (#326)
* Add Backend::print_at_rep and make Printer::print_hline use it.

This avoids a string allocation in `print_hline` and makes it faster, presumably for all backends.
This speeds up the rendering of the background in StackView.

* Fix a bug in how Printer::print_hline computes the repetition count.
2019-03-12 15:03:00 -07:00
Chris Vest
0dfa337ba4 Use a single hashmap lookup to determine if a color has been resolved, and to what, instead of two lookups. 2019-03-12 09:54:48 +01:00
Alexandre Bury
242a3c68a7 Fix clippy warnings 2019-03-04 10:31:36 -08:00
Alexandre Bury
9cd4f21963 Check $TERM on pancurses as well 2019-03-03 19:31:13 -08:00
Alexandre Bury
f765e9ac07 Cursive::ncurses & cie now return io::Result<Self> 2019-03-03 19:24:39 -08:00
Alexandre Bury
dcee6da16a ncurses: panic with error message if $TERM is unset 2019-03-03 18:24:04 -08:00
Alexandre Bury
b83ab6f2d3 Enable raw mode for pancurses 2019-02-28 16:22:48 -08:00
Alexandre Bury
53ebf90c0c Enable raw mode for ncurses 2019-02-28 16:20:07 -08:00
Alexandre Bury
06b02e4665 Remove "extern crate" and rustfmt 2019-02-28 16:04:14 -08:00
Alexandre Bury
e096dc9740 Run cargo fix --edition-idioms 2019-02-28 15:55:10 -08:00
Alexandre Bury
e51be07e5d Update to Rust 2018
Run `cargo fix --edition` and update Cargo.toml
2019-02-28 15:54:12 -08:00
Alexandre Bury
88d2fb1f46 Simplifies backend input 2019-02-28 13:41:40 -08:00
Alexandre Bury
79e23bb70e Update dependencies 2018-11-30 16:55:47 -08:00
Alexandre Bury
d9d34b4350 Add EventTrigger, refactor OnEventView 2018-11-09 10:40:06 -08:00
Alexandre Bury
02c2680eaa Do not infer WheelDown on non-legacy ncurses backends 2018-11-05 15:19:00 -08:00
Alexandre Bury
e111f982b9 Update for latest bear-lib-terminal 2018-11-05 11:03:52 -08:00
Alexandre Bury
005d505cc4 Enable wheel down detection on ubuntu 2018-11-05 10:59:55 -08:00
Alexandre Bury
9430fec91b Prepare for next ncurses release 2018-11-02 10:06:53 -07:00
Alexandre Bury
3b81305b16 Update ncurses backend to use mouse_v1 2018-11-01 14:38:14 -07:00
Alexander Gavrilov
a5e9f890d0 Do not compile signal_hook on Windows 2018-10-18 07:52:38 -07:00
Alexandre Bury
92f919978c Rustfmt 2018-08-22 13:33:29 -07:00
Alexandre Bury
4ccc07c6d3 Update pancurses backend handling of multiple events 2018-07-22 20:13:49 -07:00