2020-12-02 06:52:21 +01:00
|
|
|
extern crate crossbeam_channel as channel;
|
2020-11-24 16:11:27 +01:00
|
|
|
extern crate dirs_next as dirs;
|
|
|
|
|
|
|
|
use std::fs::Permissions;
|
|
|
|
use std::os::unix::fs::PermissionsExt;
|
|
|
|
|
2020-11-24 09:12:24 +01:00
|
|
|
use iced::Application;
|
2020-11-23 07:52:07 +01:00
|
|
|
|
2020-11-23 17:18:05 +01:00
|
|
|
pub mod matrix;
|
2020-11-23 07:52:07 +01:00
|
|
|
pub mod ui;
|
|
|
|
|
2020-11-24 16:11:27 +01:00
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
2020-12-03 12:12:07 +01:00
|
|
|
tracing_subscriber::fmt::init();
|
|
|
|
|
2020-11-24 16:11:27 +01:00
|
|
|
let config_dir = dirs::config_dir().unwrap().join("retrix");
|
|
|
|
// Make sure config dir exists and is not accessible by other users.
|
|
|
|
if !config_dir.is_dir() {
|
|
|
|
std::fs::create_dir(&config_dir)?;
|
|
|
|
std::fs::set_permissions(&config_dir, Permissions::from_mode(0o700))?;
|
|
|
|
}
|
|
|
|
|
2020-12-02 06:52:21 +01:00
|
|
|
ui::Retrix::run(iced::Settings::default())?;
|
2020-11-24 16:11:27 +01:00
|
|
|
|
|
|
|
Ok(())
|
2020-11-23 07:52:07 +01:00
|
|
|
}
|