iAdd xgeometry support and remove old non-standard. - 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 ce149fb5b5c4223f0a724911be59bfe55f2ddb7b /scm/thingmenu/commit/ce149fb5b5c4223f0a724911be59bfe55f2ddb7b.gph bitreich.org 70 1parent 6fe4ccf5c1b27d5babe573dfa794ac86610ae28d /scm/thingmenu/commit/6fe4ccf5c1b27d5babe573dfa794ac86610ae28d.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sun, 9 Oct 2011 18:14:48 +0200 Err bitreich.org 70 i Err bitreich.org 70 iAdd xgeometry support and remove old non-standard. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M thingmenu.1 | 18 +++--------------- Err bitreich.org 70 i M thingmenu.c | 52 +++++++++++++++++-------------- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 32 insertions(+), 38 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/thingmenu.1 b/thingmenu.1 /scm/thingmenu/file/thingmenu.1.gph bitreich.org 70 i@@ -12,10 +12,7 @@ Err bitreich.org 70 i .Op Fl x Err bitreich.org 70 i .Op Fl s Err bitreich.org 70 i .Op Fl o Err bitreich.org 70 i-.Op Fl wh Ar height Err bitreich.org 70 i-.Op Fl ww Ar width Err bitreich.org 70 i-.Op Fl wx Ar x position Err bitreich.org 70 i-.Op Fl wy Ar y position Err bitreich.org 70 i+.Op Fl g Ar geometry Err bitreich.org 70 i .Op Fl ws Ar widthscaling Err bitreich.org 70 i .Op Fl hs Ar heightscaling Err bitreich.org 70 i .Op Fl - Err bitreich.org 70 i@@ -66,17 +63,8 @@ button is clicked. Err bitreich.org 70 i .It Fl o Err bitreich.org 70 i Use the horizontal layout. Err bitreich.org 70 i . Err bitreich.org 70 i-.It Fl wh Err bitreich.org 70 i-Define the overall window height. Err bitreich.org 70 i-. Err bitreich.org 70 i-.It Fl ww Err bitreich.org 70 i-Define the overall window width. Err bitreich.org 70 i-. Err bitreich.org 70 i-.It Fl wx Err bitreich.org 70 i-Define the absolute x position. Err bitreich.org 70 i-. Err bitreich.org 70 i-.It Fl wy Err bitreich.org 70 i-Define the absolute y position. Err bitreich.org 70 i+.It Fl g Err bitreich.org 70 i+Define the X11 geometry string, which is to be used. Err bitreich.org 70 i . Err bitreich.org 70 i .It Fl ws Err bitreich.org 70 i Define the width scaling. Err bitreich.org 70 1diff --git a/thingmenu.c b/thingmenu.c /scm/thingmenu/file/thingmenu.c.gph bitreich.org 70 i@@ -380,24 +380,28 @@ setup(void) Err bitreich.org 70 i } Err bitreich.org 70 i www *= widthscaling; Err bitreich.org 70 i Err bitreich.org 70 i- if (ww == 0) { Err bitreich.org 70 i+ if (!ww) { Err bitreich.org 70 i if (horizontal) { Err bitreich.org 70 i ww = www * nentries; Err bitreich.org 70 i } else { Err bitreich.org 70 i ww = www; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i- if (wh == 0) { Err bitreich.org 70 i+ if (!wh) { Err bitreich.org 70 i if (horizontal) { Err bitreich.org 70 i wh = dc.font.height * heightscaling; Err bitreich.org 70 i } else { Err bitreich.org 70 i wh = nentries * dc.font.height * heightscaling; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i- if (wy == 0) Err bitreich.org 70 i+ if (!wy) Err bitreich.org 70 i wy = (sh - wh) / 2; Err bitreich.org 70 i- if (wx == 0) Err bitreich.org 70 i+ if (wy < 0) Err bitreich.org 70 i+ wy = sh + wy - wh; Err bitreich.org 70 i+ if (!wx) Err bitreich.org 70 i wx = (sw - ww) / 2; Err bitreich.org 70 i+ if (wx < 0) Err bitreich.org 70 i+ wx = sw + wx - ww; Err bitreich.org 70 i Err bitreich.org 70 i dc.norm[ColBG] = getcolor(normbgcolor); Err bitreich.org 70 i dc.norm[ColFG] = getcolor(normfgcolor); Err bitreich.org 70 i@@ -537,8 +541,7 @@ updateentries(void) Err bitreich.org 70 i void Err bitreich.org 70 i usage(char *argv0) Err bitreich.org 70 i { Err bitreich.org 70 i- fprintf(stderr, "usage: %s [-hxso] [-wh height] [-ww width] " Err bitreich.org 70 i- "[-wx x position] [-wy y position] [-ws widthscaling] " Err bitreich.org 70 i+ fprintf(stderr, "usage: %s [-hxso] [-g geometry] [-ws widthscaling] " Err bitreich.org 70 i "[-hs heightscaling] [--] " Err bitreich.org 70 i "label0 cmd0 [label1 cmd1 ...]\n", argv0); Err bitreich.org 70 i exit(1); Err bitreich.org 70 i@@ -549,7 +552,8 @@ main(int argc, char *argv[]) Err bitreich.org 70 i { Err bitreich.org 70 i Bool addexit; Err bitreich.org 70 i char *label, *cmd; Err bitreich.org 70 i- int i; Err bitreich.org 70 i+ int i, xr, yr, bitm; Err bitreich.org 70 i+ unsigned int wr, hr; Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i addexit = True; Err bitreich.org 70 i@@ -566,6 +570,24 @@ main(int argc, char *argv[]) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i switch (argv[i][1]) { Err bitreich.org 70 i+ case 'g': Err bitreich.org 70 i+ if (i >= argc - 1) Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ bitm = XParseGeometry(argv[i+1], &xr, &yr, &wr, &hr); Err bitreich.org 70 i+ if(bitm & XValue) Err bitreich.org 70 i+ wx = xr; Err bitreich.org 70 i+ if(bitm & YValue) Err bitreich.org 70 i+ wy = yr; Err bitreich.org 70 i+ if(bitm & WidthValue) Err bitreich.org 70 i+ ww = (int)wr; Err bitreich.org 70 i+ if(bitm & HeightValue) Err bitreich.org 70 i+ wh = (int)hr; Err bitreich.org 70 i+ if(bitm & XNegative && wx == 0) Err bitreich.org 70 i+ wx = -1; Err bitreich.org 70 i+ if(bitm & YNegative && wy == 0) Err bitreich.org 70 i+ wy = -1; Err bitreich.org 70 i+ i++; Err bitreich.org 70 i+ break; Err bitreich.org 70 i case 'h': Err bitreich.org 70 i switch ((i >= argc - 1)? 0 : argv[i][2]) { Err bitreich.org 70 i case 's': Err bitreich.org 70 i@@ -584,26 +606,10 @@ main(int argc, char *argv[]) Err bitreich.org 70 i break; Err bitreich.org 70 i case 'w': Err bitreich.org 70 i switch ((i >= argc - 1)? 0 : argv[i][2]) { Err bitreich.org 70 i- case 'h': Err bitreich.org 70 i- wh = atoi(argv[i+1]); Err bitreich.org 70 i- i++; Err bitreich.org 70 i- break; Err bitreich.org 70 i case 's': Err bitreich.org 70 i widthscaling = atof(argv[i+1]); Err bitreich.org 70 i i++; Err bitreich.org 70 i break; Err bitreich.org 70 i- case 'w': Err bitreich.org 70 i- ww = atoi(argv[i+1]); Err bitreich.org 70 i- i++; Err bitreich.org 70 i- break; Err bitreich.org 70 i- case 'x': Err bitreich.org 70 i- wx = atoi(argv[i+1]); Err bitreich.org 70 i- i++; Err bitreich.org 70 i- break; Err bitreich.org 70 i- case 'y': Err bitreich.org 70 i- wy = atoi(argv[i+1]); Err bitreich.org 70 i- i++; Err bitreich.org 70 i- break; Err bitreich.org 70 i default: Err bitreich.org 70 i usage(argv[0]); Err bitreich.org 70 i } Err bitreich.org 70 .