iAdding expected behaviour to highlight and press. - thingmenu - A simple graphical menu launcher for X11. Err bitreich.org 70 hgit clone git://bitreich.org/thingmenu URL:git://bitreich.org/thingmenu bitreich.org 70 1Log /scm/thingmenu/log.gph bitreich.org 70 1Files /scm/thingmenu/files.gph bitreich.org 70 1Refs /scm/thingmenu/refs.gph bitreich.org 70 1Tags /scm/thingmenu/tag bitreich.org 70 1LICENSE /scm/thingmenu/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 6fe4ccf5c1b27d5babe573dfa794ac86610ae28d /scm/thingmenu/commit/6fe4ccf5c1b27d5babe573dfa794ac86610ae28d.gph bitreich.org 70 1parent 179f5949844bee93fdcc1d6b62327ded89a7e553 /scm/thingmenu/commit/179f5949844bee93fdcc1d6b62327ded89a7e553.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Mon, 12 Sep 2011 15:55:07 +0200 Err bitreich.org 70 i Err bitreich.org 70 iAdding expected behaviour to highlight and press. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M thingmenu.c | 15 ++++++++++++++- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 14 insertions(+), 1 deletion(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/thingmenu.c b/thingmenu.c /scm/thingmenu/file/thingmenu.c.gph bitreich.org 70 i@@ -102,6 +102,7 @@ static char *name = "thingmenu"; Err bitreich.org 70 i Entry **entries = NULL; Err bitreich.org 70 i int nentries = 0; Err bitreich.org 70 i int oneshot = 1; Err bitreich.org 70 i+Bool ispressing = 0; Err bitreich.org 70 i Err bitreich.org 70 i /* configuration, allows nested code to access above variables */ Err bitreich.org 70 i #include "config.h" Err bitreich.org 70 i@@ -118,11 +119,19 @@ motionnotify(XEvent *e) Err bitreich.org 70 i && ev->y > entries[i]->y Err bitreich.org 70 i && ev->y < entries[i]->y + entries[i]->h) { Err bitreich.org 70 i if (entries[i]->highlighted != True) { Err bitreich.org 70 i- entries[i]->highlighted = True; Err bitreich.org 70 i+ if (ispressing) { Err bitreich.org 70 i+ entries[i]->pressed = True; Err bitreich.org 70 i+ } else { Err bitreich.org 70 i+ entries[i]->highlighted = True; Err bitreich.org 70 i+ } Err bitreich.org 70 i drawentry(entries[i]); Err bitreich.org 70 i } Err bitreich.org 70 i continue; Err bitreich.org 70 i } Err bitreich.org 70 i+ if (entries[i]->pressed == True) { Err bitreich.org 70 i+ entries[i]->pressed = False; Err bitreich.org 70 i+ drawentry(entries[i]); Err bitreich.org 70 i+ } Err bitreich.org 70 i if (entries[i]->highlighted == True) { Err bitreich.org 70 i entries[i]->highlighted = False; Err bitreich.org 70 i drawentry(entries[i]); Err bitreich.org 70 i@@ -136,6 +145,8 @@ buttonpress(XEvent *e) Err bitreich.org 70 i XButtonPressedEvent *ev = &e->xbutton; Err bitreich.org 70 i Entry *en; Err bitreich.org 70 i Err bitreich.org 70 i+ ispressing = True; Err bitreich.org 70 i+ Err bitreich.org 70 i if((en = findentry(ev->x, ev->y))) Err bitreich.org 70 i press(en); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -146,6 +157,8 @@ buttonrelease(XEvent *e) Err bitreich.org 70 i XButtonPressedEvent *ev = &e->xbutton; Err bitreich.org 70 i Entry *en; Err bitreich.org 70 i Err bitreich.org 70 i+ ispressing = False; Err bitreich.org 70 i+ Err bitreich.org 70 i if((en = findentry(ev->x, ev->y))) Err bitreich.org 70 i unpress(en); Err bitreich.org 70 i } Err bitreich.org 70 .