Mercurial > tablet-emu
comparison src/gtk.rs @ 14:adab13145994
Add support for remote clients.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Mon, 02 Nov 2020 00:06:09 +0100 |
parents | 97e543f50f62 |
children | d103f7cca0bd |
comparison
equal
deleted
inserted
replaced
13:97e543f50f62 | 14:adab13145994 |
---|---|
16 | 16 |
17 use gio::prelude::*; | 17 use gio::prelude::*; |
18 use glib::clone; | 18 use glib::clone; |
19 use gtk::prelude::*; | 19 use gtk::prelude::*; |
20 | 20 |
21 use std::env::args; | |
22 use std::io::ErrorKind; | 21 use std::io::ErrorKind; |
23 use std::sync::Arc; | 22 use std::sync::{Arc, Mutex}; |
24 use input_linux::Key; | 23 use input_linux::Key; |
25 | 24 |
26 use crate::{ | 25 use crate::{ |
27 state::State, | 26 state::State, |
28 DEFAULT_WIDTH, DEFAULT_HEIGHT, | 27 DEFAULT_WIDTH, DEFAULT_HEIGHT, |
66 | 65 |
67 fn build_ui(application: >k::Application) { | 66 fn build_ui(application: >k::Application) { |
68 build_main_menu(application); | 67 build_main_menu(application); |
69 | 68 |
70 let state = match State::new() { | 69 let state = match State::new() { |
71 Ok(state) => state, | 70 Ok(state) => Arc::new(Mutex::new(state)), |
72 Err(err) => { | 71 Err(err) => { |
73 match err.kind() { | 72 match err.kind() { |
74 ErrorKind::NotFound => { | 73 ErrorKind::NotFound => { |
75 eprintln!("Couldn’t find /dev/uinput: {}", err); | 74 eprintln!("Couldn’t find /dev/uinput: {}", err); |
76 eprintln!("Maybe you forgot to `modprobe uinput`?"); | 75 eprintln!("Maybe you forgot to `modprobe uinput`?"); |
177 window.add(&hbox); | 176 window.add(&hbox); |
178 | 177 |
179 window.show_all(); | 178 window.show_all(); |
180 } | 179 } |
181 | 180 |
182 pub fn main() { | 181 pub fn main(args: &[String]) { |
183 let application = gtk::Application::new( | 182 let application = gtk::Application::new( |
184 Some("fr.linkmauve.TabletEmu"), | 183 Some("fr.linkmauve.TabletEmu"), |
185 gio::ApplicationFlags::empty(), | 184 gio::ApplicationFlags::empty(), |
186 ) | 185 ) |
187 .expect("Initialisation failed…"); | 186 .expect("Initialisation failed…"); |
188 application.connect_activate(build_ui); | 187 application.connect_activate(build_ui); |
189 application.run(&args().collect::<Vec<_>>()); | 188 application.run(args); |
190 } | 189 } |