Browse Source

Add config option for word delimiters

Let the user configure word boundaries other than ' ', only works with
the portable character set.
master
Quentin Rameau 8 years ago
committed by Hiltjo Posthuma
parent
commit
120e840107
2 changed files with 10 additions and 2 deletions
  1. +6
    -0
      config.def.h
  2. +4
    -2
      dmenu.c

+ 6
- 0
config.def.h View File

@@ -15,3 +15,9 @@ static const char *outbgcolor = "#00ffff";
static const char *outfgcolor = "#000000";
/* -l option; if nonzero, dmenu uses vertical list with given number of lines */
static unsigned int lines = 0;

/*
* Characters not considered part of a word while deleting words
* for example: " /?\"&[]"
*/
static const char worddelimiters[] = " ";

+ 4
- 2
dmenu.c View File

@@ -314,9 +314,11 @@ keypress(XKeyEvent *ev)
insert(NULL, 0 - cursor);
break;
case XK_w: /* delete word */
while (cursor > 0 && text[nextrune(-1)] == ' ')
while (cursor > 0 && strchr(worddelimiters,
text[nextrune(-1)]))
insert(NULL, nextrune(-1) - cursor);
while (cursor > 0 && text[nextrune(-1)] != ' ')
while (cursor > 0 && !strchr(worddelimiters,
text[nextrune(-1)]))
insert(NULL, nextrune(-1) - cursor);
break;
case XK_y: /* paste selection */


Loading…
Cancel
Save