dwmstatus: only show UPS load above some threshold
This commit is contained in:
		
							parent
							
								
									e01a0f2abf
								
							
						
					
					
						commit
						959040d174
					
				
							
								
								
									
										16
									
								
								dwmstatus.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								dwmstatus.c
									
									
									
									
									
								
							| @ -1,7 +1,7 @@ | ||||
| /*
 | ||||
|  * dwmstatus.c: simple PulseAudio-enabled dwmstatus | ||||
|  * | ||||
|  * Copyright (c) 2015, Přemysl Janouch <p.janouch@gmail.com> | ||||
|  * Copyright (c) 2015 - 2016, Přemysl Janouch <p.janouch@gmail.com> | ||||
|  * | ||||
|  * Permission to use, copy, modify, and/or distribute this software for any | ||||
|  * purpose with or without fee is hereby granted, provided that the above | ||||
| @ -1669,6 +1669,7 @@ static struct simple_config_item g_config_table[] = | ||||
| 	{ "mpd_password",    NULL,              "MPD password"                   }, | ||||
| 
 | ||||
| 	{ "nut_enabled",     "off",             "NUT UPS status reading enabled" }, | ||||
| 	{ "nut_load_thld",   "50",              "NUT threshold for load display" }, | ||||
| 
 | ||||
| 	{ NULL,              NULL,              NULL                             } | ||||
| }; | ||||
| @ -2215,7 +2216,7 @@ interval_string (unsigned long seconds) | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| nut_process_ups (struct str_vector *ups_list, | ||||
| nut_process_ups (struct app_context *ctx, struct str_vector *ups_list, | ||||
| 	const char *ups_name, struct str_map *dict) | ||||
| { | ||||
| 	// Not currently interested in this kind of information;
 | ||||
| @ -2257,7 +2258,14 @@ nut_process_ups (struct str_vector *ups_list, | ||||
| 		str_vector_add_owned (&items, xstrdup_printf ("%s%%", charge)); | ||||
| 	if (running_on_batteries) | ||||
| 		str_vector_add_owned (&items, interval_string (runtime_sec)); | ||||
| 	if (load) | ||||
| 
 | ||||
| 	// Only show load if it's higher than the threshold so as to not distract
 | ||||
| 	const char *threshold = str_map_find (&ctx->config, "nut_load_thld"); | ||||
| 	unsigned long load_n, threshold_n; | ||||
| 	if (load | ||||
| 	 && xstrtoul (&load_n,      load,      10) | ||||
| 	 && xstrtoul (&threshold_n, threshold, 10) | ||||
| 	 && load_n >= threshold_n) | ||||
| 		str_vector_add_owned (&items, xstrdup_printf ("load %s%%", load)); | ||||
| 
 | ||||
| 	struct str result; | ||||
| @ -2287,7 +2295,7 @@ nut_on_logout_response (const struct nut_response *response, void *user_data) | ||||
| 	str_map_iter_init (&iter, &ctx->nut_ups_info); | ||||
| 	struct str_map *dict; | ||||
| 	while ((dict = str_map_iter_next (&iter))) | ||||
| 		nut_process_ups (&ups_list, iter.link->key, dict); | ||||
| 		nut_process_ups (ctx, &ups_list, iter.link->key, dict); | ||||
| 
 | ||||
| 	free (ctx->nut_status); | ||||
| 	ctx->nut_status = NULL; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user