fix(Custom): hide label when exec-if failed
This commit is contained in:
		
							parent
							
								
									0ad2bc7516
								
							
						
					
					
						commit
						c8ca8b3725
					
				| 
						 | 
				
			
			@ -7,6 +7,7 @@ waybar::modules::Custom::Custom(const std::string name,
 | 
			
		|||
  if (!config_["exec"]) {
 | 
			
		||||
    throw std::runtime_error(name_ + " has no exec path.");
 | 
			
		||||
  }
 | 
			
		||||
  label_.set_name("custom-" + name_);
 | 
			
		||||
  worker();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -19,6 +20,7 @@ void waybar::modules::Custom::worker()
 | 
			
		|||
      auto res = waybar::util::command::exec(config_["exec-if"].asString());
 | 
			
		||||
      if (res.exit_code != 0) {
 | 
			
		||||
        can_update = false;
 | 
			
		||||
        label_.hide();
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (can_update) {
 | 
			
		||||
| 
						 | 
				
			
			@ -35,9 +37,7 @@ auto waybar::modules::Custom::update() -> void
 | 
			
		|||
  // Hide label if output is empty
 | 
			
		||||
  if (res.out.empty() || res.exit_code != 0) {
 | 
			
		||||
    label_.hide();
 | 
			
		||||
    label_.set_name("");
 | 
			
		||||
  } else {
 | 
			
		||||
    label_.set_name("custom-" + name_);
 | 
			
		||||
    auto format = config_["format"] ? config_["format"].asString() : "{}";
 | 
			
		||||
    auto str = fmt::format(format, res.out);
 | 
			
		||||
    label_.set_text(str);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue