diff options
author | NPScript <nathan@reinerweb.ch> | 2021-02-24 11:25:55 +0100 |
---|---|---|
committer | NPScript <nathan@reinerweb.ch> | 2021-02-24 11:25:55 +0100 |
commit | ba80b9f6cd448f362aa37079a51d430af4ad468c (patch) | |
tree | 025f240ef66edbc84f216bf4fb0b26bc215b17e7 | |
parent | bfbca90991c227c4db99018edbb0325557e931d0 (diff) |
cleanup
-rw-r--r-- | config.h | 7 | ||||
-rwxr-xr-x | slock | bin | 27496 -> 27432 bytes | |||
-rw-r--r-- | slock.c | 41 | ||||
-rw-r--r-- | slock.o | bin | 13856 -> 13912 bytes |
4 files changed, 33 insertions, 15 deletions
@@ -3,9 +3,7 @@ static const char *user = "nobody"; static const char *group = "nogroup"; static const char *colorname[NUMCOLS] = { - [INIT] = "#181818", /* after initialization */ - [INPUT] = "#181818", /* during input */ - [FAILED] = "#181818", /* wrong password */ + [BACKGROUND] = "#181818", /* Background */ }; /* treat a cleared input like a wrong password (color) */ @@ -13,5 +11,6 @@ static const int failonclear = 1; const char * fonts[] = {"Source Code Pro:size=24"}; const char * schemes[] = {"#547f62", "#181818", "#181818"}; const int diasize[] = {320, 320}; -const char * lock_message = "Nathan Reiner"; +const char * lock_message = "> Nathan Reiner"; const char * pass_char = "•"; +const char * cursor_char = "_"; Binary files differ@@ -27,9 +27,7 @@ char *argv0; enum { - INIT, - INPUT, - FAILED, + BACKGROUND, NUMCOLS }; @@ -130,7 +128,6 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, len = 0; running = 1; failure = 0; - oldc = INIT; XRRScreenResources * scr; XRRCrtcInfo * crtc_info; @@ -154,6 +151,20 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, drw_rect(drw, 0, 0, crtc_info->width, crtc_info->height, 1, 1); drw_text(drw, t_pos[0], t_pos[1], t_len[0], t_len[1], 0, lock_message, 0); + + drw_text(drw, + ((strlen(passwd)) * 15) + (crtc_info->width / 2 - (strlen(passwd) + 1) * 15 / 2), + w_pos[1] + diasize[1], + w_len[0], + diasize[1], + 0, + cursor_char, + 0 + ); + drw_rect(drw, crtc_info->width / 2 - (strlen(passwd) + 1) * 15 / 2 - 15, w_pos[1] + diasize[1] + 140, (strlen(passwd) + 1) * 15 + 33, 47, 0, 0); + + drw_rect(drw, crtc_info->width / 2 - (strlen(passwd) + 1) * 15 / 2, w_pos[1] + diasize[1] + 140, (strlen(passwd) + 1) * 15 + 3, 47, 0, 1); + drw_map(drw, locks[0]->win, 0, 0, crtc_info->width, crtc_info->height); @@ -205,7 +216,7 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, } break; } - color = len ? INPUT : ((failure || failonclear) ? FAILED : INIT); + color = BACKGROUND; if (running && oldc != color) { for (screen = 0; screen < nscreens; screen++) { XSetWindowBackground(dpy, @@ -223,7 +234,7 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, for (int i = 0; i < strlen(passwd); i++) { drw_text(drw, - (i * 15) + (crtc_info->width / 2 - strlen(passwd) * 15 / 2), + (i * 15) + (crtc_info->width / 2 - (strlen(passwd) + 1) * 15 / 2), w_pos[1] + diasize[1], w_len[0], diasize[1], @@ -233,15 +244,23 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, ); } + drw_text(drw, + ((strlen(passwd)) * 15) + (crtc_info->width / 2 - (strlen(passwd) + 1) * 15 / 2), + w_pos[1] + diasize[1], + w_len[0], + diasize[1], + 0, + cursor_char, + 0 + ); + } else { drw_text(drw, t_pos[0], w_pos[1] + diasize[1], w_len[0], diasize[1], 0, "\u274c", 0); failure = 0; } - if (strlen(passwd) > 0) - drw_rect(drw, crtc_info->width / 2 - strlen(passwd) * 15 / 2 - 15, w_pos[1] + diasize[1] + 140, strlen(passwd) * 15 + 33, 47, 0, 0); - else - drw_rect(drw, crtc_info->width / 2 - 15 / 2 - 15, w_pos[1] + diasize[1] + 140, 15 + 33, 47, 0, 0); + drw_rect(drw, crtc_info->width / 2 - (strlen(passwd) + 1) * 15 / 2 - 15, w_pos[1] + diasize[1] + 140, (strlen(passwd) + 1) * 15 + 33, 47, 0, 0); + drw_rect(drw, crtc_info->width / 2 - (strlen(passwd) + 1) * 15 / 2, w_pos[1] + diasize[1] + 140, (strlen(passwd) + 1) * 15 + 3, 47, 0, 1); drw_map(drw, locks[0]->win, 0, 0, crtc_info->width, crtc_info->height); @@ -291,7 +310,7 @@ lockscreen(Display *dpy, struct xrandr *rr, int screen) /* init */ wa.override_redirect = 1; - wa.background_pixel = lock->colors[INIT]; + wa.background_pixel = lock->colors[BACKGROUND]; lock->win = XCreateWindow(dpy, lock->root, 0, 0, DisplayWidth(dpy, lock->screen), DisplayHeight(dpy, lock->screen), Binary files differ |