/* user and group to drop privileges to */ static const char *user = "user"; static const char *group = "nobody"; static const char *colorname[NUMCOLS] = { [INIT] = "#2d2d2d", /* after initialization */ [INPUT] = "#005577", /* during input */ [FAILED] = "#cc3333", /* wrong password */ [CAPS] = "#ff0000", /* CapsLock on */ }; /* treat a cleared input like a wrong password (color) */ static const int failonclear = 1; /* Background image path, should be available to the user above */ static const char* background_image = "/home/user/.local/share/lock"; /* insert grid pattern with scale 1:1, the size can be changed with logosize */ static const int logosize = 40; static const int logow = 10; /* grid width and height for right center alignment*/ static const int logoh = 15; static XRectangle rectangles[12] = { /* x y w h */ { 0, 0, 1, 3 }, { 0, 7, 4, 2 }, { 1, 0, 1, 4 }, { 2, 2, 1, 3 }, { 3, 3, 1, 3 }, { 4, 0, 2, 2 }, { 4, 4, 2, 11 }, { 6, 3, 1, 3 }, { 6, 7, 4, 2 }, { 7, 2, 1, 3 }, { 8, 0, 1, 4 }, { 9, 0, 1, 3 }, }; /* allow control key to trigger fail on clear */ static const int controlkeyclear = 1; /* struct for secret passwords and commands */ struct secretpass { char const *pass; char const *command; }; /* list of secret passwords and their commands */ static const struct secretpass scom[1] = { /* Password command */ {"shutdown", "sudo -A shutdown -h now"}, }; /* length of entries in scom */ static const int entrylen = 1;