SMOLNET PORTAL home about changes
iChanging the behaviour to run on buttonrelease. - 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 179f5949844bee93fdcc1d6b62327ded89a7e553	/scm/thingmenu/commit/179f5949844bee93fdcc1d6b62327ded89a7e553.gph	bitreich.org	70
1parent 3330b885356850d35bf0594ba3e42aba078d5a10	/scm/thingmenu/commit/3330b885356850d35bf0594ba3e42aba078d5a10.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:46:06 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iChanging the behaviour to run on buttonrelease.	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M thingmenu.c                         |      84 +++++++++++++++++--------------	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 45 insertions(+), 39 deletions(-)	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@@ -73,7 +73,7 @@ static void press(Entry *e);	Err	bitreich.org	70
i static void run(void);	Err	bitreich.org	70
i static void setup(void);	Err	bitreich.org	70
i static int textnw(const char *text, uint len);	Err	bitreich.org	70
i-static void unpress(void);	Err	bitreich.org	70
i+static void unpress(Entry *e);	Err	bitreich.org	70
i static void updateentries(void);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i /* variables */	Err	bitreich.org	70
i@@ -147,7 +147,7 @@ buttonrelease(XEvent *e)	Err	bitreich.org	70
i         Entry *en;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if((en = findentry(ev->x, ev->y)))	Err	bitreich.org	70
i-                unpress();	Err	bitreich.org	70
i+                unpress(en);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i void	Err	bitreich.org	70
i@@ -322,38 +322,7 @@ initfont(const char *fontstr)	Err	bitreich.org	70
i void	Err	bitreich.org	70
i leavenotify(XEvent *e)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i-        unpress();	Err	bitreich.org	70
i-}	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-void	Err	bitreich.org	70
i-runentry(Entry *e)	Err	bitreich.org	70
i-{	Err	bitreich.org	70
i-        char *shell;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        if (fork()) {	Err	bitreich.org	70
i-                if (oneshot || e->forceexit) {	Err	bitreich.org	70
i-                        XDestroyWindow(dpy, win);	Err	bitreich.org	70
i-                        exit(0);	Err	bitreich.org	70
i-                }	Err	bitreich.org	70
i-                return;	Err	bitreich.org	70
i-        }	Err	bitreich.org	70
i-        if (fork())	Err	bitreich.org	70
i-                exit(0);	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        shell = getenv("SHELL");	Err	bitreich.org	70
i-        if (!shell)	Err	bitreich.org	70
i-                shell = "/bin/sh";	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        execlp(shell, basename(shell), "-c", e->cmd, (char *)NULL);	Err	bitreich.org	70
i-}	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-void	Err	bitreich.org	70
i-press(Entry *e)	Err	bitreich.org	70
i-{	Err	bitreich.org	70
i-        e->pressed = !e->pressed;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        runentry(e);	Err	bitreich.org	70
i-        drawentry(e);	Err	bitreich.org	70
i+        unpress(NULL);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i void	Err	bitreich.org	70
i@@ -475,14 +444,51 @@ textnw(const char *text, uint len)	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i void	Err	bitreich.org	70
i-unpress()	Err	bitreich.org	70
i+runentry(Entry *e)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        char *shell;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        if (fork()) {	Err	bitreich.org	70
i+                if (oneshot || e->forceexit) {	Err	bitreich.org	70
i+                        XDestroyWindow(dpy, win);	Err	bitreich.org	70
i+                        exit(0);	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                return;	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+        if (fork())	Err	bitreich.org	70
i+                exit(0);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        shell = getenv("SHELL");	Err	bitreich.org	70
i+        if (!shell)	Err	bitreich.org	70
i+                shell = "/bin/sh";	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        execlp(shell, basename(shell), "-c", e->cmd, (char *)NULL);	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+void	Err	bitreich.org	70
i+press(Entry *e)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        e->pressed = !e->pressed;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        drawentry(e);	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+void	Err	bitreich.org	70
i+unpress(Entry *e)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         int i;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        for(i = 0; i < nentries; i++) {	Err	bitreich.org	70
i-                if(entries[i]->pressed) {	Err	bitreich.org	70
i-                        entries[i]->pressed = 0;	Err	bitreich.org	70
i-                        drawentry(entries[i]);	Err	bitreich.org	70
i+        if (e != NULL) {	Err	bitreich.org	70
i+                e->pressed = !e->pressed;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                runentry(e);	Err	bitreich.org	70
i+                drawentry(e);	Err	bitreich.org	70
i+        } else {	Err	bitreich.org	70
i+                for(i = 0; i < nentries; i++) {	Err	bitreich.org	70
i+                        if(entries[i]->pressed) {	Err	bitreich.org	70
i+                                entries[i]->pressed = 0;	Err	bitreich.org	70
i+                                drawentry(entries[i]);	Err	bitreich.org	70
i+                        }	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i }	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/thingmenu/commit/179f5949844b...
Content-Typetext/plain; charset=utf-8