Commit Graph

1441 Commits

Author SHA1 Message Date
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
Alexandre Bury
a708e99ba6 Add missing get_inner to EnableableView 2019-10-25 19:53:43 -07:00
Alexandre Bury
884796fb02 Add PaddedView::get_inner(_mut) and fix clippy warnings 2019-10-25 19:46:49 -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
dac0f5a67e Update changelog 2019-10-22 16:20:06 -07:00
Alexandre Bury
92d63c71f1 Update crossterm to 0.12 2019-10-22 14:44:45 -07:00
Alexandre Bury
f15f36cc1b Add ScrollView::scroll_to_important_area 2019-10-22 13:58:59 -07:00
Alexandre Bury
14f2c962af Also mention send_wrapper in doc for CbSink 2019-10-14 10:04:50 -07:00
Alexandre Bury
aa74e691e1 Add LinearLayout::set_focus_index 2019-10-14 10:03:02 -07:00
Danilo Bargen
de0d76f796 Change lazy_static version specifier to 1 (#391)
This allows cursive to be used together with libraries that pin the
`lazy_static` dependency to a version below 1.3.
2019-10-10 11:30:29 -07:00
Alexandre Bury
ea26112368 Fix log warning 2019-10-09 15:48:33 -07:00
Alexandre Bury
6a29371076 Cursive::default fallbacks to dummy backend if nothing else is available 2019-10-09 15:38:51 -07:00
Alexandre Bury
c34aeab99a Try github actions without ncurses 2019-10-09 15:32:49 -07:00
Alexandre Bury
4f3965846c
Add initial github action 2019-10-09 14:53:15 -07:00
Alexandre Bury
04d27b352a Split Cursive::step in process_events and post_events 2019-10-09 14:06:19 -07:00
Alexandre Bury
22886859dd Make view::scroll public 2019-10-08 15:33:33 -07:00
Alexandre Bury
5bf6f952d1 Add more examples 2019-10-07 16:14:38 -07:00
Alexandre Bury
a9cbcad4d4 Add XY::sum and XY::product 2019-10-07 08:43:52 -07:00
Alexandre Bury
d6f5c0e0fa Update crossterm to 0.11 2019-10-04 13:17:32 -07:00
Alexandre Bury
149beee7b4 Add examples to SelectView 2019-10-04 13:12:00 -07:00
Alexandre Bury
7e20c6aa07 Update changelog 2019-10-04 12:31:48 -07:00
Alexandre Bury
e6b44d62df Update SelectView::item to take Into<StyledString> 2019-10-04 12:25:04 -07:00
panicbit
ae7a0090ff Allow SelectView::with_all to accept StyledString (#385) 2019-10-04 12:22:04 -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
8dcaa3d7d5 Add links to some cool Cursive users 2019-09-20 11:09:47 -07:00
Alexandre Bury
8be08a0879 Mention 3rd-party views from deinstapel 2019-09-20 10:59:21 -07:00
Alexandre Bury
cfcdfa7e9e Fix show_scrollbars 2019-09-19 22:45:54 -07:00
Alexandre Bury
86c800554b Make toml an optional feature 2019-09-09 14:45:07 -07:00
Alexandre Bury
565c64c528 Replace hashbrown with std+ahash 2019-09-09 12:51:22 -07:00
Johannes Wünsche
4623e40dab Change TitleSecondary from Yellow to Light Blue (#376) 2019-09-07 19:48:21 -07:00
Alexandre Bury
769ab8bf9b Replace event::AnyCb with non-boxed &dyn FnMut 2019-09-06 16:10:02 -07:00
Miguel Madrid Mencía
1fcb9db79c Fix clippy warning in tutorial 3 (#374)
- Writing `&String` instead of `&str` involves a new object where a
  slice will do
  See https://rust-lang.github.io/rust-clippy/master/#ptr_arg
2019-09-06 10:23:44 -07:00
Marcus Klaas de Vries
3ff9c3ce0d Bump pulldown_cmark to version 0.6.0 (#375) 2019-09-06 10:21:20 -07:00
Alexandre Bury
b3fed80939 Remove BoxView::squishable
No-one knew what it was doing.
2019-08-27 13:31:55 -07:00
Alexandre Bury
0a81454e7d Fix BoxView 2019-08-27 13:13:06 -07:00
Johannes Wünsche
e47dd87e0c BoxView Fixed, AtLeast, AtMost SizeConstraints (#368)
* Add wrap_draw implementation for BoxView

This implementation was required because the restriction of fixed &
at least sized BoxView was not fulfilled with the default. The new
implementation takes this into consideration.
2019-08-19 15:16:40 -07:00
Alexandre Bury
618e07ff34 (cargo-release) start next development iteration 0.13.1-alpha.0 2019-08-16 10:36:30 -07:00
Alexandre Bury
b842feef08 (cargo-release) version 0.13.0 2019-08-16 10:36:16 -07:00
Alexandre Bury
c6f40da9e1 Update changelog for 0.13.0 2019-08-16 10:35:43 -07:00
Alexandre Bury
63302bf01b Cleanup text_view 2019-08-16 10:15:00 -07:00
Leonardo Lang
dc10fd8c44 Fix out-of-bounds access on TextView
Frequent updates to `TextContent` while the screen is being refreshed can
trigger an out-of-bounds access: an update with a smaller string being
performed between calls to `compute_rows()` and `draw()` on TextView will
cause an out-of-bounds access when slicing the string at `Segment::resolve`.

This change fixes the issue by caching the content value when performing
size calculations and using this cached content when drawing the view.

Some additional changes were also made to reuse `TextContent` invalidation
code on `TextView` and wrap content data with `RefCell<Arc<..>>` to enable
sharing the inner string between `content_value` and `content_cache`.
2019-08-01 20:29:50 -04:00
Alexandre Bury
c0004c54c0 SizeConstraint::Full now defer to requested size if larger than available 2019-07-31 21:44:21 -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
ede8423e92 Update docs, fix minor typos, rephrase some parts of the tutorials (#364)
Also mention that strikethrough doesn't work with ncurses and blt.
2019-07-30 09:48:05 -07:00