Add reverse attribute to awesome-menu: support for XK_Left to go back
This commit is contained in:
parent
e81bd8de02
commit
7dbcdde705
|
@ -165,21 +165,27 @@ config_parse(const char *confpatharg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
complete(void)
|
complete(Bool reverse)
|
||||||
{
|
{
|
||||||
item_t *item = NULL;
|
item_t *item = NULL;
|
||||||
|
item_t *(*item_iter)(item_t **, item_t *);
|
||||||
|
|
||||||
|
if(reverse)
|
||||||
|
item_iter = item_list_prev;
|
||||||
|
else
|
||||||
|
item_iter = item_list_next;
|
||||||
|
|
||||||
if(globalconf.item_selected)
|
if(globalconf.item_selected)
|
||||||
item = globalconf.item_selected->next;
|
item = item_iter(&globalconf.items, globalconf.item_selected);
|
||||||
else
|
else
|
||||||
for(item = globalconf.items; item; item = item->next)
|
for(item = globalconf.items; item; item = item_iter(&globalconf.items, item))
|
||||||
if(item->match)
|
if(item->match)
|
||||||
{
|
{
|
||||||
globalconf.item_selected = item;
|
globalconf.item_selected = item;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(; item; item = item->next)
|
for(; item; item = item_iter(&globalconf.items, item))
|
||||||
if(item->match)
|
if(item->match)
|
||||||
{
|
{
|
||||||
a_strcpy(globalconf.text, ssizeof(globalconf.text), item->data);
|
a_strcpy(globalconf.text, ssizeof(globalconf.text), item->data);
|
||||||
|
@ -342,9 +348,13 @@ handle_kpress(XKeyEvent *e)
|
||||||
redraw();
|
redraw();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case XK_Left:
|
||||||
|
complete(True);
|
||||||
|
redraw();
|
||||||
|
break;
|
||||||
case XK_Right:
|
case XK_Right:
|
||||||
case XK_Tab:
|
case XK_Tab:
|
||||||
complete();
|
complete(False);
|
||||||
redraw();
|
redraw();
|
||||||
break;
|
break;
|
||||||
case XK_Escape:
|
case XK_Escape:
|
||||||
|
|
Loading…
Reference in New Issue