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() {