Introduction
Introduction Statistics Contact Development Disclaimer Help
dmenu-noescape-20230328-dfbbf7f.diff - sites - public wiki contents of suckless…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dmenu-noescape-20230328-dfbbf7f.diff (1813B)
---
1 From 5622f9497f5dca83035443a0a00e89c63862b15b Mon Sep 17 00:00:00 2001
2 From: Aaron Züger <[email protected]>
3 Date: Tue, 28 Mar 2023 18:05:36 +0200
4 Subject: [PATCH] Added the -no-escape flag which will stop the escape ke…
5 exiting dmenu.
6
7 ---
8 dmenu.c | 14 +++++++++++---
9 1 file changed, 11 insertions(+), 3 deletions(-)
10
11 diff --git a/dmenu.c b/dmenu.c
12 index 4e7df12..203d9bf 100644
13 --- a/dmenu.c
14 +++ b/dmenu.c
15 @@ -1,6 +1,7 @@
16 /* See LICENSE file for copyright and license details. */
17 #include <ctype.h>
18 #include <locale.h>
19 +#include <stdbool.h>
20 #include <stdio.h>
21 #include <stdlib.h>
22 #include <string.h>
23 @@ -53,6 +54,8 @@ static XIC xic;
24 static Drw *drw;
25 static Clr *scheme[SchemeLast];
26
27 +static bool no_escape = false;
28 +
29 #include "config.h"
30
31 static int (*fstrncmp)(const char *, const char *, size_t) = strncmp;
32 @@ -447,8 +450,10 @@ insert:
33 sel = matchend;
34 break;
35 case XK_Escape:
36 - cleanup();
37 - exit(1);
38 + if (no_escape == false) {
39 + cleanup();
40 + exit(1);
41 + }
42 case XK_Home:
43 case XK_KP_Home:
44 if (sel == matches) {
45 @@ -716,6 +721,7 @@ static void
46 usage(void)
47 {
48 die("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] [-m…
49 + " [-no-escape]\n"
50 " [-nb color] [-nf color] [-sb color] [-sf colo…
51 }
52
53 @@ -737,7 +743,9 @@ main(int argc, char *argv[])
54 else if (!strcmp(argv[i], "-i")) { /* case-insensitive …
55 fstrncmp = strncasecmp;
56 fstrstr = cistrstr;
57 - } else if (i + 1 == argc)
58 + } else if (!strcmp(argv[i], "-no-escape")) /* disable escape …
59 + no_escape = !no_escape;
60 + else if (i + 1 == argc)
61 usage();
62 /* these options take one argument */
63 else if (!strcmp(argv[i], "-l")) /* number of lines i…
64 --
65 2.40.0
66
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.