mirror of
https://github.com/apognu/tuigreet.git
synced 2024-10-26 16:42:13 +03:00
Updated dependencies (and tui-rs to 0.10.0).
This commit is contained in:
parent
3fc0829b89
commit
6560f2b6c9
76
Cargo.lock
generated
76
Cargo.lock
generated
@ -26,9 +26,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.55"
|
||||
version = "1.0.59"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1be3409f94d7bdceeb5f5fac551039d9b3f00e25da7a74fc4d33400a0d96368"
|
||||
checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
@ -38,9 +38,9 @@ checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.11"
|
||||
version = "0.4.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2"
|
||||
checksum = "942f72db697d8767c22d46a598e01f2d3b475501ea43d0db4f16d90259182d0b"
|
||||
dependencies = [
|
||||
"num-integer",
|
||||
"num-traits",
|
||||
@ -56,12 +56,6 @@ dependencies = [
|
||||
"rand",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
|
||||
|
||||
[[package]]
|
||||
name = "getopts"
|
||||
version = "0.2.21"
|
||||
@ -103,15 +97,6 @@ dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
|
||||
dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "0.4.6"
|
||||
@ -120,21 +105,20 @@ checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.71"
|
||||
version = "0.2.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
|
||||
checksum = "a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10"
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.17.0"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363"
|
||||
checksum = "83450fe6a6142ddd95fb064b746083fc4ef1705fe81f64a64e1d4b39f54a1055"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"void",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -180,9 +164,9 @@ checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.18"
|
||||
version = "1.0.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa"
|
||||
checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
@ -239,9 +223,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.1.56"
|
||||
version = "0.1.57"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
|
||||
checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
|
||||
|
||||
[[package]]
|
||||
name = "redox_termios"
|
||||
@ -270,18 +254,18 @@ checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.114"
|
||||
version = "1.0.115"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3"
|
||||
checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.114"
|
||||
version = "1.0.115"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e"
|
||||
checksum = "609feed1d0a73cc36a0182a840a9b37b4a82f0b1150369f0536a9e3f2a31dc48"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -290,9 +274,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.55"
|
||||
version = "1.0.57"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec2c5d7e739bc07a3e73381a39d61fdb5f671c60c1df26a130690665803d8226"
|
||||
checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
@ -301,9 +285,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.33"
|
||||
version = "1.0.38"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd"
|
||||
checksum = "e69abc24912995b3038597a7a593be5053eb0fb44f3cc5beec0deb421790c1f4"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -324,9 +308,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "textwrap"
|
||||
version = "0.12.0"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e30fc9a1b93fe45a3811654d49ead7306cf8fb18aa7fe6bf630a1099111cd2d6"
|
||||
checksum = "203008d98caf094106cfaba70acfed15e18ed3ddb7d94e49baec153a2b462789"
|
||||
dependencies = [
|
||||
"unicode-width",
|
||||
]
|
||||
@ -363,14 +347,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tui"
|
||||
version = "0.9.5"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9533d39bef0ae8f510e8a99d78702e68d1bbf0b98a78ec9740509d287010ae1e"
|
||||
checksum = "a977b0bb2e2033a6fef950f218f13622c3c34e59754b704ce3492dedab1dfe95"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cassowary",
|
||||
"either",
|
||||
"itertools",
|
||||
"termion",
|
||||
"unicode-segmentation",
|
||||
"unicode-width",
|
||||
@ -399,9 +381,9 @@ checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.7"
|
||||
version = "0.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
|
||||
checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
@ -409,12 +391,6 @@ version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
||||
|
||||
[[package]]
|
||||
name = "void"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.9.0+wasi-snapshot-preview1"
|
||||
|
@ -9,8 +9,8 @@ build = "build.rs"
|
||||
getopts = "0.2.21"
|
||||
greetd_ipc = { version = "0.6.0", features = ["sync-codec"] }
|
||||
termion = "1.5.5"
|
||||
tui = "0.9.5"
|
||||
nix = "0.17.0"
|
||||
tui = "0.10.0"
|
||||
nix = "0.18.0"
|
||||
textwrap = "0.12.0"
|
||||
chrono = "0.4.11"
|
||||
zeroize = "1.1.0"
|
||||
|
@ -4,7 +4,8 @@ use termion::raw::RawTerminal;
|
||||
use tui::{
|
||||
backend::TermionBackend,
|
||||
layout::{Constraint, Direction, Layout, Rect},
|
||||
widgets::{Block, BorderType, Borders, Paragraph, Text},
|
||||
text::Spans,
|
||||
widgets::{Block, BorderType, Borders, Paragraph},
|
||||
Frame,
|
||||
};
|
||||
|
||||
@ -37,10 +38,10 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
let chunks = Layout::default().direction(Direction::Vertical).constraints(constraints.as_ref()).split(frame);
|
||||
let cursor = chunks[0];
|
||||
|
||||
let command_label_text = [prompt_value(COMMAND)];
|
||||
let command_label = Paragraph::new(command_label_text.iter());
|
||||
let command_value_text = [Text::raw(&greeter.new_command)];
|
||||
let command_value = Paragraph::new(command_value_text.iter());
|
||||
let command_label_text = vec![prompt_value(COMMAND)];
|
||||
let command_label = Paragraph::new(command_label_text);
|
||||
let command_value_text = vec![Spans::from(greeter.new_command.clone())];
|
||||
let command_value = Paragraph::new(command_value_text);
|
||||
|
||||
f.render_widget(command_label, chunks[0]);
|
||||
f.render_widget(command_value, Rect::new(1 + chunks[0].x + COMMAND.len() as u16, chunks[0].y, get_input_width(greeter, COMMAND), 1));
|
||||
|
@ -14,7 +14,8 @@ use tui::{
|
||||
backend::TermionBackend,
|
||||
layout::{Alignment, Constraint, Direction, Layout},
|
||||
style::{Modifier, Style},
|
||||
widgets::{Paragraph, Text},
|
||||
text::{Span, Spans},
|
||||
widgets::Paragraph,
|
||||
Terminal,
|
||||
};
|
||||
|
||||
@ -49,8 +50,8 @@ pub fn draw(terminal: &mut Terminal<TermionBackend<RawTerminal<io::Stdout>>>, gr
|
||||
.split(size);
|
||||
|
||||
if greeter.config().opt_present("time") {
|
||||
let time_text = [Text::raw(get_time())];
|
||||
let time = Paragraph::new(time_text.iter()).alignment(Alignment::Center);
|
||||
let time_text = vec![Spans::from(get_time())];
|
||||
let time = Paragraph::new(time_text).alignment(Alignment::Center);
|
||||
|
||||
f.render_widget(time, chunks[0]);
|
||||
}
|
||||
@ -61,7 +62,7 @@ pub fn draw(terminal: &mut Terminal<TermionBackend<RawTerminal<io::Stdout>>>, gr
|
||||
.split(chunks[2]);
|
||||
|
||||
let command = greeter.command.clone().unwrap_or_else(|| "-".to_string());
|
||||
let status_left_text = [
|
||||
let status_left_text = vec![
|
||||
status_label("ESC"),
|
||||
status_value(EXIT),
|
||||
status_label("F2"),
|
||||
@ -71,13 +72,13 @@ pub fn draw(terminal: &mut Terminal<TermionBackend<RawTerminal<io::Stdout>>>, gr
|
||||
status_label(COMMAND),
|
||||
status_value(command),
|
||||
];
|
||||
let status_left = Paragraph::new(status_left_text.iter());
|
||||
let status_left = Paragraph::new(status_left_text);
|
||||
|
||||
f.render_widget(status_left, status_chunks[0]);
|
||||
|
||||
if capslock_status() {
|
||||
let status_right_text = [status_label(format!(" {} ", CAPS_LOCK))];
|
||||
let status_right = Paragraph::new(status_right_text.iter()).alignment(Alignment::Right);
|
||||
let status_right_text = vec![status_label(format!(" {} ", CAPS_LOCK))];
|
||||
let status_right = Paragraph::new(status_right_text).alignment(Alignment::Right);
|
||||
|
||||
f.render_widget(status_right, status_chunks[1]);
|
||||
}
|
||||
@ -102,23 +103,23 @@ fn get_time() -> String {
|
||||
Local::now().format("%b, %d %h %Y - %H:%M").to_string()
|
||||
}
|
||||
|
||||
fn status_label<'s, S>(text: S) -> Text<'s>
|
||||
fn status_label<'s, S>(text: S) -> Spans<'s>
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
Text::styled(text.into(), Style::default().modifier(Modifier::REVERSED))
|
||||
Spans::from(Span::styled(text.into(), Style::default().add_modifier(Modifier::REVERSED)))
|
||||
}
|
||||
|
||||
fn status_value<'s, S>(text: S) -> Text<'s>
|
||||
fn status_value<'s, S>(text: S) -> Spans<'s>
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
Text::raw(format!(" {} ", text.into()))
|
||||
Spans::from(format!(" {} ", text.into()))
|
||||
}
|
||||
|
||||
fn prompt_value<'s, S>(text: S) -> Text<'s>
|
||||
fn prompt_value<'s, S>(text: S) -> Spans<'s>
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
Text::styled(text.into(), Style::default().modifier(Modifier::BOLD))
|
||||
Spans::from(Span::styled(text.into(), Style::default().add_modifier(Modifier::BOLD)))
|
||||
}
|
||||
|
@ -4,7 +4,8 @@ use termion::raw::RawTerminal;
|
||||
use tui::{
|
||||
backend::TermionBackend,
|
||||
layout::{Alignment, Constraint, Direction, Layout, Rect},
|
||||
widgets::{Block, BorderType, Borders, Paragraph, Text},
|
||||
text::Spans,
|
||||
widgets::{Block, BorderType, Borders, Paragraph},
|
||||
Frame,
|
||||
};
|
||||
|
||||
@ -33,8 +34,8 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
let container = Rect::new(x, y, width, height);
|
||||
let frame = Rect::new(x + container_padding, y + container_padding, width - container_padding, height - container_padding);
|
||||
|
||||
let hostname = format!(" {} {} ", TITLE, get_hostname());
|
||||
let block = Block::default().title(&hostname).borders(Borders::ALL).border_type(BorderType::Plain);
|
||||
let hostname = Spans::from(format!(" {} {} ", TITLE, get_hostname()));
|
||||
let block = Block::default().title(hostname).borders(Borders::ALL).border_type(BorderType::Plain);
|
||||
|
||||
f.render_widget(block, container);
|
||||
|
||||
@ -55,17 +56,17 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
let cursor = chunks[USERNAME_INDEX];
|
||||
|
||||
if let Some(greeting) = &greeting {
|
||||
let greeting_text = [Text::raw(greeting.trim_end())];
|
||||
let greeting_label = Paragraph::new(greeting_text.iter()).alignment(Alignment::Center);
|
||||
let greeting_text = vec![Spans::from(greeting.trim_end())];
|
||||
let greeting_label = Paragraph::new(greeting_text).alignment(Alignment::Center);
|
||||
|
||||
f.render_widget(greeting_label, chunks[GREETING_INDEX]);
|
||||
}
|
||||
|
||||
let username_text = [prompt_value(USERNAME)];
|
||||
let username_label = Paragraph::new(username_text.iter());
|
||||
let username_text = vec![prompt_value(USERNAME)];
|
||||
let username_label = Paragraph::new(username_text);
|
||||
|
||||
let username_value_text = [Text::raw(&greeter.username)];
|
||||
let username_value = Paragraph::new(username_value_text.iter());
|
||||
let username_value_text = vec![Spans::from(greeter.username.clone())];
|
||||
let username_value = Paragraph::new(username_value_text);
|
||||
|
||||
match greeter.mode {
|
||||
Mode::Username | Mode::Password => {
|
||||
@ -75,8 +76,8 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
Rect::new(1 + chunks[USERNAME_INDEX].x + USERNAME.len() as u16, chunks[USERNAME_INDEX].y, get_input_width(greeter, USERNAME), 1),
|
||||
);
|
||||
|
||||
let answer_text = if greeter.working { [Text::raw(WORKING)] } else { [prompt_value(&greeter.prompt)] };
|
||||
let answer_label = Paragraph::new(answer_text.iter());
|
||||
let answer_text = if greeter.working { vec![Spans::from(WORKING)] } else { vec![prompt_value(&greeter.prompt)] };
|
||||
let answer_label = Paragraph::new(answer_text);
|
||||
|
||||
if greeter.mode == Mode::Password || greeter.previous_mode == Mode::Password {
|
||||
f.render_widget(answer_label, chunks[ANSWER_INDEX]);
|
||||
@ -88,8 +89,8 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
greeter.answer.clone()
|
||||
};
|
||||
|
||||
let answer_value_text = [Text::raw(&value)];
|
||||
let answer_value = Paragraph::new(answer_value_text.iter());
|
||||
let answer_value_text = vec![Spans::from(value)];
|
||||
let answer_value = Paragraph::new(answer_value_text);
|
||||
|
||||
f.render_widget(
|
||||
answer_value,
|
||||
@ -103,9 +104,9 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(ref message) = message {
|
||||
let message_text = [Text::raw(message)];
|
||||
let message = Paragraph::new(message_text.iter());
|
||||
if let Some(message) = message {
|
||||
let message_text = vec![Spans::from(message)];
|
||||
let message = Paragraph::new(message_text);
|
||||
|
||||
match greeter.mode {
|
||||
Mode::Username => f.render_widget(message, chunks[ANSWER_INDEX]),
|
||||
|
@ -5,7 +5,8 @@ use tui::{
|
||||
backend::TermionBackend,
|
||||
layout::Rect,
|
||||
style::{Modifier, Style},
|
||||
widgets::{Block, BorderType, Borders, Paragraph, Text},
|
||||
text::{Span, Spans},
|
||||
widgets::{Block, BorderType, Borders, Paragraph},
|
||||
Frame,
|
||||
};
|
||||
|
||||
@ -24,15 +25,15 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
|
||||
let container = Rect::new(x, y, width, height);
|
||||
|
||||
let title = format!(" {} ", CHANGE_SESSION);
|
||||
let block = Block::default().title(&title).borders(Borders::ALL).border_type(BorderType::Plain);
|
||||
let title = Spans::from(format!(" {} ", CHANGE_SESSION));
|
||||
let block = Block::default().title(title).borders(Borders::ALL).border_type(BorderType::Plain);
|
||||
|
||||
for (index, (name, _)) in greeter.sessions.iter().enumerate() {
|
||||
let name = format!("{:1$}", name, greeter.width() as usize - 4);
|
||||
|
||||
let frame = Rect::new(x + 2, y + 2 + index as u16, width, 1);
|
||||
let option_text = [get_option(&greeter, name, index)];
|
||||
let option = Paragraph::new(option_text.iter());
|
||||
let option_text = vec![get_option(&greeter, name, index)];
|
||||
let option = Paragraph::new(option_text);
|
||||
|
||||
f.render_widget(option, frame);
|
||||
}
|
||||
@ -42,13 +43,13 @@ pub fn draw(greeter: &mut Greeter, f: &mut Frame<TermionBackend<RawTerminal<io::
|
||||
Ok((1, 1))
|
||||
}
|
||||
|
||||
fn get_option<'g, S>(greeter: &Greeter, name: S, index: usize) -> Text<'g>
|
||||
fn get_option<'g, S>(greeter: &Greeter, name: S, index: usize) -> Spans<'g>
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
if greeter.selected_session == index {
|
||||
Text::styled(name.into(), Style::default().modifier(Modifier::REVERSED))
|
||||
Spans::from(Span::styled(name.into(), Style::default().add_modifier(Modifier::REVERSED)))
|
||||
} else {
|
||||
Text::raw(name.into())
|
||||
Spans::from(name.into())
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user