[wiki] [sites] Added documentation in dmenu-password-4.9.diff || Parker Ellertson
commit dd227e25af73fbfccf9c15f88e9309b28f4239b2
Author: Parker Ellertson <parker_AT_cybertron.ninja>
Date: Wed Sep 25 12:58:53 2019 -0600
Added documentation in dmenu-password-4.9.diff
diff --git a/tools.suckless.org/dmenu/patches/password/dmenu-password-4.9.diff b/tools.suckless.org/dmenu/patches/password/dmenu-password-4.9.diff
index 96b91fb1..55871a61 100644
--- a/tools.suckless.org/dmenu/patches/password/dmenu-password-4.9.diff
+++ b/tools.suckless.org/dmenu/patches/password/dmenu-password-4.9.diff
_AT_@ -1,65 +1,88 @@
---- dmenu-4.9_/dmenu.c 2019-07-17 11:17:08.471766245 -0400
-+++ dmenu-4.9/dmenu.c 2019-07-17 11:22:58.069750819 -0400
+diff -up dmenu-4.9/dmenu.1 dmenu-4.9-orig/dmenu.1
+--- dmenu-4.9/dmenu.1 2019-09-25 12:55:42.666319316 -0600
++++ dmenu-4.9-orig/dmenu.1 2019-09-25 12:48:38.848249931 -0600
+_AT_@ -3,7 +3,7 @@
+ dmenu \- dynamic menu
+ .SH SYNOPSIS
+ .B dmenu
+-.RB [ \-bfivP ]
++.RB [ \-bfiv ]
+ .RB [ \-l
+ .IR lines ]
+ .RB [ \-m
+_AT_@ -47,9 +47,6 @@ is faster, but will lock up X until stdi
+ .B \-i
+ dmenu matches menu items case insensitively.
+ .TP
+-.B \-P
+-dmenu will not directly display the keyboard input, but instead replace it with dots. All data from stdin will be ignored.
+-.TP
+ .BI \-l " lines"
+ dmenu lists items vertically, with the given number of lines.
+ .TP
+diff -up dmenu-4.9/dmenu.c dmenu-4.9-orig/dmenu.c
+--- dmenu-4.9/dmenu.c 2019-09-25 12:48:55.756173240 -0600
++++ dmenu-4.9-orig/dmenu.c 2019-09-25 12:48:38.848249931 -0600
_AT_@ -37,7 +37,7 @@ struct item {
static char text[BUFSIZ] = "";
static char *embed;
static int bh, mw, mh;
--static int inputw = 0, promptw;
-+static int inputw = 0, promptw, passwd = 0;
+-static int inputw = 0, promptw, passwd = 0;
++static int inputw = 0, promptw;
static int lrpad; /* sum of left and right padding */
static size_t cursor;
static struct item *items = NULL;
-_AT_@ -132,6 +132,7 @@ drawmenu(void)
+_AT_@ -132,7 +132,6 @@ drawmenu(void)
unsigned int curpos;
struct item *item;
int x = 0, y = 0, w;
-+ char *censort;
+- char *censort;
drw_setscheme(drw, scheme[SchemeNorm]);
drw_rect(drw, 0, 0, mw, mh, 1, 1);
-_AT_@ -143,7 +144,12 @@ drawmenu(void)
+_AT_@ -144,12 +143,7 @@ drawmenu(void)
/* draw input field */
w = (lines > 0 || !matches) ? mw - x : inputw;
drw_setscheme(drw, scheme[SchemeNorm]);
-- drw_text(drw, x, 0, w, bh, lrpad / 2, text, 0);
-+ if (passwd) {
-+ censort = ecalloc(1, sizeof(text));
-+ memset(censort, '.', strlen(text));
-+ drw_text(drw, x, 0, w, bh, lrpad / 2, censort, 0);
-+ free(censort);
-+ } else drw_text(drw, x, 0, w, bh, lrpad / 2, text, 0);
+- if (passwd) {
+- censort = ecalloc(1, sizeof(text));
+- memset(censort, '.', strlen(text));
+- drw_text(drw, x, 0, w, bh, lrpad / 2, censort, 0);
+- free(censort);
+- } else drw_text(drw, x, 0, w, bh, lrpad / 2, text, 0);
++ drw_text(drw, x, 0, w, bh, lrpad / 2, text, 0);
curpos = TEXTW(text) - TEXTW(&text[cursor]);
if ((curpos += lrpad / 2 - 1) < w) {
-_AT_@ -525,6 +531,11 @@ readstdin(void)
+_AT_@ -531,11 +525,6 @@ readstdin(void)
size_t i, imax = 0, size = 0;
unsigned int tmpmax = 0;
-+ if(passwd){
-+ inputw = lines = 0;
-+ return;
-+ }
-+
+- if(passwd){
+- inputw = lines = 0;
+- return;
+- }
+-
/* read each line from stdin and add it to the item list */
for (i = 0; fgets(buf, sizeof buf, stdin); i++) {
if (i + 1 >= size / sizeof *items)
-_AT_@ -682,7 +693,7 @@ setup(void)
+_AT_@ -693,7 +682,7 @@ setup(void)
static void
usage(void)
{
-- fputs("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] [-m monitor]
"
-+ fputs("usage: dmenu [-bfiPv] [-l lines] [-p prompt] [-fn font] [-m monitor]
"
+- fputs("usage: dmenu [-bfiPv] [-l lines] [-p prompt] [-fn font] [-m monitor]
"
++ fputs("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] [-m monitor]
"
" [-nb color] [-nf color] [-sb color] [-sf color] [-w windowid]
", stderr);
exit(1);
}
-_AT_@ -705,7 +716,9 @@ main(int argc, char *argv[])
+_AT_@ -716,9 +705,7 @@ main(int argc, char *argv[])
else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */
fstrncmp = strncasecmp;
fstrstr = cistrstr;
-- } else if (i + 1 == argc)
-+ } else if (!strcmp(argv[i], "-P")) /* is the input a password */
-+ passwd = 1;
-+ else if (i + 1 == argc)
+- } else if (!strcmp(argv[i], "-P")) /* is the input a password */
+- passwd = 1;
+- else if (i + 1 == argc)
++ } else if (i + 1 == argc)
usage();
/* these options take one argument */
else if (!strcmp(argv[i], "-l")) /* number of lines in vertical list */
Received on Wed Sep 25 2019 - 20:58:56 CEST
This archive was generated by hypermail 2.3.0
: Wed Sep 25 2019 - 21:00:31 CEST