Add a border_color parameter to simplewindow_init()
All callers immediately called simplewindow_border_color_set() anyway. Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
ac2d026d59
commit
8d30ef7d43
11
swindow.c
11
swindow.c
|
@ -73,11 +73,12 @@ simplewindow_init(simple_window_t *sw,
|
||||||
int phys_screen,
|
int phys_screen,
|
||||||
area_t geometry,
|
area_t geometry,
|
||||||
uint16_t border_width,
|
uint16_t border_width,
|
||||||
|
const xcolor_t *border_color,
|
||||||
orientation_t orientation,
|
orientation_t orientation,
|
||||||
const xcolor_t *fg, const xcolor_t *bg)
|
const xcolor_t *fg, const xcolor_t *bg)
|
||||||
{
|
{
|
||||||
xcb_screen_t *s = xutil_screen_get(globalconf.connection, phys_screen);
|
xcb_screen_t *s = xutil_screen_get(globalconf.connection, phys_screen);
|
||||||
uint32_t create_win_val[3];
|
uint32_t create_win_val[4];
|
||||||
const uint32_t gc_mask = XCB_GC_FOREGROUND | XCB_GC_BACKGROUND;
|
const uint32_t gc_mask = XCB_GC_FOREGROUND | XCB_GC_BACKGROUND;
|
||||||
const uint32_t gc_values[2] = { s->black_pixel, s->white_pixel };
|
const uint32_t gc_values[2] = { s->black_pixel, s->white_pixel };
|
||||||
|
|
||||||
|
@ -96,10 +97,12 @@ simplewindow_init(simple_window_t *sw,
|
||||||
sw->orientation = orientation;
|
sw->orientation = orientation;
|
||||||
sw->ctx.fg = *fg;
|
sw->ctx.fg = *fg;
|
||||||
sw->ctx.bg = *bg;
|
sw->ctx.bg = *bg;
|
||||||
|
sw->border.color = *border_color;
|
||||||
|
|
||||||
create_win_val[0] = XCB_BACK_PIXMAP_PARENT_RELATIVE;
|
create_win_val[0] = XCB_BACK_PIXMAP_PARENT_RELATIVE;
|
||||||
create_win_val[1] = 1;
|
create_win_val[1] = border_color->pixel;
|
||||||
create_win_val[2] = XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT
|
create_win_val[2] = 1;
|
||||||
|
create_win_val[3] = XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT
|
||||||
| XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY | XCB_EVENT_MASK_ENTER_WINDOW
|
| XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY | XCB_EVENT_MASK_ENTER_WINDOW
|
||||||
| XCB_EVENT_MASK_LEAVE_WINDOW | XCB_EVENT_MASK_STRUCTURE_NOTIFY
|
| XCB_EVENT_MASK_LEAVE_WINDOW | XCB_EVENT_MASK_STRUCTURE_NOTIFY
|
||||||
| XCB_EVENT_MASK_BUTTON_PRESS | XCB_EVENT_MASK_BUTTON_RELEASE
|
| XCB_EVENT_MASK_BUTTON_PRESS | XCB_EVENT_MASK_BUTTON_RELEASE
|
||||||
|
@ -109,7 +112,7 @@ simplewindow_init(simple_window_t *sw,
|
||||||
xcb_create_window(globalconf.connection, s->root_depth, sw->window, s->root,
|
xcb_create_window(globalconf.connection, s->root_depth, sw->window, s->root,
|
||||||
sw->geometries.internal.x, sw->geometries.internal.y, sw->geometries.internal.width, sw->geometries.internal.height,
|
sw->geometries.internal.x, sw->geometries.internal.y, sw->geometries.internal.width, sw->geometries.internal.height,
|
||||||
border_width, XCB_COPY_FROM_PARENT, s->root_visual,
|
border_width, XCB_COPY_FROM_PARENT, s->root_visual,
|
||||||
XCB_CW_BACK_PIXMAP | XCB_CW_OVERRIDE_REDIRECT | XCB_CW_EVENT_MASK,
|
XCB_CW_BACK_PIXMAP | XCB_CW_BORDER_PIXEL | XCB_CW_OVERRIDE_REDIRECT | XCB_CW_EVENT_MASK,
|
||||||
create_win_val);
|
create_win_val);
|
||||||
|
|
||||||
sw->pixmap = xcb_generate_id(globalconf.connection);
|
sw->pixmap = xcb_generate_id(globalconf.connection);
|
||||||
|
|
|
@ -55,7 +55,7 @@ typedef struct simple_window_t
|
||||||
} simple_window_t;
|
} simple_window_t;
|
||||||
|
|
||||||
void simplewindow_init(simple_window_t *s,
|
void simplewindow_init(simple_window_t *s,
|
||||||
int, area_t, uint16_t,
|
int, area_t, uint16_t, const xcolor_t *,
|
||||||
orientation_t, const xcolor_t *, const xcolor_t *);
|
orientation_t, const xcolor_t *, const xcolor_t *);
|
||||||
|
|
||||||
void simplewindow_wipe(simple_window_t *);
|
void simplewindow_wipe(simple_window_t *);
|
||||||
|
|
|
@ -274,9 +274,8 @@ titlebar_client_attach(client_t *c)
|
||||||
titlebar_geometry_compute(c, titlebar_geometry_remove(c->titlebar, 0, c->geometry), &wingeom);
|
titlebar_geometry_compute(c, titlebar_geometry_remove(c->titlebar, 0, c->geometry), &wingeom);
|
||||||
|
|
||||||
simplewindow_init(&t->sw, c->phys_screen,
|
simplewindow_init(&t->sw, c->phys_screen,
|
||||||
wingeom, 0, t->sw.orientation,
|
wingeom, 0, &t->sw.border.color,
|
||||||
&t->sw.ctx.fg, &t->sw.ctx.bg);
|
t->sw.orientation, &t->sw.ctx.fg, &t->sw.ctx.bg);
|
||||||
simplewindow_border_color_set(&t->sw, &t->sw.border.color);
|
|
||||||
|
|
||||||
t->need_update = true;
|
t->need_update = true;
|
||||||
|
|
||||||
|
|
3
wibox.c
3
wibox.c
|
@ -431,11 +431,10 @@ wibox_attach(screen_t *s)
|
||||||
simplewindow_init(&wibox->sw, phys_screen,
|
simplewindow_init(&wibox->sw, phys_screen,
|
||||||
wibox->sw.geometry,
|
wibox->sw.geometry,
|
||||||
wibox->sw.border.width,
|
wibox->sw.border.width,
|
||||||
|
&wibox->sw.border.color,
|
||||||
wibox->sw.orientation,
|
wibox->sw.orientation,
|
||||||
&wibox->sw.ctx.fg, &wibox->sw.ctx.bg);
|
&wibox->sw.ctx.fg, &wibox->sw.ctx.bg);
|
||||||
|
|
||||||
simplewindow_border_color_set(&wibox->sw, &wibox->sw.border.color);
|
|
||||||
|
|
||||||
simplewindow_cursor_set(&wibox->sw,
|
simplewindow_cursor_set(&wibox->sw,
|
||||||
xcursor_new(globalconf.connection, xcursor_font_fromstr(wibox->cursor)));
|
xcursor_new(globalconf.connection, xcursor_font_fromstr(wibox->cursor)));
|
||||||
if(wibox->isvisible)
|
if(wibox->isvisible)
|
||||||
|
|
Loading…
Reference in New Issue