more options for separator color
This commit is contained in:
		
							parent
							
								
									3175b041b1
								
							
						
					
					
						commit
						f2075a3409
					
				| @ -27,7 +27,8 @@ int line_height = 0;   /* if line height < font height, it will be raised to fon | |||||||
| int separator_height = 2; /* height of the separator line between two notifications */ | int separator_height = 2; /* height of the separator line between two notifications */ | ||||||
| int padding = 0; | int padding = 0; | ||||||
| int h_padding = 0; /* horizontal padding */ | int h_padding = 0; /* horizontal padding */ | ||||||
| enum separator_color sep_color = AUTO; /* AUTO or FOREGROUND */ | enum separator_color sep_color = AUTO; /* AUTO, FOREGROUND, FRAME, CUSTOM */ | ||||||
|  | char *sep_custom_color_str = NULL; /* custom color if sep_color is set to CUSTOM */ | ||||||
| 
 | 
 | ||||||
| int frame_width = 0; | int frame_width = 0; | ||||||
| char *frame_color = "#888888"; | char *frame_color = "#888888"; | ||||||
|  | |||||||
							
								
								
									
										24
									
								
								dunst.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								dunst.c
									
									
									
									
									
								
							| @ -77,6 +77,7 @@ static dimension_t window_dim; | |||||||
| static bool pause_display = false; | static bool pause_display = false; | ||||||
| static char **dmenu_cmd; | static char **dmenu_cmd; | ||||||
| static unsigned long framec; | static unsigned long framec; | ||||||
|  | static unsigned long sep_custom_col; | ||||||
| static r_line_cache line_cache; | static r_line_cache line_cache; | ||||||
| 
 | 
 | ||||||
| bool dunst_grab_errored = false; | bool dunst_grab_errored = false; | ||||||
| @ -848,8 +849,14 @@ void draw_win(void) | |||||||
|                         double color; |                         double color; | ||||||
|                         if (sep_color == AUTO) |                         if (sep_color == AUTO) | ||||||
|                                 color = calculate_foreground_color(line.colors->BG); |                                 color = calculate_foreground_color(line.colors->BG); | ||||||
|                         else |                         else if (sep_color == FOREGROUND) | ||||||
|                                 color = line.colors->FG; |                                 color = line.colors->FG; | ||||||
|  |                         else if (sep_color == FRAME) | ||||||
|  |                                 color = framec; | ||||||
|  |                         else { | ||||||
|  |                                 /* CUSTOM */ | ||||||
|  |                                 color = sep_custom_col; | ||||||
|  |                         } | ||||||
|                         drawrect(dc, 0, 0, width + (2*h_padding), separator_height, true, color); |                         drawrect(dc, 0, 0, width + (2*h_padding), separator_height, true, color); | ||||||
|                         dc->y += separator_height; |                         dc->y += separator_height; | ||||||
|                 } |                 } | ||||||
| @ -1463,6 +1470,12 @@ void setup(void) | |||||||
| 
 | 
 | ||||||
|         framec = getcolor(dc, frame_color); |         framec = getcolor(dc, frame_color); | ||||||
| 
 | 
 | ||||||
|  |         if (sep_color == CUSTOM) { | ||||||
|  |                 sep_custom_col = getcolor(dc, sep_custom_color_str); | ||||||
|  |         } else { | ||||||
|  |                 sep_custom_col = 0; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         /* parse and set geometry and monitor position */ |         /* parse and set geometry and monitor position */ | ||||||
|         if (geom[0] == '-') { |         if (geom[0] == '-') { | ||||||
|                 geometry.negative_width = true; |                 geometry.negative_width = true; | ||||||
| @ -1674,9 +1687,12 @@ void load_options(char *cmdline_config_path) | |||||||
|                                 sep_color = AUTO; |                                 sep_color = AUTO; | ||||||
|                         else if (strcmp(c, "foreground") == 0) |                         else if (strcmp(c, "foreground") == 0) | ||||||
|                                 sep_color = FOREGROUND; |                                 sep_color = FOREGROUND; | ||||||
|                         else |                         else if (strcmp(c, "frame") == 0) | ||||||
|                                 fprintf(stderr, |                                 sep_color = FRAME; | ||||||
|                                         "Warning: Unknown separator color\n"); |                         else { | ||||||
|  |                                 sep_color = CUSTOM; | ||||||
|  |                                 sep_custom_color_str = strdup(c); | ||||||
|  |                         } | ||||||
|                         free(c); |                         free(c); | ||||||
|                 } |                 } | ||||||
|         } |         } | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								dunst.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								dunst.h
									
									
									
									
									
								
							| @ -18,7 +18,7 @@ | |||||||
| #define ColBG 0 | #define ColBG 0 | ||||||
| 
 | 
 | ||||||
| enum alignment { left, center, right }; | enum alignment { left, center, right }; | ||||||
| enum separator_color { FOREGROUND, AUTO }; | enum separator_color { FOREGROUND, AUTO, FRAME, CUSTOM }; | ||||||
| enum follow_mode { FOLLOW_NONE, FOLLOW_MOUSE, FOLLOW_KEYBOARD }; | enum follow_mode { FOLLOW_NONE, FOLLOW_MOUSE, FOLLOW_KEYBOARD }; | ||||||
| 
 | 
 | ||||||
| typedef struct _dimension_t { | typedef struct _dimension_t { | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								dunstrc
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								dunstrc
									
									
									
									
									
								
							| @ -91,8 +91,11 @@ | |||||||
|     horizontal_padding = 10 |     horizontal_padding = 10 | ||||||
| 
 | 
 | ||||||
|     # Define a color for the separator. |     # Define a color for the separator. | ||||||
|     # This can either be "auto" or "foreground". "Auto" tries to find a color |     # possible values are: | ||||||
|     # that fits nicely to the background color. |     #  * auto: dunst tries to find a color fitting to the background | ||||||
|  |     #  * foreground: use the same color as the foreground | ||||||
|  |     #  * frame: use the same color as the frame. | ||||||
|  |     #  * anything else will be interpreted as a X color | ||||||
|     separator_color = auto |     separator_color = auto | ||||||
| 
 | 
 | ||||||
|     # print a notification on startup |     # print a notification on startup | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sascha Kruse
						Sascha Kruse