summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-01-10 11:00:26 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-01-10 11:00:26 +0900
commit0e470231001325c6da7b11f503df3d577e34c570 (patch)
tree5c7a20ce1b3ac9fc435c16e9191426c460d4782b
parent0bb44a2a21fdede37f55034cb237e314eefc5497 (diff)
modified dmenu/dmenu.1, modified dmenu/dmenu.c
-rw-r--r--dmenu/dmenu.15
-rw-r--r--dmenu/dmenu.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/dmenu/dmenu.1 b/dmenu/dmenu.1
index d52faba..67519c2 100644
--- a/dmenu/dmenu.1
+++ b/dmenu/dmenu.1
@@ -3,7 +3,7 @@
dmenu \- dynamic menu
.SH SYNOPSIS
.B dmenu
-.RB [ \-bFfivP ]
+.RB [ \-bFfisvP ]
.RB [ \-l
.IR lines ]
.RB [ \-h
@@ -70,6 +70,9 @@ is faster, but will lock up X until stdin reaches end\-of\-file.
.B \-i
dmenu matches menu items case insensitively.
.TP
+.B \-s
+dmenu matches menu items case sensitively.
+.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
diff --git a/dmenu/dmenu.c b/dmenu/dmenu.c
index 82b73ca..bed9a88 100644
--- a/dmenu/dmenu.c
+++ b/dmenu/dmenu.c
@@ -96,8 +96,9 @@ static void resource_load(XrmDatabase db, char *name, enum resource_type rtype,
#include "config.h"
-static int (*fstrncmp)(const char *, const char *, size_t) = strncmp;
-static char *(*fstrstr)(const char *, const char *) = strstr;
+static char * cistrstr(const char *s, const char *sub);
+static int (*fstrncmp)(const char *, const char *, size_t) = strncasecmp;
+static char *(*fstrstr)(const char *, const char *) = cistrstr;
static void xinitvisual();
@@ -1545,6 +1546,9 @@ main(int argc, char *argv[])
else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */
fstrncmp = strncasecmp;
fstrstr = cistrstr;
+ } else if (!strcmp(argv[i], "-s")) { /* case-sensitive item matching */
+ fstrncmp = strncmp;
+ fstrstr = strstr;
} else if (!strcmp(argv[i], "-vi")) {
vi_mode = 1;
using_vi_mode = start_mode;