newt-rs
Rust bindings for the Newt console UI library.
ChangeLog | API Docs | crates.io
This crate provides bindings to Red Hat, Inc.'s Newt console UI library. Newt is a small and simple to use UI library providing widgets and basic stacked window management for console applications.
The majority, if not all of Newt's functionality has been implemented. Although some features currently require the nightly build of the Rust compiler.
Usage
Include newt as a dependency of in your Cargo.toml
file as follows.
[dependencies]
newt = "0.5"
The library API is currently subject to change and there are likely to be breaking changes between minor versions.
Deprecation Warning
As of newt-rs 0.5.4
module organization has been refactored. Items have
been re-exported under their previous names and modules for compatability,
but these re-exports are likely to be removed in the future. The following
changes have been made:
-
The
newt::components
module has been renamed tonewt::widgets
. -
The
newt::components::Component
trait has been renamed tonewt::component::Component
. -
The
newt::components::ComponentFuncs
trait has been renamed tonewt::widgets::WidgetFns
. -
The
newt::grid::GridTrait
trait has been renamed tonewt::grid::GridFns
.
Features
static
feature
Enabling the static
feature will force the newt-sys
dependency
to be built against its included libraries statically rather than dynamically
against local system libraries if they're available.
It can be enabled in your Cargo.toml
file as follows.
[dependencies]
newt = { version = "0.5", features = ["static"] }
asm
feature
Some library functions such as windows::win_menu()
,
windows::win_entries()
, and Grid
related functions require the nightly
build of the Rust compiler and the newt asm feature to be enabled. These
are currently only available on the x86 and x86_64 architectures.
Enable the feature as follows in your Cargo.toml
file.
[dependencies]
newt = { version = "0.5", features = ["asm"] }
LICENSE
Copyright (C) 2018,2019 Robert Gill
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA