Bugfix: Correctly center unlock indicator after reconfiguring screens (Thanks xn)
Fixes: #712
This commit is contained in:
parent
f9416f6bc6
commit
9b29ae7afd
5
i3lock.c
5
i3lock.c
|
@ -431,6 +431,9 @@ void handle_screen_resize(void) {
|
||||||
uint32_t mask = XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT;
|
uint32_t mask = XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT;
|
||||||
xcb_configure_window(conn, win, mask, last_resolution);
|
xcb_configure_window(conn, win, mask, last_resolution);
|
||||||
xcb_flush(conn);
|
xcb_flush(conn);
|
||||||
|
|
||||||
|
xinerama_query_screens();
|
||||||
|
redraw_screen();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -683,6 +686,8 @@ int main(int argc, char *argv[]) {
|
||||||
last_resolution[0] = screen->width_in_pixels;
|
last_resolution[0] = screen->width_in_pixels;
|
||||||
last_resolution[1] = screen->height_in_pixels;
|
last_resolution[1] = screen->height_in_pixels;
|
||||||
|
|
||||||
|
xcb_change_window_attributes(conn, screen->root, XCB_CW_EVENT_MASK,
|
||||||
|
(uint32_t[]){ XCB_EVENT_MASK_STRUCTURE_NOTIFY });
|
||||||
|
|
||||||
#ifndef NOLIBCAIRO
|
#ifndef NOLIBCAIRO
|
||||||
if (image_path) {
|
if (image_path) {
|
||||||
|
|
|
@ -277,7 +277,7 @@ void redraw_screen(void) {
|
||||||
xcb_change_window_attributes(conn, win, XCB_CW_BACK_PIXMAP, (uint32_t[1]){ bg_pixmap });
|
xcb_change_window_attributes(conn, win, XCB_CW_BACK_PIXMAP, (uint32_t[1]){ bg_pixmap });
|
||||||
/* XXX: Possible optimization: Only update the area in the middle of the
|
/* XXX: Possible optimization: Only update the area in the middle of the
|
||||||
* screen instead of the whole screen. */
|
* screen instead of the whole screen. */
|
||||||
xcb_clear_area(conn, 0, win, 0, 0, screen->width_in_pixels, screen->height_in_pixels);
|
xcb_clear_area(conn, 0, win, 0, 0, last_resolution[0], last_resolution[1]);
|
||||||
xcb_free_pixmap(conn, bg_pixmap);
|
xcb_free_pixmap(conn, bg_pixmap);
|
||||||
xcb_flush(conn);
|
xcb_flush(conn);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue