Migrate socket2 path resolution to bread-utils::hypr

hyprland_socket2_path() duplicated the same HYPRLAND_INSTANCE_SIGNATURE +
XDG_RUNTIME_DIR resolution breadbox and breadclip had for socket1 — now
shared via bread_utils::hypr::socket_path (path dependency for now, see
the TODO in Cargo.toml).

Builds and all 16 existing tests pass.
This commit is contained in:
Breadway 2026-07-17 09:26:00 +08:00
parent ddbc9e63d3
commit 13863836bc
3 changed files with 13 additions and 7 deletions

View file

@ -24,12 +24,6 @@ use tokio::{
use ui::{AppState, StatusLevel};
fn hyprland_socket2_path() -> Option<String> {
let instance = std::env::var("HYPRLAND_INSTANCE_SIGNATURE").ok()?;
let runtime = std::env::var("XDG_RUNTIME_DIR").unwrap_or_else(|_| "/run/user/1000".into());
Some(format!("{}/hypr/{}/.socket2.sock", runtime, instance))
}
#[derive(Debug)]
enum AppEvent {
Key(crossterm::event::KeyEvent),
@ -104,7 +98,7 @@ async fn run(
// Hyprland socket hotplug listener
let tx_hotplug = tx.clone();
tokio::spawn(async move {
if let Some(sig) = hyprland_socket2_path() {
if let Some(sig) = bread_utils::hypr::socket_path(bread_utils::hypr::Socket::Events) {
if let Ok(mut stream) = tokio::net::UnixStream::connect(&sig).await {
use tokio::io::AsyncBufReadExt;
let reader = tokio::io::BufReader::new(&mut stream);