diff --git a/src/comp.rs b/src/comp.rs index 54cf73c..37a9977 100644 --- a/src/comp.rs +++ b/src/comp.rs @@ -3,12 +3,10 @@ use crate::process::{ProcessEvent, ProcessHandler}; use tokio::sync::{mpsc::unbounded_channel, oneshot}; use tokio_util::sync::CancellationToken; -pub async fn run_compositor(token: CancellationToken, wayland_socket_tx: oneshot::Sender) { - let mut wayland_socket_tx = Some(wayland_socket_tx); +pub async fn run_compositor(token: CancellationToken, wayland_display_tx: oneshot::Sender) { + let mut wayland_display_tx = Some(wayland_display_tx); let (tx, mut rx) = unbounded_channel::(); ProcessHandler::new(tx, &token).run("cosmic-comp", vec![], vec![]); - let span = info_span!("cosmic-comp"); - let _enter = span.enter(); while let Some(event) = rx.recv().await { match event { ProcessEvent::Started => { @@ -18,13 +16,13 @@ pub async fn run_compositor(token: CancellationToken, wayland_socket_tx: oneshot ProcessEvent::Stdout(line) | ProcessEvent::Stderr(line) => { if line.contains("Listening on \"") { // Message format: Listening on "wayland-0" - if let Some(tx) = wayland_socket_tx.take() { + if let Some(tx) = wayland_display_tx.take() { let socket_name = line .split('"') .nth(1) - .expect("failed to get WAYLAND_SOCKET"); + .expect("failed to get WAYLAND_DISPLAY"); tx.send(socket_name.to_string()) - .expect("failed to send WAYLAND_SOCKET back to main app"); + .expect("failed to send WAYLAND_DISPLAY back to main app"); } } info!("{}", line); diff --git a/src/main.rs b/src/main.rs index 8eab024..b1680fb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,22 +31,25 @@ async fn main() -> Result<()> { info!("Starting cosmic-session"); let token = CancellationToken::new(); - let (wayland_socket_tx, wayland_socket_rx) = oneshot::channel(); - tokio::spawn(comp::run_compositor(token.child_token(), wayland_socket_tx)); - let wayland_socket = wayland_socket_rx + let (wayland_display_tx, wayland_display_rx) = oneshot::channel(); + tokio::spawn(comp::run_compositor( + token.child_token(), + wayland_display_tx, + )); + let wayland_display = wayland_display_rx .await - .expect("failed to get WAYLAND_SOCKET"); - info!("got WAYLAND_SOCKET: {}", wayland_socket); + .expect("failed to get WAYLAND_DISPLAY"); + info!("got WAYLAND_DISPLAY: {}", wayland_display); tokio::spawn(panel::run_panel( token.child_token(), "testing-panel", - wayland_socket.clone(), + wayland_display.clone(), )); tokio::spawn(panel::run_panel( token.child_token(), "testing-dock", - wayland_socket.clone(), + wayland_display.clone(), )); let mut signals = Signals::new(vec![libc::SIGTERM, libc::SIGINT]).unwrap(); diff --git a/src/panel.rs b/src/panel.rs index 745aca8..0af1674 100644 --- a/src/panel.rs +++ b/src/panel.rs @@ -3,14 +3,12 @@ use crate::process::{ProcessEvent, ProcessHandler}; use tokio::sync::mpsc::unbounded_channel; use tokio_util::sync::CancellationToken; -pub async fn run_panel(token: CancellationToken, config: &str, wayland_socket: String) { +pub async fn run_panel(token: CancellationToken, config: &str, wayland_display: String) { let (tx, mut rx) = unbounded_channel::(); ProcessHandler::new(tx, &token).run("cosmic-panel", vec![config.to_string()], vec![( - "WAYLAND_SOCKET".into(), - wayland_socket, + "WAYLAND_DISPLAY".into(), + wayland_display, )]); - let span = info_span!("cosmic-panel"); - let _enter = span.enter(); while let Some(event) = rx.recv().await { match event { ProcessEvent::Started => {