Merge pull request #2156 from Airblader/feature-2154

Rename decoration_border to child_border.
This commit is contained in:
Michael Stapelberg 2016-01-10 11:04:08 -08:00
commit 4c1ca3e29a
7 changed files with 40 additions and 42 deletions

View File

@ -836,9 +836,9 @@ workspace "2: vim" output VGA1
You can change all colors which i3 uses to draw the window decorations. You can change all colors which i3 uses to draw the window decorations.
*Syntax*: *Syntax*:
------------------------------------------------------------------------- --------------------------------------------------------------------
<colorclass> <border> <background> <text> <indicator> <decoration_border> <colorclass> <border> <background> <text> <indicator> <child_border>
------------------------------------------------------------------------- --------------------------------------------------------------------
Where colorclass can be one of: Where colorclass can be one of:
@ -863,8 +863,8 @@ client.background::
Colors are in HTML hex format (#rrggbb), see the following example: Colors are in HTML hex format (#rrggbb), see the following example:
*Examples (default colors)*: *Examples (default colors)*:
--------------------------------------------------------- ----------------------------------------------------------------------
# class border backgr. text indicator decoration_border # class border backgr. text indicator child_border
client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577 client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222 client.unfocused #333333 #222222 #888888 #292d2e #222222
@ -872,10 +872,10 @@ client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff client.background #ffffff
--------------------------------------------------------- ----------------------------------------------------------------------
Note that for the window decorations, the color around the child window is the Note that for the window decorations, the color around the child window is the
"decoration_border", and "border" color is only the two thin lines around the "child_border", and "border" color is only the two thin lines around the
titlebar. titlebar.
The indicator color is used for indicating where a new window will be opened. The indicator color is used for indicating where a new window will be opened.

View File

@ -54,7 +54,7 @@ struct Colortriple {
color_t background; color_t background;
color_t text; color_t text;
color_t indicator; color_t indicator;
color_t decoration_border; color_t child_border;
}; };
/** /**

View File

@ -59,7 +59,7 @@ CFGFUN(no_focus);
CFGFUN(ipc_socket, const char *path); CFGFUN(ipc_socket, const char *path);
CFGFUN(restart_state, const char *path); CFGFUN(restart_state, const char *path);
CFGFUN(popup_during_fullscreen, const char *value); CFGFUN(popup_during_fullscreen, const char *value);
CFGFUN(color, const char *colorclass, const char *border, const char *background, const char *text, const char *indicator, const char *decoration_border); CFGFUN(color, const char *colorclass, const char *border, const char *background, const char *text, const char *indicator, const char *child_border);
CFGFUN(color_single, const char *colorclass, const char *color); CFGFUN(color_single, const char *colorclass, const char *color);
CFGFUN(floating_modifier, const char *modifiers); CFGFUN(floating_modifier, const char *modifiers);
CFGFUN(new_window, const char *windowtype, const char *border, const long width); CFGFUN(new_window, const char *windowtype, const char *border, const long width);

View File

@ -282,13 +282,13 @@ state COLOR_TEXT:
state COLOR_INDICATOR: state COLOR_INDICATOR:
indicator = word indicator = word
-> COLOR_DECORATION_BORDER -> COLOR_CHILD_BORDER
end end
-> call cfg_color($colorclass, $border, $background, $text, NULL, NULL) -> call cfg_color($colorclass, $border, $background, $text, NULL, NULL)
state COLOR_DECORATION_BORDER: state COLOR_CHILD_BORDER:
decoration_border = word child_border = word
-> call cfg_color($colorclass, $border, $background, $text, $indicator, $decoration_border) -> call cfg_color($colorclass, $border, $background, $text, $indicator, $child_border)
end end
-> call cfg_color($colorclass, $border, $background, $text, $indicator, NULL) -> call cfg_color($colorclass, $border, $background, $text, $indicator, NULL)

View File

@ -193,13 +193,13 @@ void load_configuration(xcb_connection_t *conn, const char *override_configpath,
memset(&config, 0, sizeof(config)); memset(&config, 0, sizeof(config));
/* Initialize default colors */ /* Initialize default colors */
#define INIT_COLOR(x, cborder, cbackground, ctext, cindicator) \ #define INIT_COLOR(x, cborder, cbackground, ctext, cindicator) \
do { \ do { \
x.border = draw_util_hex_to_color(cborder); \ x.border = draw_util_hex_to_color(cborder); \
x.background = draw_util_hex_to_color(cbackground); \ x.background = draw_util_hex_to_color(cbackground); \
x.text = draw_util_hex_to_color(ctext); \ x.text = draw_util_hex_to_color(ctext); \
x.indicator = draw_util_hex_to_color(cindicator); \ x.indicator = draw_util_hex_to_color(cindicator); \
x.decoration_border = draw_util_hex_to_color(cbackground); \ x.child_border = draw_util_hex_to_color(cbackground); \
} while (0) } while (0)
config.client.background = draw_util_hex_to_color("#000000"); config.client.background = draw_util_hex_to_color("#000000");

