Set a wibox' bit gravity to NorthWest.
After the last patch, after each resize the X server fills the complete wibox with its background color which means that the widgets will still flicker. This patch fixes this by setting the wibox' bit gravity to NorthWest. This means that if a wibox is enlarged, only the new, larger part will be filled with the wibox' background color and the rest of the wibox' content will be left intact. With this patch I couldn't see any flickering anymore. Signed-off-by: Uli Schlachter <psychon@znc.in> Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
02ea8feb54
commit
12977febee
3
wibox.c
3
wibox.c
|
@ -166,12 +166,13 @@ wibox_init(wibox_t *w, int phys_screen)
|
||||||
w->geometry.x, w->geometry.y,
|
w->geometry.x, w->geometry.y,
|
||||||
w->geometry.width, w->geometry.height,
|
w->geometry.width, w->geometry.height,
|
||||||
w->border_width, XCB_COPY_FROM_PARENT, s->root_visual,
|
w->border_width, XCB_COPY_FROM_PARENT, s->root_visual,
|
||||||
XCB_CW_BACK_PIXEL | XCB_CW_BORDER_PIXEL
|
XCB_CW_BACK_PIXEL | XCB_CW_BORDER_PIXEL | XCB_CW_BIT_GRAVITY
|
||||||
| XCB_CW_OVERRIDE_REDIRECT | XCB_CW_EVENT_MASK,
|
| XCB_CW_OVERRIDE_REDIRECT | XCB_CW_EVENT_MASK,
|
||||||
(const uint32_t [])
|
(const uint32_t [])
|
||||||
{
|
{
|
||||||
w->ctx.bg.pixel,
|
w->ctx.bg.pixel,
|
||||||
w->border_color.pixel,
|
w->border_color.pixel,
|
||||||
|
XCB_GRAVITY_NORTH_WEST,
|
||||||
1,
|
1,
|
||||||
XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT
|
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
|
||||||
|
|
Loading…
Reference in New Issue