1
Fork 0

added gtk

requires xdotool on arch
This commit is contained in:
Andy Killorin 2023-10-28 19:45:04 -05:00
parent 813d430af5
commit fc063b18cd
Signed by: ank
GPG key ID: B6241CA3B552BCA4
3 changed files with 17 additions and 0 deletions

1
Cargo.lock generated
View file

@ -386,6 +386,7 @@ name = "funring"
version = "0.1.0"
dependencies = [
"anyhow",
"gtk",
"mpris",
"tray-icon",
]

View file

@ -7,5 +7,6 @@ edition = "2021"
[dependencies]
anyhow = "1.0.75"
gtk = "0.18.1"
mpris = "2.0.1"
tray-icon = "0.10.0"

View file

@ -1,10 +1,21 @@
use mpris::PlayerFinder;
use anyhow::Result;
use tray_icon::{TrayIconEvent, TrayIconBuilder, Icon};
fn main() -> Result<()> {
let pf = PlayerFinder::new()?;
let players = pf.find_all()?;
let icon = Icon::from_rgba(vec![0,1,0,0], 1, 1)?;
gtk::init()?;
let tray_icon = TrayIconBuilder::new()
.with_icon(icon).build()
.unwrap();
gtk::main();
let mut tracker = players[0].track_progress(500)?;
let tray_channel = TrayIconEvent::receiver();
println!("Hello, {}!", players[0].identity());
loop {
@ -12,5 +23,9 @@ fn main() -> Result<()> {
let elapsed = tick.progress.position().as_secs();
let total = tick.progress.length().unwrap().as_secs();
println!("{elapsed}s/{total}s!");
for event in tray_channel.try_iter() {
println!("{:?}: event", event)
}
}
}