Xinqi Bao's Git
projects
/
dmenu.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
add ^a and ^e keybindings
[dmenu.git]
/
dmenu.c
diff --git
a/dmenu.c
b/dmenu.c
index
6177906
..
4c87d6a
100644
(file)
--- a/
dmenu.c
+++ b/
dmenu.c
@@
-394,6
+394,14
@@
kpress(XKeyEvent * e) {
switch (ksym) {
default: /* ignore other control sequences */
return;
switch (ksym) {
default: /* ignore other control sequences */
return;
+ case XK_a:
+ case XK_A:
+ cursor = 0;
+ break;
+ case XK_e:
+ case XK_E:
+ cursor = strlen(text);
+ break;
case XK_c:
case XK_C:
ksym = XK_Escape;
case XK_c:
case XK_C:
ksym = XK_Escape;
@@
-768,6
+776,9
@@
main(int argc, char *argv[]) {
}
else if(!strcmp(argv[i], "-b"))
topbar = False;
}
else if(!strcmp(argv[i], "-b"))
topbar = False;
+ else if(!strcmp(argv[i], "-e")) {
+ if(++i < argc) root = atoi(argv[i]);
+ }
else if(!strcmp(argv[i], "-l")) {
vlist = True;
calcoffsets = calcoffsetsv;
else if(!strcmp(argv[i], "-l")) {
vlist = True;
calcoffsets = calcoffsetsv;
@@
-801,7
+812,8
@@
main(int argc, char *argv[]) {
if(!(dpy = XOpenDisplay(NULL)))
eprint("dmenu: cannot open display\n");
screen = DefaultScreen(dpy);
if(!(dpy = XOpenDisplay(NULL)))
eprint("dmenu: cannot open display\n");
screen = DefaultScreen(dpy);
- root = RootWindow(dpy, screen);
+ if(!root)
+ root = RootWindow(dpy, screen);
if(isatty(STDIN_FILENO)) {
readstdin();
if(isatty(STDIN_FILENO)) {
readstdin();