mirror of https://github.com/i3/i3lock.git
Added a ring width to customize the width of the ring
parent
d03fbe70c9
commit
f1f239e970
15
i3lock.c
15
i3lock.c
|
@ -104,6 +104,7 @@ double date_size = 14.0;
|
|||
double text_size = 28.0;
|
||||
double modifier_size = 14.0;
|
||||
double circle_radius = 90.0;
|
||||
double ring_width = 7.0;
|
||||
|
||||
char* verif_text = "verifying…";
|
||||
char* wrong_text = "wrong!";
|
||||
|
@ -947,6 +948,7 @@ int main(int argc, char *argv[]) {
|
|||
{"textsize", required_argument, NULL, 0},
|
||||
{"modsize", required_argument, NULL, 0},
|
||||
{"radius", required_argument, NULL, 0},
|
||||
{"ring-width", required_argument, NULL, 0},
|
||||
|
||||
{NULL, no_argument, NULL, 0}};
|
||||
|
||||
|
@ -1289,6 +1291,19 @@ int main(int argc, char *argv[]) {
|
|||
circle_radius = 90.0;
|
||||
}
|
||||
}
|
||||
else if (strcmp(longopts[longoptind].name, "ring-width") == 0) {
|
||||
char *arg = optarg;
|
||||
double new_width = 0;
|
||||
if (sscanf(arg, "%lf", &new_width) != 1)
|
||||
errx(1, "ring-width must be a number\n");
|
||||
if (new_width < 1) {
|
||||
fprintf(stderr, "ring-width must be a positive integer; ignoring...\n");
|
||||
}
|
||||
else {
|
||||
ring_width = new_width;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 'f':
|
||||
show_failed_attempts = true;
|
||||
|
|
|
@ -26,10 +26,12 @@
|
|||
#include <time.h>
|
||||
|
||||
extern double circle_radius;
|
||||
extern double ring_width;
|
||||
|
||||
#define BUTTON_RADIUS (circle_radius)
|
||||
#define BUTTON_SPACE (BUTTON_RADIUS + 5)
|
||||
#define BUTTON_CENTER (BUTTON_RADIUS + 5)
|
||||
#define RING_WIDTH (ring_width)
|
||||
#define BUTTON_SPACE (BUTTON_RADIUS + RING_WIDTH)
|
||||
#define BUTTON_CENTER (BUTTON_RADIUS + RING_WIDTH)
|
||||
#define BUTTON_DIAMETER (2 * BUTTON_SPACE)
|
||||
#define CLOCK_WIDTH 400
|
||||
#define CLOCK_HEIGHT 200
|
||||
|
@ -324,7 +326,7 @@ xcb_pixmap_t draw_image(uint32_t *resolution) {
|
|||
(unlock_state >= STATE_KEY_PRESSED || auth_state > STATE_AUTH_IDLE || show_indicator)) {
|
||||
cairo_scale(ctx, scaling_factor(), scaling_factor());
|
||||
/* Draw a (centered) circle with transparent background. */
|
||||
cairo_set_line_width(ctx, 7.0);
|
||||
cairo_set_line_width(ctx, RING_WIDTH);
|
||||
cairo_arc(ctx,
|
||||
BUTTON_CENTER /* x */,
|
||||
BUTTON_CENTER /* y */,
|
||||
|
@ -465,7 +467,7 @@ xcb_pixmap_t draw_image(uint32_t *resolution) {
|
|||
* keypress. */
|
||||
if (unlock_state == STATE_KEY_ACTIVE ||
|
||||
unlock_state == STATE_BACKSPACE_ACTIVE) {
|
||||
cairo_set_line_width(ctx, 7.0);
|
||||
cairo_set_line_width(ctx, RING_WIDTH);
|
||||
cairo_new_sub_path(ctx);
|
||||
double highlight_start = (rand() % (int)(2 * M_PI * 100)) / 100.0;
|
||||
cairo_arc(ctx,
|
||||
|
|
Loading…
Reference in New Issue