btop 0.1.0

Btop CLI monitoring tool, re-imagined in Rust 🦀
use ratatui::{widgets::{Borders, Sparkline, BarChart, BarGroup, Bar}, text::Line};
use sysinfo::SystemExt;

pub fn get_memory_block<'a>() -> BarChart<'a> {

  let style = ratatui::style::Style
    ::default()
    .fg(ratatui::style::Color::Rgb(80, 80, 225));


  let block = ratatui::widgets::Block::default()
    .title("Memory")
    .border_type(ratatui::widgets::BorderType::Rounded)
    .borders(Borders::ALL)
    .style(style);
  
  let mut sys = sysinfo::System::new();
  sys.refresh_memory();

  let mem_used = sys.used_memory() as f32 / 1024.0 / 1024.0 / 1024.0;
  let mem_total = sys.total_memory() / 1024 / 1024 / 1024;
  let bar_group = BarGroup::default().bars(&[
    Bar::default().value(mem_used as u64).label("Used".into()),
  ]).label("Memory".into());
  let chart = BarChart::default()
    .data(bar_group)
    .max(mem_total)
    .block(block)
    .direction(ratatui::layout::Direction::Horizontal);

  chart
}