#include <stdlib.h>
#include <math.h>
#include <xcb/xcb.h>
-#include <xcb/xcb_keysyms.h>
#include <ev.h>
-
-#ifndef NOLIBCAIRO
#include <cairo.h>
#include <cairo/cairo-xcb.h>
-#endif
#include "xcb.h"
#include "unlock_indicator.h"
/* Whether the unlock indicator is enabled (defaults to true). */
extern bool unlock_indicator;
-#ifndef NOLIBCAIRO
/* A Cairo surface containing the specified image (-i), if any. */
extern cairo_surface_t *img;
-#endif
/* Whether the image should be tiled. */
extern bool tile;
xcb_pixmap_t draw_image(uint32_t *resolution) {
xcb_pixmap_t bg_pixmap = XCB_NONE;
-#ifndef NOLIBCAIRO
if (!vistype)
vistype = get_root_visual_type(screen);
bg_pixmap = create_bg_pixmap(conn, screen, resolution, color);
/* We have no information about the screen sizes/positions, so we just
* place the unlock indicator in the middle of the X root window and
* hope for the best. */
- int x = (last_resolution[0] / 2);
- int y = (last_resolution[1] / 2);
+ int x = (last_resolution[0] / 2) - (BUTTON_DIAMETER / 2);
+ int y = (last_resolution[1] / 2) - (BUTTON_DIAMETER / 2);
cairo_set_source_surface(xcb_ctx, output, x, y);
cairo_rectangle(xcb_ctx, x, y, BUTTON_DIAMETER, BUTTON_DIAMETER);
cairo_fill(xcb_ctx);
cairo_surface_destroy(output);
cairo_destroy(ctx);
cairo_destroy(xcb_ctx);
-#endif
return bg_pixmap;
}