| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | #ifndef _SWAYBAR_CONFIG_H
 | 
					
						
							|  |  |  | #define _SWAYBAR_CONFIG_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <stdint.h>
 | 
					
						
							|  |  |  | #include <stdbool.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-22 17:27:17 +01:00
										 |  |  | #include "list.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  * Colors for a box with background, border and text colors. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | struct box_colors { | 
					
						
							|  |  |  | 	uint32_t border; | 
					
						
							|  |  |  | 	uint32_t background; | 
					
						
							|  |  |  | 	uint32_t text; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * Swaybar config. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2016-01-24 02:34:20 +01:00
										 |  |  | struct config { | 
					
						
							| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | 	char *status_command; | 
					
						
							| 
									
										
										
										
											2016-04-24 19:57:35 +03:00
										 |  |  | 	bool plaintext_markup; | 
					
						
							| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | 	uint32_t position; | 
					
						
							|  |  |  | 	char *font; | 
					
						
							|  |  |  | 	char *sep_symbol; | 
					
						
							|  |  |  | 	char *mode; | 
					
						
							|  |  |  | 	bool strip_workspace_numbers; | 
					
						
							|  |  |  | 	bool binding_mode_indicator; | 
					
						
							|  |  |  | 	bool workspace_buttons; | 
					
						
							| 
									
										
										
										
											2016-02-23 15:06:04 +01:00
										 |  |  | 	bool all_outputs; | 
					
						
							| 
									
										
										
										
											2016-02-22 17:27:17 +01:00
										 |  |  | 	list_t *outputs; | 
					
						
							| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-24 00:23:09 +01:00
										 |  |  | 	int height; | 
					
						
							| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	struct { | 
					
						
							|  |  |  | 		uint32_t background; | 
					
						
							|  |  |  | 		uint32_t statusline; | 
					
						
							|  |  |  | 		uint32_t separator; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		struct box_colors focused_workspace; | 
					
						
							|  |  |  | 		struct box_colors active_workspace; | 
					
						
							|  |  |  | 		struct box_colors inactive_workspace; | 
					
						
							|  |  |  | 		struct box_colors urgent_workspace; | 
					
						
							|  |  |  | 		struct box_colors binding_mode; | 
					
						
							|  |  |  | 	} colors; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * Parse colors defined as hex string to uint32_t. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | uint32_t parse_color(const char *color); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * Parse position top|bottom|left|right. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | uint32_t parse_position(const char *position); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * Parse font. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | char *parse_font(const char *font); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * Initialize default sway config. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2016-01-24 02:34:20 +01:00
										 |  |  | struct config *init_config(); | 
					
						
							| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * Free config struct. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2016-01-24 02:34:20 +01:00
										 |  |  | void free_config(struct config *config); | 
					
						
							| 
									
										
										
										
											2016-01-23 02:47:44 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif /* _SWAYBAR_CONFIG_H */
 |