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