From 30d630a151b0f4b54c506b3bf7dbdb00a50a1f81 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 20 Aug 2024 23:35:23 +0100 Subject: [PATCH] wip --- overlays/pkgs/sway-helper/src/helpers/sway.rs | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/overlays/pkgs/sway-helper/src/helpers/sway.rs b/overlays/pkgs/sway-helper/src/helpers/sway.rs index 051df47..323923d 100644 --- a/overlays/pkgs/sway-helper/src/helpers/sway.rs +++ b/overlays/pkgs/sway-helper/src/helpers/sway.rs @@ -56,13 +56,29 @@ pub(crate) fn get_containers_fzf_strings<'a>( if (node.node_type == NodeType::Con || node.node_type == NodeType::FloatingCon) && node.nodes.is_empty() { - strings.push(format!( - "[{}] [{}] {} (id={})", - parent_workspace.as_ref().unwrap().name.as_ref().unwrap(), - node.app_id.as_ref().unwrap(), - node.name.as_ref().unwrap(), - node.id + let mut s = String::new(); + + if let Some(ws) = &parent_workspace { + if let Some(name) = &ws.name { + s.push_str(&format!("[{name}] ")); + } + } + + if let Some(app_id) = &node.app_id { + s.push_str(&format!("[{app_id}] ")); + } + + s.push_str(&format!( + "{} ", + match &node.name { + Some(name) => name, + None => "", + } )); + + s.push_str(&format!("(id={})", node.id)); + + strings.push(s); } for child in node.nodes.iter() {