iWMProperties and symlink testing. - thinglaunch - A simple command and password promtper for X11. Err bitreich.org 70 hgit clone git://bitreich.org/thinglaunch URL:git://bitreich.org/thinglaunch bitreich.org 70 1Log /scm/thinglaunch/log.gph bitreich.org 70 1Files /scm/thinglaunch/files.gph bitreich.org 70 1Refs /scm/thinglaunch/refs.gph bitreich.org 70 1Tags /scm/thinglaunch/tag bitreich.org 70 1LICENSE /scm/thinglaunch/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 5502b4594bac02c6091df6479aad7e9f7a754899 /scm/thinglaunch/commit/5502b4594bac02c6091df6479aad7e9f7a754899.gph bitreich.org 70 1parent 3a05486d691e4aa86d34a43eb4346ea9b49b40b2 /scm/thinglaunch/commit/3a05486d691e4aa86d34a43eb4346ea9b49b40b2.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sun, 27 Mar 2011 20:15:39 +0200 Err bitreich.org 70 i Err bitreich.org 70 iWMProperties and symlink testing. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 2 +- Err bitreich.org 70 i M thinglaunch.c | 16 +++++++++++++++- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 16 insertions(+), 2 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/thinglaunch/file/Makefile.gph bitreich.org 70 i@@ -28,7 +28,7 @@ ${OBJ}: config.mk Err bitreich.org 70 i ${NAME}: ${OBJ} Err bitreich.org 70 i @echo CC -o $@ Err bitreich.org 70 i @${CC} -o $@ ${OBJ} ${LDFLAGS} Err bitreich.org 70 i- @ln -s ${NAME} thingaskpass Err bitreich.org 70 i+ @[ ! -e thingaskpass ] && ln -s ${NAME} thingaskpass Err bitreich.org 70 i Err bitreich.org 70 i clean: Err bitreich.org 70 i @echo cleaning Err bitreich.org 70 1diff --git a/thinglaunch.c b/thinglaunch.c /scm/thinglaunch/file/thinglaunch.c.gph bitreich.org 70 i@@ -23,6 +23,8 @@ Err bitreich.org 70 i #include "config.h" Err bitreich.org 70 i Err bitreich.org 70 i unsigned long getcolor(const char *colstr); Err bitreich.org 70 i+XIMStyle choosebetterstyle(XIMStyle style1, XIMStyle style2); Err bitreich.org 70 i+void initim(void); Err bitreich.org 70 i void createwindow(void); Err bitreich.org 70 i void setupgc(void); Err bitreich.org 70 i void eventloop(void); Err bitreich.org 70 i@@ -42,6 +44,7 @@ XFontStruct *font_info; Err bitreich.org 70 i XFontSet fontset; Err bitreich.org 70 i int screen, issecret = 0, tostdout = 0; Err bitreich.org 70 i unsigned long fgcol, bgcol; Err bitreich.org 70 i+static char *name = "thinglaunch"; Err bitreich.org 70 i Err bitreich.org 70 i #define MAXCMD 255 Err bitreich.org 70 i #define WINWIDTH 640 Err bitreich.org 70 i@@ -212,6 +215,8 @@ createwindow(void) Err bitreich.org 70 i int top, left; Err bitreich.org 70 i XSizeHints *win_size_hints; Err bitreich.org 70 i XSetWindowAttributes attrib; Err bitreich.org 70 i+ XClassHint *ch; Err bitreich.org 70 i+ XTextProperty str; Err bitreich.org 70 i Err bitreich.org 70 i if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) Err bitreich.org 70 i fprintf(stderr, "warning: no locale support.\n"); Err bitreich.org 70 i@@ -258,9 +263,18 @@ createwindow(void) Err bitreich.org 70 i win_size_hints->min_width = win_size_hints->max_width = WINWIDTH; Err bitreich.org 70 i Err bitreich.org 70 i win_size_hints->min_height = win_size_hints->max_height = WINHEIGHT; Err bitreich.org 70 i- XSetWMNormalHints(dpy, win, win_size_hints); Err bitreich.org 70 i+ Err bitreich.org 70 i+ XStringListToTextProperty(&name, 1, &str); Err bitreich.org 70 i+ ch = XAllocClassHint(); Err bitreich.org 70 i+ ch->res_class = name; Err bitreich.org 70 i+ ch->res_name = name; Err bitreich.org 70 i+ Err bitreich.org 70 i+ XSetWMProperties(dpy, win, &str, &str, NULL, 0, win_size_hints, Err bitreich.org 70 i+ NULL, ch); Err bitreich.org 70 i Err bitreich.org 70 i XFree(win_size_hints); Err bitreich.org 70 i+ XFree(ch); Err bitreich.org 70 i+ XFree(str.value); Err bitreich.org 70 i Err bitreich.org 70 i XMapWindow(dpy, win); Err bitreich.org 70 i } Err bitreich.org 70 .