reorder statements to improve start up speed

This commit is contained in:
figsoda 2020-11-14 19:59:13 -05:00
parent 7d716d89cd
commit d75e809cbf

View file

@ -164,16 +164,6 @@ async fn run() -> Result<()> {
} else {
cfg.address
};
let clear_query_on_play = opts.clear_query_on_play
|| if opts.no_clear_query_on_play {
false
} else {
cfg.clear_query_on_play
};
let cycle = opts.cycle || if opts.no_cycle { false } else { cfg.cycle };
let jump_lines = opts.jump_lines.unwrap_or(cfg.jump_lines);
let seek_secs = opts.seek_secs.unwrap_or(cfg.seek_secs);
let mut idle_cl = mpd::init(addr).await?;
let cl = &mut mpd::init(addr).await?;
@ -186,6 +176,42 @@ async fn run() -> Result<()> {
let mut query = String::with_capacity(32);
let mut filtered = Vec::new();
enable_raw_mode().context("Failed to enable raw mode")?;
let mut stdout = stdout();
stdout
.execute(EnableMouseCapture)
.context("Failed to enable mouse capture")?;
stdout
.execute(EnterAlternateScreen)
.context("Failed to enter alternate screen")?;
let mut term =
Terminal::new(CrosstermBackend::new(stdout)).context("Failed to initialize terminal")?;
term.draw(|frame| {
layout::render(
frame,
frame.size(),
&cfg.layout,
&queue,
false,
&query,
&filtered,
&status,
&mut liststate,
);
})
.context("Failed to draw to terminal")?;
let clear_query_on_play = opts.clear_query_on_play
|| if opts.no_clear_query_on_play {
false
} else {
cfg.clear_query_on_play
};
let cycle = opts.cycle || if opts.no_cycle { false } else { cfg.cycle };
let jump_lines = opts.jump_lines.unwrap_or(cfg.jump_lines);
let seek_secs = opts.seek_secs.unwrap_or(cfg.seek_secs);
let seek_backwards = format!("seekcur -{}\n", seek_secs);
let seek_backwards = seek_backwards.as_bytes();
let seek_forwards = format!("seekcur +{}\n", seek_secs);
@ -224,17 +250,6 @@ async fn run() -> Result<()> {
}
});
enable_raw_mode().context("Failed to enable raw mode")?;
let mut stdout = stdout();
stdout
.execute(EnableMouseCapture)
.context("Failed to enable mouse capture")?;
stdout
.execute(EnterAlternateScreen)
.context("Failed to enter alternate screen")?;
let mut term =
Terminal::new(CrosstermBackend::new(stdout)).context("Failed to initialize terminal")?;
tokio::spawn(async move {
let tx = tx3;
while let Ok(ev) = event::read() {