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 /slock.c | |
| parent | bfbca90991c227c4db99018edbb0325557e931d0 (diff) | |
cleanup
Diffstat (limited to 'slock.c')
| -rw-r--r-- | slock.c | 41 |
1 files changed, 30 insertions, 11 deletions
@@ -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), |