emojinput/src/main.rs

40 lines
1.1 KiB
Rust
Raw Normal View History

2022-02-05 21:05:41 +01:00
use std::io::Write;
use std::process::{exit, Command, Stdio};
use web_view::*;
fn main() {
#[cfg(debug_assertions)]
2022-02-05 21:23:02 +01:00
let js = include_str!("../js/main.js");
2022-02-05 21:05:41 +01:00
#[cfg(not(debug_assertions))]
2022-02-05 21:23:02 +01:00
let js = include_str!("../js/main.min.js");
2022-02-05 21:05:41 +01:00
2022-02-05 21:23:02 +01:00
let html_content = include_str!("../index.html").replace(
2022-02-05 21:05:41 +01:00
"<script src=\"js/main.js\"></script>",
&format!("<script>{}</script>", js),
);
web_view::builder()
.title("Elmojinput")
.content(Content::Html(html_content))
2022-02-19 16:39:05 +01:00
.size(1024, 768)
2022-02-05 21:05:41 +01:00
.resizable(false)
.debug(true)
.user_data(())
.invoke_handler(|_webview, arg| {
let mut child = Command::new("xclip")
.arg("-selection")
.arg("clipboard")
.stdin(Stdio::piped())
.stdout(Stdio::piped())
.spawn()
.unwrap();
let stdin = child.stdin.as_mut().unwrap();
stdin.write_all(arg.as_bytes()).unwrap();
exit(0);
})
.run()
.unwrap();
}