summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNPScript <nathan@reinerweb.ch>2021-02-24 11:25:55 +0100
committerNPScript <nathan@reinerweb.ch>2021-02-24 11:25:55 +0100
commitba80b9f6cd448f362aa37079a51d430af4ad468c (patch)
tree025f240ef66edbc84f216bf4fb0b26bc215b17e7
parentbfbca90991c227c4db99018edbb0325557e931d0 (diff)
cleanup
-rw-r--r--config.h7
-rwxr-xr-xslockbin27496 -> 27432 bytes
-rw-r--r--slock.c41
-rw-r--r--slock.obin13856 -> 13912 bytes
4 files changed, 33 insertions, 15 deletions
diff --git a/config.h b/config.h
index c9d7ba3..0fe7055 100644
--- a/config.h
+++ b/config.h
@@ -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 = "_";
diff --git a/slock b/slock
index db54289..f112d78 100755
--- a/slock
+++ b/slock
Binary files differ
diff --git a/slock.c b/slock.c
index 4a8ad63..d5ea2cf 100644
--- a/slock.c
+++ b/slock.c
@@ -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),
diff --git a/slock.o b/slock.o
index 2946ec3..c166ced 100644
--- a/slock.o
+++ b/slock.o
Binary files differ