Tray: separate tray and window processes; device list without self
Release / tsunagi-linux-aarch64 (push) Successful in 2m44s
Release / tsunagi-linux-x86_64 (push) Successful in 4m37s
Release / tsunagi-macos-aarch64 (push) Canceled after 0s
Release / tsunagi-windows-x86_64 (push) Canceled after 0s
Release / Publish release (push) Canceled after 0s

The tray process holds only the icon and starts the same binary with
--window on Open; the window ends when closed, which works on Wayland where
a window cannot be hidden. The devices table now names devices as
hostname (id5), leaves out this device and counts the others.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Aleksandr BogomiakovandClaude committed 2026-10-02 19:23:06 +01:00
1 parent 69310108f4
commit f4dcdec662
6 files changed
+247 -172

No files matched your search

+4 -2
View File
@@ -15,6 +15,7 @@ use egui_phosphor::regular as icon;
use tsunagi::ipc::{NetworkReport, StatusReport};
use crate::agent::{AgentClient, Command, Snapshot};
use crate::devices;
use crate::format;
use crate::stats::{Traffic, Unit};
@@ -114,7 +115,7 @@ pub(crate) fn draw(
ui.weak("No networks yet — join one below.");
}
for network in &report.networks {
draw_network(ui, agent, state, traffic, network);
draw_network(ui, agent, state, traffic, network, &report.endpoint_id);
}
});
}
@@ -191,6 +192,7 @@ fn draw_network(
state: &mut UiState,
traffic: &Traffic,
network: &NetworkReport,
own_id: &str,
) {
ui.add_space(6.0);
egui::Frame::group(ui.style()).show(ui, |ui| {
@@ -233,7 +235,7 @@ fn draw_network(
ui.label(format!(
"{} connected · {} known",
network.peers.len(),
network.members.len()
devices::known_count(network, own_id)
));
ui.end_row();
});