Setup layout.

This commit is contained in:
ClementTsang 2019-09-08 14:14:50 -04:00
parent 8b1e48a6b4
commit d80c2387fb

View file

@ -13,7 +13,40 @@ pub fn create_terminal() -> Result<(), io::Error> {
let mut terminal = Terminal::new(backend)?;
terminal.clear()?;
terminal.draw(|mut f| {
let size = f.size();
Block::default().title("CPU Usage").borders(Borders::ALL).render(&mut f, size);
let vertical_chunks = Layout::default()
.direction(Direction::Vertical)
.margin(1)
.constraints([Constraint::Percentage(33), Constraint::Percentage(34), Constraint::Percentage(33)].as_ref())
.split(f.size());
let top_chunks = Layout::default()
.direction(Direction::Horizontal)
.margin(0)
.constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref())
.split(vertical_chunks[0]);
let middle_chunks = Layout::default()
.direction(Direction::Horizontal)
.margin(0)
.constraints([Constraint::Percentage(40), Constraint::Percentage(60)].as_ref())
.split(vertical_chunks[1]);
let middle_divided_chunk = Layout::default()
.direction(Direction::Vertical)
.margin(0)
.constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref())
.split(middle_chunks[0]);
let bottom_chunks = Layout::default()
.direction(Direction::Horizontal)
.margin(0)
.constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref())
.split(vertical_chunks[2]);
Block::default().title("CPU Usage").borders(Borders::ALL).render(&mut f, top_chunks[0]);
Block::default().title("Memory Usage").borders(Borders::ALL).render(&mut f, top_chunks[1]);
Block::default().title("Temperatures").borders(Borders::ALL).render(&mut f, middle_divided_chunk[0]);
Block::default().title("Disk Usage").borders(Borders::ALL).render(&mut f, middle_divided_chunk[1]);
Block::default().title("IO Usage").borders(Borders::ALL).render(&mut f, middle_chunks[1]);
Block::default().title("Network").borders(Borders::ALL).render(&mut f, bottom_chunks[0]);
Block::default().title("Processes").borders(Borders::ALL).render(&mut f, bottom_chunks[1]);
})
}