aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rwxr-xr-xsrc/main.rs37
1 files changed, 4 insertions, 33 deletions
diff --git a/src/main.rs b/src/main.rs
index ce64c85..d8441d3 100755
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,50 +1,21 @@
-#![allow(unused_imports)]
-use clap::Parser;
-use rmptui::app;
use rmptui::app::App;
use rmptui::app::AppResult;
-use rmptui::cli::Args;
-use rmptui::cli::Command;
-use rmptui::connection::Connection;
use rmptui::event::event::Event;
use rmptui::event::event::EventHandler;
use rmptui::event::handler;
use rmptui::tui;
use std::env;
use std::io;
-
-use crossterm::event::{self, KeyCode, KeyEvent, KeyEventKind};
-use ratatui::{
- prelude::*,
- symbols::border,
- widgets::{block::*, *},
-};
+use ratatui::prelude::*;
pub type Result<T> = core::result::Result<T, Error>;
pub type Error = Box<dyn std::error::Error>;
fn main() -> AppResult<()> {
- let args = Args::parse();
let env_host = env::var("MPD_HOST").unwrap_or_else(|_| "127.0.0.1".to_string());
let env_port = env::var("MPD_PORT").unwrap_or_else(|_| "6600".to_string());
let mut app = App::builder(format!("{}:{}", env_host, env_port).as_str())?;
- if !args.tui {
- handle_tui(&mut app)?;
- } else {
- match args.command {
- Some(Command::Dmenu) => app.conn.play_dmenu()?,
- Some(Command::Fzf) => app.conn.play_fzf().unwrap(),
- Some(Command::Status) => app.conn.status(),
- Some(Command::Pause) => app.conn.pause(),
- Some(Command::Toggle) => app.conn.toggle_pause(),
- _ => {}
- }
- }
- Ok(())
-}
-
-pub fn handle_tui(app: &mut App) -> AppResult<()> {
let backend = CrosstermBackend::new(io::stderr());
let terminal = Terminal::new(backend)?;
let events = EventHandler::new(1000);
@@ -52,14 +23,14 @@ pub fn handle_tui(app: &mut App) -> AppResult<()> {
let mut tui = tui::Tui::new(terminal, events);
tui.init()?;
- // update the directory
+ // initial directory read
app.browser.update_directory(&mut app.conn).unwrap();
while app.running {
- tui.draw(app)?;
+ tui.draw(&mut app)?;
match tui.events.next()? {
Event::Tick => app.tick(),
- Event::Key(key_event) => handler::handle_key_events(key_event, app)?,
+ Event::Key(key_event) => handler::handle_key_events(key_event, &mut app)?,
Event::Mouse(_) => {}
Event::Resize(_, _) => {}
}