head 1.6; access; symbols pkgsrc-2026Q1:1.6.0.80 pkgsrc-2026Q1-base:1.6 pkgsrc-2025Q4:1.6.0.78 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.6.0.76 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.74 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.6.0.72 pkgsrc-2025Q1-base:1.6 pkgsrc-2024Q4:1.6.0.70 pkgsrc-2024Q4-base:1.6 pkgsrc-2024Q3:1.6.0.68 pkgsrc-2024Q3-base:1.6 pkgsrc-2024Q2:1.6.0.66 pkgsrc-2024Q2-base:1.6 pkgsrc-2024Q1:1.6.0.64 pkgsrc-2024Q1-base:1.6 pkgsrc-2023Q4:1.6.0.62 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.60 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.6.0.58 pkgsrc-2023Q2-base:1.6 pkgsrc-2023Q1:1.6.0.56 pkgsrc-2023Q1-base:1.6 pkgsrc-2022Q4:1.6.0.54 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.6.0.52 pkgsrc-2022Q3-base:1.6 pkgsrc-2022Q2:1.6.0.50 pkgsrc-2022Q2-base:1.6 pkgsrc-2022Q1:1.6.0.48 pkgsrc-2022Q1-base:1.6 pkgsrc-2021Q4:1.6.0.46 pkgsrc-2021Q4-base:1.6 pkgsrc-2021Q3:1.6.0.44 pkgsrc-2021Q3-base:1.6 pkgsrc-2021Q2:1.6.0.42 pkgsrc-2021Q2-base:1.6 pkgsrc-2021Q1:1.6.0.40 pkgsrc-2021Q1-base:1.6 pkgsrc-2020Q4:1.6.0.38 pkgsrc-2020Q4-base:1.6 pkgsrc-2020Q3:1.6.0.36 pkgsrc-2020Q3-base:1.6 pkgsrc-2020Q2:1.6.0.32 pkgsrc-2020Q2-base:1.6 pkgsrc-2020Q1:1.6.0.12 pkgsrc-2020Q1-base:1.6 pkgsrc-2019Q4:1.6.0.34 pkgsrc-2019Q4-base:1.6 pkgsrc-2019Q3:1.6.0.30 pkgsrc-2019Q3-base:1.6 pkgsrc-2019Q2:1.6.0.28 pkgsrc-2019Q2-base:1.6 pkgsrc-2019Q1:1.6.0.26 pkgsrc-2019Q1-base:1.6 pkgsrc-2018Q4:1.6.0.24 pkgsrc-2018Q4-base:1.6 pkgsrc-2018Q3:1.6.0.22 pkgsrc-2018Q3-base:1.6 pkgsrc-2018Q2:1.6.0.20 pkgsrc-2018Q2-base:1.6 pkgsrc-2018Q1:1.6.0.18 pkgsrc-2018Q1-base:1.6 pkgsrc-2017Q4:1.6.0.16 pkgsrc-2017Q4-base:1.6 pkgsrc-2017Q3:1.6.0.14 pkgsrc-2017Q3-base:1.6 pkgsrc-2017Q2:1.6.0.10 pkgsrc-2017Q2-base:1.6 pkgsrc-2017Q1:1.6.0.8 pkgsrc-2017Q1-base:1.6 pkgsrc-2016Q4:1.6.0.6 pkgsrc-2016Q4-base:1.6 pkgsrc-2016Q3:1.6.0.4 pkgsrc-2016Q3-base:1.6 pkgsrc-2016Q2:1.6.0.2 pkgsrc-2016Q2-base:1.6 pkgsrc-2016Q1:1.5.0.86 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.84 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.82 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.80 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.78 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.76 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.74 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.72 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.70 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.68 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.66 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.64 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.62 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.60 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.58 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.56 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.54 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.52 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.50 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.48 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.46 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q4:1.5.0.44 pkgsrc-2010Q4-base:1.5 pkgsrc-2010Q3:1.5.0.42 pkgsrc-2010Q3-base:1.5 pkgsrc-2010Q2:1.5.0.40 pkgsrc-2010Q2-base:1.5 pkgsrc-2010Q1:1.5.0.38 pkgsrc-2010Q1-base:1.5 pkgsrc-2009Q4:1.5.0.36 pkgsrc-2009Q4-base:1.5 pkgsrc-2009Q3:1.5.0.34 pkgsrc-2009Q3-base:1.5 pkgsrc-2009Q2:1.5.0.32 pkgsrc-2009Q2-base:1.5 pkgsrc-2009Q1:1.5.0.30 pkgsrc-2009Q1-base:1.5 pkgsrc-2008Q4:1.5.0.28 pkgsrc-2008Q4-base:1.5 pkgsrc-2008Q3:1.5.0.26 pkgsrc-2008Q3-base:1.5 cube-native-xorg:1.5.0.24 cube-native-xorg-base:1.5 pkgsrc-2008Q2:1.5.0.22 pkgsrc-2008Q2-base:1.5 cwrapper:1.5.0.20 pkgsrc-2008Q1:1.5.0.18 pkgsrc-2008Q1-base:1.5 pkgsrc-2007Q4:1.5.0.16 pkgsrc-2007Q4-base:1.5 pkgsrc-2007Q3:1.5.0.14 pkgsrc-2007Q3-base:1.5 pkgsrc-2007Q2:1.5.0.12 pkgsrc-2007Q2-base:1.5 pkgsrc-2007Q1:1.5.0.10 pkgsrc-2007Q1-base:1.5 pkgsrc-2006Q4:1.5.0.8 pkgsrc-2006Q4-base:1.5 pkgsrc-2006Q3:1.5.0.6 pkgsrc-2006Q3-base:1.5 pkgsrc-2006Q2:1.5.0.4 pkgsrc-2006Q2-base:1.5 pkgsrc-2006Q1:1.5.0.2 pkgsrc-2006Q1-base:1.5 pkgsrc-2005Q4:1.4.0.20 pkgsrc-2005Q4-base:1.4 pkgsrc-2005Q3:1.4.0.18 pkgsrc-2005Q3-base:1.4 pkgsrc-2005Q2:1.4.0.16 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.4.0.14 pkgsrc-2005Q1-base:1.4 pkgsrc-2004Q4:1.4.0.12 pkgsrc-2004Q4-base:1.4 pkgsrc-2004Q3:1.4.0.10 pkgsrc-2004Q3-base:1.4 pkgsrc-2004Q2:1.4.0.8 pkgsrc-2004Q2-base:1.4 pkgsrc-2004Q1:1.4.0.6 pkgsrc-2004Q1-base:1.4 pkgsrc-2003Q4:1.4.0.4 pkgsrc-2003Q4-base:1.4 netbsd-1-6-1:1.4.0.2 netbsd-1-6-1-base:1.4 netbsd-1-6:1.3.0.6 netbsd-1-6-RELEASE-base:1.3 pkgviews:1.3.0.2 pkgviews-base:1.3 buildlink2:1.2.0.2 buildlink2-base:1.2 netbsd-1-5-PATCH003:1.2 netbsd-1-5-PATCH001:1.2 netbsd-1-5-RELEASE:1.1 netbsd-1-4-PATCH003:1.1; locks; strict; comment @# @; 1.6 date 2016.06.23.19.04.54; author dholland; state Exp; branches; next 1.5; commitid 76T7u3xbbeC6HCbz; 1.5 date 2006.03.23.17.36.16; author joerg; state Exp; branches; next 1.4; 1.4 date 2002.09.18.10.40.13; author tron; state Exp; branches; next 1.3; 1.3 date 2002.07.18.12.57.58; author seb; state Exp; branches; next 1.2; 1.2 date 2001.03.27.02.29.18; author hubertf; state Exp; branches; next 1.1; 1.1 date 2000.07.31.17.02.25; author tron; state Exp; branches; next ; desc @@ 1.6 log @PR 32295 Jake Kupersmith: missing alloca.h on Solaris. @ text @$NetBSD: patch-ad,v 1.5 2006/03/23 17:36:16 joerg Exp $ --- wmnet.c.orig Fri May 5 03:01:14 2000 +++ wmnet.c Mon Jul 8 16:52:30 2002 @@@@ -55,9 +55,14 @@@@ #include #include #include -#if defined (__FreeBSD__) || defined (__OpenBSD__) +#if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) || defined(__DragonFly__) # include # include"getopt.h" +#elif defined (sun) +# include +# include +# include +# include "getopt.h" #else # include #endif @@@@ -97,17 +101,19 @@@@ int c; XColor thecolor; struct sigaction signal_action; - char *txcolorString = NULL, *rxcolorString = NULL, *labelfgcolorString = NULL, *labelbgcolorString = NULL; + char *txcolorString = NULL, *rxcolorString = NULL, *labelfgcolorString = NULL, *labelbgcolorString = NULL, *bgcolorString = NULL; char *parser = NULL; #ifdef linux - const struct option long_options[19] = { + const struct option long_options[21] = { #else - const struct option long_options[17] = { + const struct option long_options[19] = { #endif {"device", required_argument, NULL, 'W'}, {"label", required_argument, NULL, 'L'}, {"labelfg", required_argument, NULL, 'F'}, {"labelbg", required_argument, NULL, 'B'}, + {"bg", required_argument, NULL, 'b'}, + {"no3d", no_argument, NULL, 'N'}, {"logscale", no_argument, NULL, 'l'}, {"help", no_argument, NULL, 'h'}, {"execute", required_argument, NULL, 'e'}, @@@@ -131,9 +137,9 @@@@ /* Get options */ #ifdef linux - while((c = getopt_long(argc, argv, "W:F:B:L:vp:u:wnle:R:T:r:t:D:d:x:h", long_options, NULL)) != EOF) { + while((c = getopt_long(argc, argv, "W:F:B:b:L:vp:u:wnNle:R:T:r:t:D:d:x:h", long_options, NULL)) != EOF) { #else - while((c = getopt_long(argc, argv, "W:F:B:L:vp:u:wnle:r:t:D:d:x:h", long_options, NULL)) != EOF) { + while((c = getopt_long(argc, argv, "W:F:B:b:L:vp:u:wnNle:r:t:D:d:x:h", long_options, NULL)) != EOF) { #endif switch(c) { case 'v': @@@@ -176,6 +182,15 @@@@ exit(23); } break; + case 'b': + if (bgcolorString == NULL) { + bgcolorString = (char *)alloca(strlen(optarg)+1); + strncpy(bgcolorString, optarg, strlen(optarg)+1); + } else { + fprintf(stderr, "wmnet: duplicate --bg\n"); + exit(23); + } + break; case 'F': if (labelfgcolorString == NULL) { labelfgcolorString = (char *)alloca(strlen(optarg)+1); @@@@ -228,6 +243,9 @@@@ case 'n': specified_state = NormalState; break; + case 'N': + no3d = True; + break; case 'u': { int fds; @@@@ -283,6 +301,7 @@@@ " -L, --label=LABEL display LABEL on bottom of window\n" " -F, --labelfg=COLOR foreground color for the label\n" " -B, --labelbg=COLOR background color for the label\n" + " -b, --bg=COLOR background color\n" " -e, --execute=COMMAND run COMMAND on click\n" #ifdef linux " -T, --txrule=RULE accounting rule number (ipfwadm) or\n" @@@@ -320,6 +339,7 @@@@ if (rxcolorString == NULL) rxcolorString = "red"; if (labelfgcolorString == NULL) labelfgcolorString = "white"; if (labelbgcolorString == NULL) labelbgcolorString = "black"; + if (bgcolorString == NULL) bgcolorString = "black"; /* Change dir to /, security precaution, and common courtesy */ if (chdir("/") == -1) { @@@@ -384,6 +404,14 @@@@ XAllocColor(dpy, DefaultColormap(dpy, screen), &thecolor); labelbg_pixel = thecolor.pixel; } + if(bgcolorString) { + if(!XParseColor(dpy, DefaultColormap(dpy, screen), bgcolorString, &thecolor)) { + fprintf(stderr, "wmnet: what the heck is %s for a color?\n", bgcolorString); + exit(25); + } + XAllocColor(dpy, DefaultColormap(dpy, screen), &thecolor); + bg_pixel = thecolor.pixel; + } /* usleep() in between polls to /proc/net/ip_acct */ if (delayTime <= 0) delayTime = 25000; @@@@ -442,7 +470,7 @@@@ } gcv.graphics_exposures = False; gcv.foreground = tx_pixel[HIGH_INTENSITY]; - gcv.background = darkgrey_pixel; + gcv.background = bg_pixel /* HF: darkgrey_pixel */; gcv.font = XLoadFont(dpy, "5x8"); graphics_context = XCreateGC(dpy, root_window, (GCFont|GCGraphicsExposures|GCForeground|GCBackground), &gcv); black_pixel = BlackPixel(dpy, screen); @@@@ -494,12 +522,12 @@@@ /* Handles Expose events, repaints the window */ void redraw(XExposeEvent *ee) { static XRectangle cliprect = { 4, 51, 56, 9 }; - XSetForeground(dpy, graphics_context, darkgrey_pixel); + XSetForeground(dpy, graphics_context, bg_pixel /* HF: darkgrey_pixel*/); /* if (wmaker_present == False) XFillRectangle(dpy, *visible_window, graphics_context, 0, 0, 64, 64); */ XFillRectangle(dpy, *visible_window, graphics_context, GRAPHBOX_X, GRAPHBOX_Y, GRAPHBOX_WIDTH, GRAPHBOX_HEIGHT); - XSetForeground(dpy, graphics_context, black_pixel); + XSetForeground(dpy, graphics_context, bg_pixel); XFillRectangle(dpy, *visible_window, graphics_context, TOPBOX_X, TOPBOX_Y, TOPBOX_WIDTH, TOPBOX_HEIGHT); XDrawLine(dpy, *visible_window, graphics_context, GRAPHBOX_X_LEFT, GRAPHBOX_Y_TOP, GRAPHBOX_X_LEFT, GRAPHBOX_Y_BOTTOM); XDrawPoint(dpy, *visible_window, graphics_context, GRAPHBOX_X_RIGHT, GRAPHBOX_Y_TOP); @@@@ -513,15 +541,19 @@@@ } + if (! no3d) { XSetForeground(dpy, graphics_context, white_pixel); XDrawLine(dpy, *visible_window, graphics_context, GRAPHBOX_X_RIGHT, GRAPHBOX_Y_BOTTOM, GRAPHBOX_X_RIGHT, (GRAPHBOX_Y_TOP + 1)); XDrawLine(dpy, *visible_window, graphics_context, GRAPHBOX_X_LEFT, GRAPHBOX_Y_BOTTOM, GRAPHBOX_X_RIGHT, GRAPHBOX_Y_BOTTOM); + } + if (! no3d) { /* OK, this is cheating, but I don't want to add yet another switch; I have NFC what these arrows are for - HF */ XSetForeground(dpy, graphics_context, grey_pixel); - XSetBackground(dpy, graphics_context, black_pixel); + XSetBackground(dpy, graphics_context, bg_pixel); XCopyPlane(dpy, arrow, *visible_window, graphics_context, 7, 0, 7, 9, 53, 5, 1); XCopyPlane(dpy, arrow, *visible_window, graphics_context, 0, 0, 7, 9, 46, 5, 1); + } } @@@@ -572,7 +604,7 @@@@ if (blank < (GRAPH_WIDTH + 1) ) { XCopyArea(dpy, *visible_window, *visible_window, graphics_context, GRAPH_X + 1, GRAPH_Y, GRAPH_WIDTH - 1, GRAPH_HEIGHT, GRAPH_X, GRAPH_Y); - XSetForeground(dpy, graphics_context, darkgrey_pixel); + XSetForeground(dpy, graphics_context, bg_pixel /* HF: darkgrey_pixel*/ ); XDrawLine(dpy, *visible_window, graphics_context, GRAPH_X_RIGHT, y, GRAPH_X_RIGHT, yy); if (( (yy == GRAPH_Y_UPPER && diffbytes_out > 0 && rate_rx > rate_tx) || (rate_rx >= rate_tx && yy != GRAPH_Y_UPPER)) ) { drawColoredLine(GRAPH_Y_UPPER, yy, tx_pixel); @@@@ -593,7 +625,7 @@@@ if (!stat_gather()) { /* Anything change? */ current_rx = rx; current_tx = tx; - XSetBackground(dpy, graphics_context, black_pixel); + XSetBackground(dpy, graphics_context, bg_pixel); if(current_tx == True) { XSetForeground(dpy, graphics_context, tx_pixel[HIGH_INTENSITY]); XCopyPlane(dpy, arrow, *visible_window, graphics_context, 7, 0, 7, 9, 53, 5, 1); @@@@ -646,7 +678,7 @@@@ if (!clear) { - XSetForeground(dpy, graphics_context, black_pixel); + XSetForeground(dpy, graphics_context, bg_pixel); XFillRectangle(dpy, *visible_window, graphics_context, 4, 5, 37, 9); } if (rate < .1) { @@@@ -732,6 +732,7 @@@@ case ButtonPress: if(event.xbutton.button == Button1 && click_command != NULL) { if (fork() == 0) { + setgid(getgid()); execl("/bin/sh", "sh", "-c", click_command, NULL); perror("wmnet: execl()"); exit(15); @ 1.5 log @Add DragonFly support. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.4 2002/09/18 10:40:13 tron Exp $ d5 1 a5 1 @@@@ -55,9 +55,13 @@@@ d14 1 @ 1.4 log @Add security patch from the FreeBSD ports collection: Drop setgid kmem privs before executing external programs. Reported by: Christer Oberg Bump the package revision to 3. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.3 2002/07/18 12:57:58 seb Exp $ d10 1 a10 1 +#if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) @ 1.3 log @Add support for Solaris via the kstat(3) facility. Provided in PR pkg/17521 by Lubomir Sedlacik . @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.2 2001/03/27 02:29:18 hubertf Exp $ d184 8 @ 1.2 log @Update to wmnet-1.06nb1 to add some patches to make this work better in a fvwm2 FvwmButton (switches are mainly to set background color etc.) @ text @d1 1 a1 1 $NetBSD$ d4 2 a5 2 +++ wmnet.c @@@@ -55,7 +55,7 @@@@ d13 4 d18 3 a20 1 @@@@ -97,17 +97,19 @@@@ d43 1 a43 1 @@@@ -131,9 +133,9 @@@@ d55 1 a55 1 @@@@ -176,6 +178,15 @@@@ d71 1 a71 1 @@@@ -228,6 +239,9 @@@@ d81 1 a81 1 @@@@ -283,6 +297,7 @@@@ d89 1 a89 1 @@@@ -320,6 +335,7 @@@@ d97 1 a97 1 @@@@ -384,6 +400,14 @@@@ d112 1 a112 1 @@@@ -442,7 +466,7 @@@@ d121 1 a121 1 @@@@ -494,12 +518,12 @@@@ d136 1 a136 1 @@@@ -513,15 +537,19 @@@@ a139 3 - XSetForeground(dpy, graphics_context, white_pixel); - XDrawLine(dpy, *visible_window, graphics_context, GRAPHBOX_X_RIGHT, GRAPHBOX_Y_BOTTOM, GRAPHBOX_X_RIGHT, (GRAPHBOX_Y_TOP + 1)); - XDrawLine(dpy, *visible_window, graphics_context, GRAPHBOX_X_LEFT, GRAPHBOX_Y_BOTTOM, GRAPHBOX_X_RIGHT, GRAPHBOX_Y_BOTTOM); d141 3 a143 3 + XSetForeground(dpy, graphics_context, white_pixel); + XDrawLine(dpy, *visible_window, graphics_context, GRAPHBOX_X_RIGHT, GRAPHBOX_Y_BOTTOM, GRAPHBOX_X_RIGHT, (GRAPHBOX_Y_TOP + 1)); + XDrawLine(dpy, *visible_window, graphics_context, GRAPHBOX_X_LEFT, GRAPHBOX_Y_BOTTOM, GRAPHBOX_X_RIGHT, GRAPHBOX_Y_BOTTOM); d147 2 a148 1 - XSetForeground(dpy, graphics_context, grey_pixel); a149 4 - XCopyPlane(dpy, arrow, *visible_window, graphics_context, 7, 0, 7, 9, 53, 5, 1); - XCopyPlane(dpy, arrow, *visible_window, graphics_context, 0, 0, 7, 9, 46, 5, 1); + if (! no3d) { /* OK, this is cheating, but I don't want to add yet another switch; I have NFC what these arrows are for - HF */ + XSetForeground(dpy, graphics_context, grey_pixel); d151 2 a152 2 + XCopyPlane(dpy, arrow, *visible_window, graphics_context, 7, 0, 7, 9, 53, 5, 1); + XCopyPlane(dpy, arrow, *visible_window, graphics_context, 0, 0, 7, 9, 46, 5, 1); d157 1 a157 1 @@@@ -572,7 +600,7 @@@@ d166 1 a166 1 @@@@ -593,7 +621,7 @@@@ d175 1 a175 1 @@@@ -646,7 +674,7 @@@@ @ 1.1 log @Use normal patch files instead of custom "do-patch" target. @ text @d4 1 a4 1 +++ wmnet.c Mon Jul 31 19:00:30 2000 d14 170 @