We are excited to announce the new version of ratatui - a Rust library that's all about cooking up TUIs 🐭
In this version, we've introduced features like window size API, enhanced chart rendering, and more.
The list of *breaking changes* can be found here ⚠️.
Also, we created various tutorials and walkthroughs in Ratatui Book which is available at https://ratatui.rs 🚀
For image (sixel, iTerm2, Kitty...) support that handles graphics in
terms of `Rect` so that the image area can be included in layouts.
For example: an image is loaded with a known pixel-size, and drawn, but
the image protocol has no mechanism of knowing the actual cell/character
area that been drawn on. It is then impossible to skip overdrawing the
area.
Returning the window size in pixel-width / pixel-height, together with
columns / rows, it can be possible to account the pixel size of each cell
/ character, and then known the Rect of a given image, and also resize
the image so that it fits exactly in a Rect.
Crossterm and termwiz also both return both sizes from one syscall,
while termion does two.
Add a Size struct for the cases where a Rect's x/y is unused
(always zero).
Size is not "clipped" for area < u16::max_value() like Rect. This
is why there are From implementations between the two.
301366c(barchart) Render charts smaller than 3 lines (#532)
The bar values are not shown if the value width is equal the bar width
and the bar is height is less than one line
Add an internal structure LabelInfo which stores the reserved height
for the labels (0, 1 or 2) and also whether the labels will be shown.
We are excited to announce the new version of ratatui - a Rust library that's all about cooking up TUIs 🐭
In this version, we've introduced features like window size API, enhanced chart rendering, and more.
The list of *breaking changes* can be found here ⚠️.
Also, we created various tutorials and walkthroughs in Ratatui Book which is available at https://ratatui.rs 🚀
For image (sixel, iTerm2, Kitty...) support that handles graphics in
terms of `Rect` so that the image area can be included in layouts.
For example: an image is loaded with a known pixel-size, and drawn, but
the image protocol has no mechanism of knowing the actual cell/character
area that been drawn on. It is then impossible to skip overdrawing the
area.
Returning the window size in pixel-width / pixel-height, together with
columns / rows, it can be possible to account the pixel size of each cell
/ character, and then known the Rect of a given image, and also resize
the image so that it fits exactly in a Rect.
Crossterm and termwiz also both return both sizes from one syscall,
while termion does two.
Add a Size struct for the cases where a Rect's x/y is unused
(always zero).
Size is not "clipped" for area < u16::max_value() like Rect. This
is why there are From implementations between the two.
301366c(barchart) Render charts smaller than 3 lines (#532)
The bar values are not shown if the value width is equal the bar width
and the bar is height is less than one line
Add an internal structure LabelInfo which stores the reserved height
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps ratatui from 0.23.0 to 0.24.0.
Release notes
Sourced from ratatui's releases.
... (truncated)
Changelog
Sourced from ratatui's changelog.
... (truncated)
Commits
c597b87
chore(release): prepare for 0.24.0 (#588)82a0d01
chore(changelog): skip dependency updates in changelog (#582)0e573cd
docs(github): update code owners (#587)b070008
docs(readme): fix link to demo2 image (#589)c6c3f88
feat(backend): implement common traits forWindowSize
(#586)a20bd6a
chore(deps): update lru requirement from 0.11.1 to 0.12.0 (#581)5213f78
chore(deps): bump actions/checkout from 3 to 4 (#580)12f9291
chore(github): create dependabot.yml (#575)ad2dc56
docs(examples): update examples readme (#576)6cbdb06
chore(examples): refactor some examples (#578)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show