|  | @@ -22,6 +22,8 @@ pub fn external(tx: &Channel, _cfg: &Config) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  fn parse_bspwm(line: &str) -> String {
 | 
	
		
			
				|  |  |      let mut out = String::new();
 | 
	
		
			
				|  |  | +    let mut monitor_count = 0;
 | 
	
		
			
				|  |  | +    let mut monitor_selected = false;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      let elems = line.split(':');
 | 
	
		
			
				|  |  |      for elem in elems {
 | 
	
	
		
			
				|  | @@ -29,10 +31,22 @@ fn parse_bspwm(line: &str) -> String {
 | 
	
		
			
				|  |  |          let kind = chars.next().unwrap();
 | 
	
		
			
				|  |  |          let name = chars.collect::<String>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if kind != 'M' && kind != 'm' && kind != 'L' {
 | 
	
		
			
				|  |  | +        if kind == 'M' || kind == 'm' {
 | 
	
		
			
				|  |  | +            out = format!("{}%{{S{num}}}", out, num = monitor_count);
 | 
	
		
			
				|  |  | +            monitor_count += 1;
 | 
	
		
			
				|  |  | +            monitor_selected = kind.is_uppercase();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else if kind == 'L' {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else {
 | 
	
		
			
				|  |  |              let desktop = format!("%{{A:w{name}:}} {name} %{{A}}", name = name);
 | 
	
		
			
				|  |  |              if kind.is_uppercase() {
 | 
	
		
			
				|  |  | -                out = format!("{}%{{B#666666}}{}%{{B-}}", out, desktop);
 | 
	
		
			
				|  |  | +                if monitor_selected {
 | 
	
		
			
				|  |  | +                    out = format!("{}%{{B#66CC66}}{}%{{B-}}", out, desktop);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else {
 | 
	
		
			
				|  |  | +                    out = format!("{}%{{B#666666}}{}%{{B-}}", out, desktop);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              else if kind == 'U' || kind == 'u' {
 | 
	
		
			
				|  |  |                  out = format!("{}%{{B#CC0033}}{}%{{B-}}", out, desktop);
 |