use std::{fmt::Write}; use serde_json::json; use swayipc::Node; use crate::{config::Config, Cli}; //#[path = "../results.rs"] mod results; use results::WindowInfo; pub fn print_window_title(window_node: Node,cli: &Cli,config: &Config) { let mut window_title_display: String = window_node.name.unwrap(); for pair in &config.window_icons { if window_title_display.contains(&pair.substring) { window_title_display = pair.icon.clone() + " " + &window_title_display.replace(&pair.substring, ""); } } if !cli.no_truncate_title.unwrap() && window_title_display.len().gt(&config.title_length) { window_title_display.truncate(config.title_length); let _ = window_title_display.write_char('…'); } let window_info = WindowInfo { title: window_title_display }; let window_output = json!(window_info); println!("{}",window_output) }