diff options
author | Quentin Rameau <quinq@fifth.space> | 2015-12-19 09:32:55 +0100 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2015-12-19 20:32:14 +0100 |
commit | 120e8401074254d39be916ad83bafda9ef25e6a9 (patch) | |
tree | ceab3194f5f8c68ab70ecd4518b7a2b9d2f22fc6 | |
parent | 32f2564dbbbf5aeafb7190a3d35066142f34448f (diff) | |
download | dmenu-120e8401074254d39be916ad83bafda9ef25e6a9.tar.gz dmenu-120e8401074254d39be916ad83bafda9ef25e6a9.tar.bz2 dmenu-120e8401074254d39be916ad83bafda9ef25e6a9.zip |
Add config option for word delimiters
Let the user configure word boundaries other than ' ', only works with
the portable character set.
-rw-r--r-- | config.def.h | 6 | ||||
-rw-r--r-- | dmenu.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/config.def.h b/config.def.h index a9122f7..8db1dda 100644 --- a/config.def.h +++ b/config.def.h @@ -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[] = " "; @@ -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 */ |