mod window; use gtk::{gdk::Display, gio, glib, prelude::*, Application, CssProvider}; const APP_ID: &str = "net.joeac.schist"; pub fn run() -> glib::ExitCode { gio::resources_register_include!("resources.gresource") .expect("failed to register resources"); let app = Application::builder().application_id(APP_ID).build(); app.connect_startup(|_| load_css()); app.connect_activate(build_window); app.run() } fn build_window(app: &Application) { let window = window::Window::new(app); window.present() } fn load_css() { let css_provider = CssProvider::new(); css_provider.load_from_resource("/net/joeac/schist/css/styles.css"); gtk::style_context_add_provider_for_display( &Display::default().expect("failed to connect to a display"), &css_provider, gtk::STYLE_PROVIDER_PRIORITY_APPLICATION, ); }