ratatui/examples
Josh McKinney ad2dc5646d
docs(examples): update examples readme (#576)
remove VHS bug info, tweak colors_rgb image, update some of the instructions. add demo2
2023-10-20 21:41:36 +02:00
..
demo chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
demo2 chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
barchart.rs chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
barchart.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
block.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
block.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
calendar.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
calendar.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
canvas.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
canvas.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
chart.rs chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
chart.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
colors.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
colors.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
colors_rgb.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
colors_rgb.tape docs(examples): update examples readme (#576) 2023-10-20 21:41:36 +02:00
custom_widget.rs docs(custom_widget): make button sticky when clicking with mouse (#561) 2023-10-06 11:17:14 +02:00
custom_widget.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
demo.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
demo2-social.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
demo2.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
docsrs.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
docsrs.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
gauge.rs fix(gauge): fix gauge widget colors (#572) 2023-10-19 04:29:53 -07:00
gauge.tape fix(gauge): fix gauge widget colors (#572) 2023-10-19 04:29:53 -07:00
generate.bash docs(examples): update examples readme (#576) 2023-10-20 21:41:36 +02:00
hello_world.rs feat(frame)!: Remove generic Backend parameter (#530) 2023-09-25 22:30:36 -07:00
hello_world.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
inline.rs chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
inline.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
layout.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
layout.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
list.rs chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
list.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
modifiers.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
modifiers.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
panic.rs feat(frame)!: Remove generic Backend parameter (#530) 2023-09-25 22:30:36 -07:00
panic.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
paragraph.rs chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
paragraph.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
popup.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
popup.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
README.md docs(examples): update examples readme (#576) 2023-10-20 21:41:36 +02:00
scrollbar.rs chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
scrollbar.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
sparkline.rs chore(examples): refactor some examples (#578) 2023-10-20 21:31:52 +02:00
sparkline.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
table.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
table.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
tabs.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
tabs.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00
user_input.rs chore: simplify constraints (#556) 2023-10-03 16:50:14 -07:00
user_input.tape docs(examples): udpate theme to Aardvark Blue (#574) 2023-10-18 13:35:51 +02:00

Examples

These gifs were created using VHS. Each example has a corresponding .tape file that holds instructions for how to generate the images. Note that the images themselves are stored in a separate git branch to avoid bloating the main repository.

Demo2

This is the demo example from the main README and crate page. Source: demo2.

cargo run --example=demo2 --features=crossterm

Demo2

Demo

This is the previous demo example from the main README. It is available for each of the backends. Source: demo.rs.

cargo run --example=demo --features=crossterm
cargo run --example=demo --no-default-features --features=termion
cargo run --example=demo --no-default-features --features=termwiz

Demo

Hello World

This is a pretty boring example, but it contains some good documentation on writing tui apps. Source: hello_world.rs.

cargo run --example=hello_world --features=crossterm

Hello World

Barchart

Demonstrates the BarChart widget. Source: barchart.rs.

cargo run --example=barchart --features=crossterm

Barchart

Block

Demonstrates the Block widget. Source: block.rs.

cargo run --example=block --features=crossterm

Block

Calendar

Demonstrates the Calendar widget. Source: calendar.rs.

cargo run --example=calendar --features="crossterm widget-calendar"

Calendar

Canvas

Demonstrates the Canvas widget and related shapes in the canvas module. Source: canvas.rs.

cargo run --example=canvas --features=crossterm

Canvas

Chart

Demonstrates the Chart widget. Source: chart.rs.

cargo run --example=chart --features=crossterm

Chart

Colors

Demonstrates the available Color options. These can be used in any style field. Source: colors.rs.

cargo run --example=colors --features=crossterm

Colors

Colors (RGB)

Demonstrates the available RGB Color options. These can be used in any style field. Source: colors_rgb.rs. Uses a half block technique to render two square-ish pixels in the space of a single rectangular terminal cell.

cargo run --example=colors_rgb --features=crossterm

Colors RGB

Custom Widget

Demonstrates how to implement the Widget trait. Also shows mouse interaction. Source: custom_widget.rs.

cargo run --example=custom_widget --features=crossterm

Custom Widget

Gauge

Demonstrates the Gauge widget. Source: gauge.rs.

cargo run --example=gauge --features=crossterm

Gauge

Inline

Demonstrates how to use the Inline Viewport mode for ratatui apps. Source: inline.rs.

cargo run --example=inline --features=crossterm

Inline

Layout

Demonstrates the Layout and interaction between each constraint. Source: layout.rs.

cargo run --example=layout --features=crossterm

Layout

List

Demonstrates the List widget. Source: list.rs.

cargo run --example=list --features=crossterm

List

Modifiers

Demonstrates the style Modifiers. Source: modifiers.rs.

cargo run --example=modifiers --features=crossterm

Modifiers

Panic

Demonstrates how to handle panics by ensuring that panic messages are written correctly to the screen. Source: panic.rs.

cargo run --example=panic --features=crossterm

Panic

Paragraph

Demonstrates the Paragraph widget. Source: paragraph.rs

cargo run --example=paragraph --features=crossterm

Paragraph

Popup

Demonstrates how to render a widget over the top of previously rendered widgets using the Clear widget. Source: popup.rs.

cargo run --example=popup --features=crossterm

Popup

Scrollbar

Demonstrates the Scrollbar widget. Source: scrollbar.rs.

cargo run --example=scrollbar --features=crossterm

Scrollbar

Sparkline

Demonstrates the Sparkline widget. Source: sparkline.rs.

cargo run --example=sparkline --features=crossterm

Sparkline

Table

Demonstrates the Table widget. Source: table.rs.

cargo run --example=table --features=crossterm

Table

Tabs

Demonstrates the Tabs widget. Source: tabs.rs.

cargo run --example=tabs --features=crossterm

Tabs

User Input

Demonstrates one approach to accepting user input. Source user_input.rs.

[!NOTE] Consider using tui-textarea or tui-input crates for more functional text entry UIs.

cargo run --example=user_input --features=crossterm

User Input