From c5a634bd5408ea5174035abf8713953e7fc48e08 Mon Sep 17 00:00:00 2001 From: pablu Date: Wed, 3 Jun 2026 10:47:59 +0200 Subject: Implement PackageLoader, just for available packages right now --- src/main.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index eecbffc..3f48139 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ mod app; +mod background_loader; mod gentoo; mod screens; mod signal; @@ -8,12 +9,14 @@ mod widgets; use std::{ io::{self, Stdout, stdout}, panic::{set_hook, take_hook}, + time::Duration, }; use clap::command; use ratatui::{ Terminal, crossterm::{ + event::poll, execute, terminal::{EnterAlternateScreen, LeaveAlternateScreen, disable_raw_mode, enable_raw_mode}, }, @@ -48,6 +51,7 @@ fn main() -> color_eyre::Result<()> { let p = Portage::new(installed_packages, world_packages, vec![]); let mut app = App::new(p); + app.start_available_packages_load(); run(tui, &mut app)?; @@ -56,10 +60,15 @@ fn main() -> color_eyre::Result<()> { fn run(mut terminal: Terminal>, app: &mut App) -> color_eyre::Result<()> { loop { + app.poll_available_packages(); + terminal.draw(|frame| app.draw(frame))?; - let should_exit = app.update()?; - if should_exit { - break; + + if poll(Duration::from_millis(50))? { + let should_exit = app.update()?; + if should_exit { + break; + } } } -- cgit 1.3.1