sway-profiles-rs/src/lib/windows.rs
2025-09-16 12:12:21 -07:00

24 lines
No EOL
899 B
Rust

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)
}