Here are example programs using Cursive to help you getting familiar with the various aspects of the library.
To run an example, use cargo run --bin EXAMPLE_NAME
.
To use a specific cursive backend, you can do, for example:
cargo run --bin EXAMPLE_NAME --features cursive/crossterm-backend
Simplest example possible, it will show you the starting point of a basic Cursive application.
This example wraps the text in a Dialog
view, showing the basic idea of view
composition.
This example loads a large text file to show scrolling behaviour. It also includes greek and japanese characters to show non-ascii support.
Here we have an EditView
to get input from the user, and use that input in
the next view. It shows how to identify a view with an name and refer to it
later.
This example modifies the content of an existing view.
This example uses a LinearView
to put multiple views side-by-side.
Here we learn how to create a menubar at the top of the screen, and populate it with static and dynamic entried.
This example defines a custom view to display asynchronous input from a channel.
This example uses a custom view to print any input received. Can be used as a debugging tool to see what input the application is receiving.
This example uses a SelectView
to have the user pick a city from a long list.
This shows a use of a ListView
, used to build simple forms.
This example uses a TextArea
, where the user can input a block of text.
This example prints a text with markup decorations.
This loads a theme file at runtime to change default colors.
Instead of loading a theme file, this manually sets various theme settings.
This example shows the effect of the Color::TerminalDefault
setting.
This example draws a colorful square to show off true color support.
Here we show how to access multiple views concurently through their name.
This shows how to send information from an asynchronous task (like a download or slow computation) to update a progress bar.
This shows how to use RadioGroup
and RadioButton
.
This is a demonstration of the SliderView
.
mines
(Work in progress)
A larger example showing an implementation of minesweeper.