View File

@ -338,22 +338,22 @@ CFGFUN(color_single, const char *colorclass, const char *color) {
config.client.background = draw_util_hex_to_color(color); config.client.background = draw_util_hex_to_color(color);
} }
CFGFUN(color, const char *colorclass, const char *border, const char *background, const char *text, const char *indicator, const char *decoration_border) { CFGFUN(color, const char *colorclass, const char *border, const char *background, const char *text, const char *indicator, const char *child_border) {
#define APPLY_COLORS(classname) \ #define APPLY_COLORS(classname) \
do { \ do { \
if (strcmp(colorclass, "client." #classname) == 0) { \ if (strcmp(colorclass, "client." #classname) == 0) { \
config.client.classname.border = draw_util_hex_to_color(border); \ config.client.classname.border = draw_util_hex_to_color(border); \
config.client.classname.background = draw_util_hex_to_color(background); \ config.client.classname.background = draw_util_hex_to_color(background); \
config.client.classname.text = draw_util_hex_to_color(text); \ config.client.classname.text = draw_util_hex_to_color(text); \
if (indicator != NULL) { \ if (indicator != NULL) { \
config.client.classname.indicator = draw_util_hex_to_color(indicator); \ config.client.classname.indicator = draw_util_hex_to_color(indicator); \
} \ } \
if (decoration_border != NULL) { \ if (child_border != NULL) { \
config.client.classname.decoration_border = draw_util_hex_to_color(decoration_border); \ config.client.classname.child_border = draw_util_hex_to_color(child_border); \
} else { \ } else { \
config.client.classname.decoration_border = config.client.classname.background; \ config.client.classname.child_border = config.client.classname.background; \
} \ } \
} \ } \
} while (0) } while (0)
APPLY_COLORS(focused_inactive); APPLY_COLORS(focused_inactive);

10
src/x.c
View File

@ -464,24 +464,22 @@ void x_draw_decoration(Con *con) {
* rectangle because some childs are not freely resizable and we want * rectangle because some childs are not freely resizable and we want
* their background color to "shine through". */ * their background color to "shine through". */
if (!(borders_to_hide & ADJ_LEFT_SCREEN_EDGE)) { if (!(borders_to_hide & ADJ_LEFT_SCREEN_EDGE)) {
draw_util_rectangle(conn, &(con->frame_buffer), p->color->decoration_border, 0, 0, br.x, r->height); draw_util_rectangle(conn, &(con->frame_buffer), p->color->child_border, 0, 0, br.x, r->height);
} }
if (!(borders_to_hide & ADJ_RIGHT_SCREEN_EDGE)) { if (!(borders_to_hide & ADJ_RIGHT_SCREEN_EDGE)) {
draw_util_rectangle(conn, &(con->frame_buffer), draw_util_rectangle(conn, &(con->frame_buffer),
p->color->decoration_border, r->width + (br.width + br.x), 0, p->color->child_border, r->width + (br.width + br.x), 0,
-(br.width + br.x), r->height); -(br.width + br.x), r->height);
} }
if (!(borders_to_hide & ADJ_LOWER_SCREEN_EDGE)) { if (!(borders_to_hide & ADJ_LOWER_SCREEN_EDGE)) {
draw_util_rectangle(conn, &(con->frame_buffer), draw_util_rectangle(conn, &(con->frame_buffer),
p->color->decoration_border, br.x, r->height + (br.height + p->color->child_border, br.x, r->height + (br.height + br.y),
br.y),
r->width + br.width, -(br.height + br.y)); r->width + br.width, -(br.height + br.y));
} }
/* pixel border needs an additional line at the top */ /* pixel border needs an additional line at the top */
if (p->border_style == BS_PIXEL && !(borders_to_hide & ADJ_UPPER_SCREEN_EDGE)) { if (p->border_style == BS_PIXEL && !(borders_to_hide & ADJ_UPPER_SCREEN_EDGE)) {
draw_util_rectangle(conn, &(con->frame_buffer), draw_util_rectangle(conn, &(con->frame_buffer),
p->color->decoration_border, br.x, 0, r->width + br.width, p->color->child_border, br.x, 0, r->width + br.width, br.y);
br.y);
} }
/* Highlight the side of the border at which the next window will be /* Highlight the side of the border at which the next window will be