1use chrono::prelude::*;
2use std::net::{TcpListener, TcpStream};
3use std::sync::{Arc, Mutex};
4use std::cell::RefCell;
5use std::thread;
6use std::sync::mpsc;
7use std::collections::HashMap;
8use std::net::UdpSocket;
9use std::net::{SocketAddr, SocketAddrV4, SocketAddrV6, Ipv4Addr, Ipv6Addr, ToSocketAddrs};
10use std::env::args;
11use human_panic::setup_panic;
12use gio::ApplicationFlags;
13use gio::prelude::*;
14use log::info;
15use crate::main_win::MainWindow;
16
17pub fn run(){
18 setup_panic!();
19 ::std::env::set_var("RUST_LOG", "info");
20 drop(env_logger::init());
21 let application = gtk::Application::new(
22 Some("com.github.raudient"),
23 ApplicationFlags::FLAGS_NONE);
24 application.connect_startup(move |app| {
25 info!("starting up");
26 MainWindow::new(app);
27 });
28 application.connect_activate(|_| {
29 info!("connect_activate");
30 });
31
32 application.connect_shutdown(move |_| {
33 info!("shutdown!");
34 });
35
36 application.run();
37}