2017-07-23 14:01:17 +03:00
|
|
|
extern crate ncurses;
|
|
|
|
extern crate maildir;
|
|
|
|
extern crate mailparse;
|
|
|
|
|
|
|
|
mod ui;
|
|
|
|
|
|
|
|
use ui::index::*;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let locale_conf = ncurses::LcCategory::all;
|
|
|
|
ncurses::setlocale(locale_conf, "en_US.UTF-8");
|
|
|
|
ui::initialize();
|
2017-07-28 17:45:19 +03:00
|
|
|
let mailbox = Mailbox::new("PATH");
|
|
|
|
let mut index = Index::new(mailbox);
|
2017-07-23 14:01:17 +03:00
|
|
|
ncurses::refresh();
|
|
|
|
|
|
|
|
index.draw();
|
|
|
|
|
|
|
|
let mut ch;
|
|
|
|
loop {
|
|
|
|
ch = ncurses::get_wch();
|
|
|
|
match ch {
|
|
|
|
Some(ncurses::WchResult::KeyCode(k @ ncurses::KEY_UP)) |
|
|
|
|
Some(ncurses::WchResult::KeyCode(k @ ncurses::KEY_DOWN)) => {
|
|
|
|
index.scroll(k);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
Some(ncurses::WchResult::Char(10)) => {
|
|
|
|
index.show_pager();
|
|
|
|
index.draw();
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
Some(ncurses::WchResult::KeyCode(ncurses::KEY_F1)) => {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
_ => {}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|