When running crossterm-backend with this command, on linux, I will get an error that ncurses is not installed. By adding this, it works fine.
3.0 KiB
Cursive Examples
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 --no-default-features
hello_world
Simplest example possible, it will show you the starting point of a basic Cursive application.
dialog
This example wraps the text in a Dialog
view, showing the basic idea of view
composition.
lorem
This example loads a large text file to show scrolling behaviour. It also includes greek and japanese characters to show non-ascii support.
edit
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.
mutation
This example modifies the content of an existing view.
linear
This example uses a LinearView
to put multiple views side-by-side.
menubar
Here we learn how to create a menubar at the top of the screen, and populate it with static and dynamic entried.
logs
This example defines a custom view to display asynchronous input from a channel.
key_codes
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.
select
This example uses a SelectView
to have the user pick a city from a long list.
list_view
This shows a use of a ListView
, used to build simple forms.
text_area
This example uses a TextArea
, where the user can input a block of text.
markup
This example prints a text with markup decorations.
theme
This loads a theme file at runtime to change default colors.
theme_manual
Instead of loading a theme file, this manually sets various theme settings.
terminal_default
This example shows the effect of the Color::TerminalDefault
setting.
colors
This example draws a colorful square to show off true color support.
refcell_view
Here we show how to access multiple views concurently through their name.
progress
This shows how to send information from an asynchronous task (like a download or slow computation) to update a progress bar.
radio
This shows how to use RadioGroup
and RadioButton
.
slider
This is a demonstration of the SliderView
.
mines
(Work in progress)
A larger example showing an implementation of minesweeper.