aboutsummaryrefslogtreecommitdiff
path: root/desktop/wmmon
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2015-11-22 03:11:44 -0500
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2015-11-28 07:26:17 +0700
commit3ae00a0dfa58bf37717d8e161f86d3689a95217f (patch)
tree78d5236a5d0a7c8ec89e08b4316cb9b03a199781 /desktop/wmmon
parent1d54ad386f6c9e160c10e8a252870dca89e25524 (diff)
desktop/wmmon: Updated for version 1.1+20131205.
Diffstat (limited to 'desktop/wmmon')
-rw-r--r--desktop/wmmon/README3
-rw-r--r--desktop/wmmon/patches/gcc5.diff18
-rw-r--r--desktop/wmmon/patches/wmmon_1_0b2-p14.diff996
-rw-r--r--desktop/wmmon/wmmon.SlackBuild20
-rw-r--r--desktop/wmmon/wmmon.info8
5 files changed, 29 insertions, 1016 deletions
diff --git a/desktop/wmmon/README b/desktop/wmmon/README
index 0da8e710225a..ef5a14b94d72 100644
--- a/desktop/wmmon/README
+++ b/desktop/wmmon/README
@@ -1,6 +1,3 @@
WMMon monitors the your CPU, Disk I/O, Memory and Swap usage, and shows
an average load for CPU and Disk I/O. It also displays your uptime. You
just click on it to toggle the display.
-
-This build includes security fixes and 2.6 kernel support added by Simon
-Law (maintainer of the wmmon Debian package).
diff --git a/desktop/wmmon/patches/gcc5.diff b/desktop/wmmon/patches/gcc5.diff
new file mode 100644
index 000000000000..1d02bddb48a7
--- /dev/null
+++ b/desktop/wmmon/patches/gcc5.diff
@@ -0,0 +1,18 @@
+Description: fix build failure with gcc5:
+ build with "-std=gnu89"
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/778171
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2015-07-19
+
+--- a/wmmon/Makefile
++++ b/wmmon/Makefile
+@@ -5,7 +5,7 @@
+ ../wmgeneral/misc.o \
+ ../wmgeneral/list.o
+
+-CFLAGS = -O2
++CFLAGS = -O2 -std=gnu89
+ CC = cc
+
+
diff --git a/desktop/wmmon/patches/wmmon_1_0b2-p14.diff b/desktop/wmmon/patches/wmmon_1_0b2-p14.diff
deleted file mode 100644
index acb1979f5a34..000000000000
--- a/desktop/wmmon/patches/wmmon_1_0b2-p14.diff
+++ /dev/null
@@ -1,996 +0,0 @@
---- wmmon-1.0b2.orig/wmgeneral/wmgeneral.c
-+++ wmmon-1.0b2/wmgeneral/wmgeneral.c
-@@ -12,6 +12,8 @@
- ---
- CHANGES:
- ---
-+ 10/10/2003 (Simon Law, sfllaw@debian.org)
-+ * changed the parse_rcfile function to use getline instead of fgets.
- 02/05/1998 (Martijn Pieterse, pieterse@xs4all.nl)
- * changed the read_rc_file to parse_rcfile, as suggester by Marcelo E. Magallon
- * debugged the parse_rc file.
-@@ -21,6 +23,7 @@
-
- */
-
-+#define _GNU_SOURCE
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
-@@ -83,17 +86,18 @@
- void parse_rcfile(const char *filename, rckeys *keys) {
-
- char *p;
-- char temp[128];
-+ char *line = NULL;
-+ size_t line_size = 0;
- char *tokens = " :\t\n";
- FILE *fp;
- int i,key;
-
- fp = fopen(filename, "r");
- if (fp) {
-- while (fgets(temp, 128, fp)) {
-+ while (getline(&line, &line_size, fp) >= 0) {
- key = 0;
- while (key >= 0 && keys[key].label) {
-- if ((p = strstr(temp, keys[key].label))) {
-+ if ((p = strstr(line, keys[key].label))) {
- p += strlen(keys[key].label);
- p += strspn(p, tokens);
- if ((i = strcspn(p, "#\n"))) p[i] = 0;
-@@ -270,6 +274,7 @@
- unsigned int borderwidth = 1;
- XClassHint classHint;
- char *display_name = NULL;
-+ char *geometry = NULL;
- char *wname = argv[0];
- XTextProperty name;
-
-@@ -282,7 +287,9 @@
-
- for (i=1; argv[i]; i++) {
- if (!strcmp(argv[i], "-display"))
-- display_name = argv[i+1];
-+ display_name = argv[++i];
-+ else if (!strcmp(argv[i], "-geometry"))
-+ geometry = argv[++i];
- }
-
- if (!(display = XOpenDisplay(display_name))) {
-@@ -307,7 +314,11 @@
- fore_pix = GetColor("black");
-
- XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints,
-- &mysizehints.x, &mysizehints.y,&mysizehints.width,&mysizehints.height, &dummy);
-+ &mysizehints.x, &mysizehints.y,
-+ &mysizehints.width, &mysizehints.height, &dummy);
-+ if (geometry)
-+ XParseGeometry(geometry, &mysizehints.x, &mysizehints.y,
-+ &mysizehints.width, &mysizehints.height);
-
- mysizehints.width = 64;
- mysizehints.height = 64;
-@@ -364,3 +375,6 @@
- XMapWindow(display, win);
-
- }
-+
-+/* vim: sw=4 ts=4 columns=82
-+ */
---- wmmon-1.0b2.orig/wmmon/wmmon.c
-+++ wmmon-1.0b2/wmmon/wmmon.c
-@@ -28,6 +28,12 @@
- Changes:
- ----
-
-+ 15/05/2004 (Simon Law, sfllaw@debian.org)
-+ * Support disabling of mode-cycling
-+ 23/10/2003 (Simon Law, sfllaw@debian.org)
-+ * Eliminated exploitable static buffers
-+ * Added -geometry support.
-+ * /proc/meminfo support for Linux 2.6
- 18/05/1998 (Antoine Nulle, warp@xs4all.nl)
- * MEM/SWAP/UPTIME only updated when visible
- * Using global file descriptors to reduce file
-@@ -65,6 +71,7 @@
- * First Working Version
- */
-
-+#define _GNU_SOURCE
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
-@@ -100,31 +107,28 @@
- /* Global Variables */
- /********************/
-
--char *ProgName;
- int stat_current = 0; /* now global */
-+int mode_cycling = 1; /* Allow mode-cycling */
- FILE *fp_meminfo;
- FILE *fp_stat;
- FILE *fp_loadavg;
-
- /* functions */
--void usage(void);
-+void usage(char*);
- void printversion(void);
- void DrawStats(int *, int, int, int, int);
- void DrawStats_io(int *, int, int, int, int);
-
- void wmmon_routine(int, char **);
-
--void main(int argc, char *argv[]) {
-+int main(int argc, char *argv[]) {
-
- int i;
-+ char *name = argv[0];
-
-
- /* Parse Command Line */
-
-- ProgName = argv[0];
-- if (strlen(ProgName) >= 5)
-- ProgName += (strlen(ProgName) - 5);
--
- for (i=1; i<argc; i++) {
- char *arg = argv[i];
-
-@@ -132,13 +136,17 @@
- switch (arg[1]) {
- case 'd' :
- if (strcmp(arg+1, "display")) {
-- usage();
-- exit(1);
-+ usage(name);
-+ return 1;
- }
- break;
-- case 'v' :
-- printversion();
-- exit(0);
-+ case 'g' :
-+ if (strcmp(arg+1, "geometry")) {
-+ usage(name);
-+ return 1;
-+ }
-+ case 'l' :
-+ mode_cycling = 0;
- break;
- case 'i' :
- stat_current = 1;
-@@ -146,15 +154,20 @@
- case 's' :
- stat_current = 2;
- break;
-+ case 'v' :
-+ printversion();
-+ return 0;
- default:
-- usage();
-- exit(0);
-- break;
-+ usage(name);
-+ return 1;
- }
- }
- }
-
- wmmon_routine(argc, argv);
-+
-+ exit (0);
-+
- }
-
- /*******************************************************************************\
-@@ -214,8 +227,7 @@
- long idle;
-
- FILE *fp;
-- char temp[128];
-- char *p;
-+ char *conffile = NULL;
-
- int xpm_X = 0, xpm_Y = 0;
-
-@@ -246,16 +258,21 @@
- if (RIGHT_ACTION) right_action = strdup(RIGHT_ACTION);
- if (MIDDLE_ACTION) middle_action = strdup(MIDDLE_ACTION);
-
-- strcpy(temp, "/etc/wmmonrc");
-- parse_rcfile(temp, wmmon_keys);
-+ /* Scan through the .rc files */
-+ if (asprintf(&conffile, "/etc/wmmonrc") >= 0) {
-+ parse_rcfile(conffile, wmmon_keys);
-+ free(conffile);
-+ }
-
-- p = getenv("HOME");
-- strcpy(temp, p);
-- strcat(temp, "/.wmmonrc");
-- parse_rcfile(temp, wmmon_keys);
--
-- strcpy(temp, "/etc/wmmonrc.fixed");
-- parse_rcfile(temp, wmmon_keys);
-+ if (asprintf(&conffile, "%s/.wmmonrc", getenv("HOME")) >= 0) {
-+ parse_rcfile(conffile, wmmon_keys);
-+ free(conffile);
-+ }
-+
-+ if (asprintf(&conffile, "/etc/wmmonrc.fixed") >= 0) {
-+ parse_rcfile(conffile, wmmon_keys);
-+ free(conffile);
-+ }
-
- stat_online = checksysdevs();
-
-@@ -269,26 +286,36 @@
- starttime = time(0);
- nexttime = starttime + 10;
-
-+ /* Collect information on each panel */
- for (i=0; i<stat_online; i++) {
- get_statistics(stat_device[i].name, &k, &istat, &idle);
- stat_device[i].statlast = istat;
- stat_device[i].idlelast = idle;
- }
-- if (stat_current == 0) DrawStats(stat_device[stat_current].his, 54, 40, 5, 58);
-- if (stat_current == 1) {
-- DrawStats_io(stat_device[stat_current].his, 54, 40, 5, 58);
-- }
-- if (stat_current == 2) {
-- xpm_X = 64;
-- setMaskXY(-64, 0);
-- } else {
-- xpm_X = 0;
-- setMaskXY(0, 0);
-+
-+ /* Set the mask for the current window */
-+ switch (stat_current) {
-+ case 0:
-+ case 1:
-+ xpm_X = 0;
-+ setMaskXY(0, 0);
-+ break;
-+ case 2:
-+ xpm_X = 64;
-+ setMaskXY(-64, 0);
-+ default:
-+ break;
- }
-+
-+ /* Draw statistics */
-+ if (stat_current == 0)
-+ DrawStats(stat_device[stat_current].his, 54, 40, 5, 58);
-+ if (stat_current == 1)
-+ DrawStats_io(stat_device[stat_current].his, 54, 40, 5, 58);
- DrawActive(stat_device[stat_current].name);
-
- while (1) {
-- curtime = time(0);
-+ curtime = time(NULL);
-
- waitpid(0, NULL, WNOHANG);
-
-@@ -377,6 +404,9 @@
- if (curtime >= nexttime) {
- nexttime+=10;
-
-+ if (curtime > nexttime) /* dont let APM suspends make this crazy */
-+ nexttime = curtime;
-+
- for (i=0; i<stat_online; i++) {
- if (stat_device[i].his[54])
- stat_device[i].his[54] /= stat_device[i].hisaddcnt;
-@@ -411,7 +441,7 @@
- break;
- case ButtonRelease:
- i = CheckMouseRegion(Event.xbutton.x, Event.xbutton.y);
-- if (but_stat == i && but_stat >= 0) {
-+ if (but_stat == i && but_stat >= 0 && mode_cycling) {
- switch (but_stat) {
- case 0:
- switch (Event.xbutton.button) {
-@@ -430,7 +460,6 @@
- }
- case 1:
- stat_current++;
-- printf("current stat is :%d\n", stat_current);
- if (stat_current == stat_online)
- stat_current = 0;
-
-@@ -499,43 +528,80 @@
-
- void update_stat_mem(stat_dev *st, stat_dev *st2) {
-
-- char temp[128];
-+ static char *line = NULL;
-+ static size_t line_size = 0;
-+
-+ unsigned long swapfree;
- unsigned long free, shared, buffers, cached;
-
- freopen("/proc/meminfo", "r", fp_meminfo);
-- while (fgets(temp, 128, fp_meminfo)) {
-- if (strstr(temp, "Mem:")) {
-- sscanf(temp, "Mem: %ld %ld %ld %ld %ld %ld",
-- &st->rt_idle, &st->rt_stat,
-- &free, &shared, &buffers, &cached);
-- st->rt_idle >>= 10;
-- st->rt_stat -= buffers+cached;
-- st->rt_stat >>= 10;
--// break;
-- }
-- if (strstr(temp, "Swap:")) {
-- sscanf(temp, "Swap: %ld %ld", &st2->rt_idle, &st2->rt_stat);
-- st2->rt_idle >>= 10;
-- st2->rt_stat >>= 10;
-- break;
-+ while ((getline(&line, &line_size, fp_meminfo)) > 0) {
-+ /* The original format for the first two lines of /proc/meminfo was
-+ * Mem: total used free shared buffers cached
-+ * Swap: total used free
-+ *
-+ * As of at least 2.5.47 these two lines were removed, so that the
-+ * required information has to come from the rest of the lines.
-+ * On top of that, used is no longer recorded - you have to work
-+ * this out yourself, from total - free.
-+ *
-+ * So, these changes below should work. They should also work with
-+ * older kernels, too, since the new format has been available for
-+ * ages.
-+ */
-+ if (strstr(line, "MemTotal:")) {
-+ sscanf(line, "MemTotal: %ld", &st->rt_idle);
-+ }
-+ else if (strstr(line, "MemFree:")) {
-+ sscanf(line, "MemFree: %ld", &free);
-+ }
-+ else if (strstr(line, "MemShared:")) {
-+ sscanf(line, "MemShared: %ld", &shared);
-+ }
-+ else if (strstr(line, "Buffers:")) {
-+ sscanf(line, "Buffers: %ld", &buffers);
-+ }
-+ else if (strstr(line, "Cached:")) {
-+ sscanf(line, "Cached: %ld", &cached);
-+ }
-+ else if (strstr(line, "SwapTotal:")) {
-+ sscanf(line, "SwapTotal: %ld", &st2->rt_idle);
-+ }
-+ else if (strstr(line, "SwapFree:")) {
-+ sscanf(line, "SwapFree: %ld", &swapfree);
- }
- }
-+
-+ /* memory use - rt_stat is the amount used, it seems, and this isn't
-+ * recorded in current version of /proc/meminfo (as of 2.5.47), so we
-+ * calculate it from MemTotal - MemFree
-+ */
-+ st->rt_stat = st->rt_idle - free;
-+ st->rt_stat -= buffers+cached;
-+ /* As with the amount of memory used, it's not recorded any more, so
-+ * we have to calculate it ourselves.
-+ */
-+ st2->rt_stat = st2->rt_idle - swapfree;
- }
-
- void update_stat_swp(stat_dev *st) {
-
-- char temp[128];
-+ static char *line = NULL;
-+ static size_t line_size = 0;
-+ unsigned long swapfree;
-
- fseek(fp_meminfo, 0, SEEK_SET);
-- while (fgets(temp, 128, fp_meminfo)) {
-- if (strstr(temp, "Swap:")) {
-- sscanf(temp, "Swap: %ld %ld", &st->rt_idle, &st->rt_stat);
-- st->rt_idle >>= 10;
-- st->rt_stat >>= 10;
-- break;
-+ while ((getline(&line, &line_size, fp_meminfo)) > 0) {
-+ /* As with update_stat_mem(), the format change to /proc/meminfo has
-+ * forced some changes here. */
-+ if (strstr(line, "SwapTotal:")) {
-+ sscanf(line, "SwapTotal: %ld", &st->rt_idle);
-+ }
-+ else if (strstr(line, "SwapFree:")) {
-+ sscanf(line, "SwapFree: %ld", &swapfree);
- }
- }
--
-+ st->rt_stat = st->rt_idle - swapfree;
- }
-
- /*******************************************************************************\
-@@ -545,11 +611,11 @@
- void get_statistics(char *devname, long *is, long *ds, long *idle) {
-
- int i;
-- char temp[128];
-+ static char *line = NULL;
-+ static size_t line_size = 0;
- char *p;
- char *tokens = " \t\n";
- float f;
-- long maxdiskio=0;
-
- *is = 0;
- *ds = 0;
-@@ -557,9 +623,9 @@
-
- if (!strncmp(devname, "cpu", 3)) {
- fseek(fp_stat, 0, SEEK_SET);
-- while (fgets(temp, 128, fp_stat)) {
-- if (strstr(temp, "cpu")) {
-- p = strtok(temp, tokens);
-+ while ((getline(&line, &line_size, fp_stat)) > 0) {
-+ if (strstr(line, "cpu ")) {
-+ p = strtok(line, tokens);
- /* 1..3, 4 == idle, we don't want idle! */
- for (i=0; i<3; i++) {
- p = strtok(NULL, tokens);
-@@ -577,17 +643,35 @@
- if (!strncmp(devname, "i/o", 3)) {
-
- fseek(fp_stat, 0, SEEK_SET);
-- while (fgets(temp, 128, fp_stat)) {
-- if (strstr(temp, "disk_rio") || strstr(temp, "disk_wio")) {
-- p = strtok(temp, tokens);
-+ while ((getline(&line, &line_size, fp_stat)) > 0) {
-+ if (strstr(line, "disk_rio") || strstr(line, "disk_wio")) {
-+ p = strtok(line, tokens);
- /* 1..4 */
- for (i=0; i<4; i++) {
- p = strtok(NULL, tokens);
- *ds += atol(p);
- }
- }
-+ else if (strstr(line, "disk_io")) {
-+ int val;
-+ unsigned int a, b, c, d, e, h, g;
-+
-+ p = strtok(line, tokens);
-+
-+ while ((p = strtok(NULL, tokens))) {
-+ val = sscanf (p,
-+ "(%d,%d):(%d,%d,%d,%d,%d)",
-+ &a, &b, &c, &d, &e, &h,
-+ &g);
-+
-+ if (val != 7)
-+ continue;
-+
-+ *ds += d;
-+ *ds += h;
-+ }
-+ }
- }
-- if (*ds > maxdiskio) maxdiskio = *ds;
- }
- }
-
-@@ -715,16 +799,17 @@
- |* usage *|
- \*******************************************************************************/
-
--void usage(void) {
--
-- fprintf(stderr, "\nwmmon - programming: tijno, (de)bugging & design warp, webhosting: bobby\n\n");
-- fprintf(stderr, "usage:\n");
-- fprintf(stderr, "\t-display <display name>\n");
-- fprintf(stderr, "\t-h\tthis screen\n");
-- fprintf(stderr, "\t-v\tprint the version number\n");
-- fprintf(stderr, "\t-i\tstartup in DiskIO mode\n");
-- fprintf(stderr, "\t-s\tstartup in SysInfo mode\n");
-- fprintf(stderr, "\n");
-+void usage(char *name) {
-+ printf("Usage: %s [OPTION]...\n", name);
-+ printf("WindowMaker dockapp that displays system information.\n");
-+ printf("\n");
-+ printf(" -display DISPLAY contact the DISPLAY X server\n");
-+ printf(" -geometry GEOMETRY position the clock at GEOMETRY\n");
-+ printf(" -l locked view - cannot cycle modes\n");
-+ printf(" -i start in Disk I/O mode\n");
-+ printf(" -s start in System Info mode\n");
-+ printf(" -h display this help and exit\n");
-+ printf(" -v output version information and exit\n");
- }
-
- /*******************************************************************************\
-@@ -733,7 +818,7 @@
-
- void printversion(void) {
-
-- if (!strcmp(ProgName, "wmmon")) {
-- fprintf(stderr, "%s\n", WMMON_VERSION);
-- }
-+ printf("WMMon version %s\n", WMMON_VERSION);
- }
-+/* vim: sw=4 ts=4 columns=82
-+ */
---- wmmon-1.0b2.orig/wmmon/wmmon.1
-+++ wmmon-1.0b2/wmmon/wmmon.1
-@@ -0,0 +1,192 @@
-+'\" t
-+.\" Man page for wmmon
-+.\" Copyright (c) 2003 Software in the Public Interest, Inc.
-+.\"
-+.\" This program is free software; you can redistribute it and/or modify
-+.\" it under the terms of the GNU General Public License as published by
-+.\" the Free Software Foundation; either version 2 of the License, or (at
-+.\" your option) any later version.
-+.\"
-+.\" This program is distributed in the hope that it will be useful, but
-+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
-+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+.\" General Public License for more details.
-+.\"
-+.\" You should have received a copy of the GNU General Public License
-+.\" along with this program; if not, write to the Free Software
-+.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-+.\"
-+.TH wmmon 1 "May 1998" "WMMON 1.0b2"
-+
-+.SH NAME
-+wmmon \- Window Maker dockapp for monitoring system information
-+
-+.SH SYNOPSIS
-+
-+.B wmmon
-+[
-+.I OPTION
-+]
-+
-+.SH DESCRIPTION
-+
-+.B WMMon
-+monitors the realtime CPU load as well as the average system load,
-+and gives you some nice additional features too. It is intended for
-+docking in Window Maker.
-+
-+It currently provides:
-+
-+.IP \(bu 4
-+a realtime CPU stress meter;
-+.IP \(bu
-+an auto-scaled average system load meter, like
-+.B xload
-+and
-+.BR wmavgload ;
-+.IP \(bu
-+a realtime disk I/O stress meter;
-+.IP \(bu
-+auto-scaled disk I/O load meter;
-+.IP \(bu
-+realtime memory and swap usage meters;
-+.IP \(bu
-+a display for system uptime;
-+.IP \(bu
-+three user-defined commands to launch.
-+
-+.SH OPTIONS
-+
-+.TP
-+.BI \-display \ display
-+This option specifies the X server to contact; see
-+.IR X(7x) .
-+
-+.TP
-+.BI \-geometry \ geometry
-+This option specifies the preferred position of clock; see
-+.IR X(7x) .
-+
-+.TP
-+.BR \-l
-+Lock the mode, so that it cannot be cycled by clicking on the upper-left
-+widget. You can use this to open multiple copies of
-+.BR WMMon ,
-+each set to a different mode.
-+
-+.TP
-+.BR \-i
-+Start in disk I/O mode, which displays instantaneous disk usage and
-+average disk load.
-+
-+.TP
-+.BR \-s
-+Start in system information mode, which displays memory usage, swap usage,
-+and uptime.
-+
-+.TP
-+.B \-h
-+Show help information.
-+
-+.TP
-+.B \-v
-+Print the version number.
-+
-+.SH USAGE
-+The
-+.B WMMon
-+display can be cycled between CPU, disk I/O, and system
-+information displays by clicking on the upper-left widget. This
-+displays CPU information by default.
-+
-+WMMon can also be used to launch programs. You may click either left,
-+middle, or right mouse buttons in the average-load section of the
-+window. The pre-configured program will be launched according to the
-+mouse button clicked. (see
-+.B CONFIGURATION FILE
-+below.)
-+
-+In order to move
-+.BR WMMon ,
-+drag on the outer edges. These are not sensitive to mouse clicks.
-+
-+.SH "DOCKING IN WINDOW MANAGERS"
-+
-+.TP
-+Window Maker
-+
-+Window Maker users should drag and drop the
-+.B WMMon
-+window on the Dock. Then, right-click on the border of the window and
-+select \*(lqSettings...\*(rq. Check \*(lqStart when Window Maker
-+is started\*(rq.
-+
-+.TP
-+AfterStep
-+
-+AfterStep users should put the following in their
-+.I $HOME/.steprc
-+
-+.RS 16
-+Wharf wmmon \- MaxSwallow "wmmon" wmmon &
-+.RE
-+
-+.TP
-+Other window managers
-+
-+.B WMMon
-+runs nicely as a 64x64 shaped icon on your desktop.
-+
-+.SH "CONFIGURATION FILE"
-+
-+.B WMMon
-+can launch three user-defined commands, triggered by left, middle and
-+right mouse button clicks. You can define the commands to launch in
-+.I $HOME/.wmmonrc
-+
-+.RS
-+.PD 0
-+left: xterm
-+.PP
-+middle: xload
-+.PP
-+right: xcalc
-+.PP
-+.PD
-+.RE
-+
-+If
-+.B WMMon
-+detects a
-+.I $HOME/.wmmonrc
-+file, it will launch the appropriate command when you click on the clock.
-+
-+The system administrator can define default commands in
-+.IR /etc/wmmonrc .
-+The administrator may also choose to \*(lqfix\*(rq particular commands,
-+making it impossible for users to change. These commands can be defined in
-+.IR /etc/wmmonrc.fixed ,
-+although this isn't a nice thing to do.
-+
-+.SH FILES
-+
-+.I /etc/wmmonrc
-+.br
-+.I $HOME/.wmmonrc
-+.br
-+.I /etc/wmmonrc.fixed
-+
-+.SH AUTHORS
-+
-+.B WMMon
-+was written by Martijn Pieterse and Antoine Nulle.
-+
-+This manual page was written by Simon Law <sfllaw@debian.org> for the
-+.B Debian
-+system (but may be used by others). It is based on the documentation provided
-+by the original program.
-+
-+This manual is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2 of the License, or (at
-+your option) any later version.
---- wmmon-1.0b2.orig/debian/examples
-+++ wmmon-1.0b2/debian/examples
-@@ -0,0 +1 @@
-+debian/wmmonrc
---- wmmon-1.0b2.orig/debian/dirs
-+++ wmmon-1.0b2/debian/dirs
-@@ -0,0 +1 @@
-+usr/bin
---- wmmon-1.0b2.orig/debian/rules
-+++ wmmon-1.0b2/debian/rules
-@@ -0,0 +1,96 @@
-+#!/usr/bin/make -f
-+#
-+# debian/rules file for wmmon.
-+# Copyright (C) 2003 Software in the Public Interest.
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or (at
-+# your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+#
-+# Based on the sample debian/rules that uses debhelper.
-+# GNU copyright 1997 to 1999 by Joey Hess.
-+
-+# Uncomment this to turn on verbose mode.
-+#export DH_VERBOSE=1
-+
-+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
-+ CFLAGS += -g
-+endif
-+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-+ INSTALL_PROGRAM += -s
-+endif
-+
-+build: build-stamp
-+
-+build-stamp:
-+ dh_testdir
-+
-+ # Add here commands to compile the package.
-+ cd wmmon; $(MAKE)
-+
-+ touch build-stamp
-+
-+clean:
-+ dh_testdir
-+ dh_testroot
-+ rm -f build-stamp
-+
-+ # Add here commands to clean up after the build process.
-+ -cd wmmon; $(MAKE) clean
-+
-+ dh_clean
-+
-+install: build
-+ dh_testdir
-+ dh_testroot
-+ dh_clean -k
-+ dh_installdirs
-+
-+ # Add here commands to install the package into debian/wmmon.
-+ install -m 755 wmmon/wmmon $(CURDIR)/debian/wmmon/usr/bin
-+
-+# Build architecture-independent files here.
-+binary-indep: build install
-+# We have nothing to do by default.
-+
-+# Build architecture-dependent files here.
-+binary-arch: build install
-+ dh_testdir
-+ dh_testroot
-+ dh_installdebconf
-+ dh_installdocs
-+ dh_installexamples
-+ dh_installmenu
-+# dh_installlogrotate
-+# dh_installemacsen
-+# dh_installpam
-+# dh_installmime
-+# dh_installinit
-+# dh_installcron
-+ dh_installman
-+# dh_installinfo
-+ dh_installchangelogs CHANGES
-+ dh_link
-+ dh_strip
-+ dh_compress
-+ dh_fixperms
-+# dh_makeshlibs
-+ dh_installdeb
-+# dh_perl
-+ dh_shlibdeps
-+ dh_gencontrol
-+ dh_md5sums
-+ dh_builddeb
-+
-+binary: binary-indep binary-arch
-+.PHONY: build clean binary-indep binary-arch binary install
---- wmmon-1.0b2.orig/debian/menu
-+++ wmmon-1.0b2/debian/menu
-@@ -0,0 +1,6 @@
-+?package(wmmon):\
-+ needs="X11"\
-+ section="Apps/System"\
-+ title="WMmon"\
-+ command="/usr/bin/wmmon"\
-+ hints="Monitoring,Dockapp"
---- wmmon-1.0b2.orig/debian/changelog
-+++ wmmon-1.0b2/debian/changelog
-@@ -0,0 +1,100 @@
-+wmmon (1.0b2-14) unstable; urgency=medium
-+
-+ * Fixed build dependencies so we no longer depend on libxpm4-dev.
-+ * Quoted all strings in /usr/lib/menu/wmtime.
-+ * Add the ability to lock the mode, preventing cycling. Thanks go to
-+ Chris Bechberger <bechberger@yahoo.com>.
-+
-+ -- Simon Law <sfllaw@debian.org> Tue, 10 Aug 2004 21:22:17 -0400
-+
-+wmmon (1.0b2-13) unstable; urgency=low
-+
-+ * Removed a memory leak that I introduced. (Closes: Bug#223338)
-+
-+ -- Simon Law <sfllaw@debian.org> Tue, 09 Dec 2003 12:42:41 -0500
-+
-+wmmon (1.0b2-12) unstable; urgency=low
-+
-+ * Changed section to x11.
-+
-+ -- Simon Law <sfllaw@debian.org> Fri, 05 Dec 2003 11:17:21 -0500
-+
-+wmmon (1.0b2-11) unstable; urgency=low
-+
-+ * New maintainer.
-+ * Added a manual page.
-+ * Added the -geometry option.
-+ * Ensure that I/O mode works the same no matter how it is started.
-+ (Closes: Bug#94277)
-+ * Support new /proc/meminfo format in 2.6 kernels. (Closes: Bug#169160)
-+ * Fixed some buffer overflow problems. (Closes: Bug#174949)
-+
-+ -- Simon Law <sfllaw@debian.org> Wed, 26 Nov 2003 23:47:47 -0500
-+
-+wmmon (1.0b2-10) unstable; urgency=low
-+
-+ * Fixed build depends (closes: #170133)
-+ * Applied patch from Simon Fowler <simon@himi.org> to fix /proc/meminfo
-+ parsing for linux 2.5.
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Fri, 22 Nov 2002 14:17:26 +0100
-+
-+wmmon (1.0b2-9) unstable; urgency=low
-+
-+ * Remove debug message (closes: #139408)
-+ * Applied patch from Frederik Schueler <fs@lowpingbastards.de>
-+ to fix /proc/stat parsing on linux 2.4 (closes: #144122)
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Tue, 23 Apr 2002 21:39:09 +0200
-+
-+wmmon (1.0b2-8) unstable; urgency=low
-+
-+ * Fixed menu path (closes: #129353)
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Thu, 17 Jan 2002 21:35:03 +0100
-+
-+wmmon (1.0b2-7) unstable; urgency=low
-+
-+ * Updated description (closes: #125496)
-+ * Don't install INSTALL (closes: #116940)
-+ * Changed section to utils
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Wed, 2 Jan 2002 23:19:06 +0100
-+
-+wmmon (1.0b2-6) unstable; urgency=low
-+
-+ * Updated menu with patch from Arthur Korn <arthur@korn.ch>
-+ (closes: #82315)
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Mon, 15 Jan 2001 07:56:10 +0100
-+
-+wmmon (1.0b2-5) unstable; urgency=low
-+
-+ * Build without xpm4.7 (closes: #77466)
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Sun, 19 Nov 2000 22:17:03 +0100
-+
-+wmmon (1.0b2-4) unstable; urgency=low
-+
-+ * Added menu entry (closes: #76969)
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Sat, 18 Nov 2000 21:14:56 +0100
-+
-+wmmon (1.0b2-3) unstable; urgency=low
-+
-+ * Rebuild to update libxmp dependency. (closes: #67990)
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Mon, 31 Jul 2000 07:25:09 +0200
-+
-+wmmon (1.0b2-2) unstable; urgency=low
-+
-+ * Patch from Salvador Pinto Abreu <spa@sc.uevora.pt>:
-+ Fixed behavior when APM causes the system to sleep/suspend.
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Sat, 17 Oct 1998 13:35:55 +0200
-+
-+wmmon (1.0b2-1) unstable; urgency=low
-+
-+ * Initial Release.
-+
-+ -- Fredrik Hallenberg <hallon@debian.org> Wed, 15 Jul 1998 18:18:37 +0200
---- wmmon-1.0b2.orig/debian/control
-+++ wmmon-1.0b2/debian/control
-@@ -0,0 +1,24 @@
-+Source: wmmon
-+Section: x11
-+Priority: optional
-+Maintainer: Simon Law <sfllaw@debian.org>
-+Standards-Version: 3.6.1
-+Build-Depends: debhelper (>> 4.0.0), libx11-dev, libxpm-dev, libxext-dev
-+
-+Package: wmmon
-+Architecture: any
-+Depends: ${shlibs:Depends}, ${misc:Depends}
-+Description: Window Maker dockapp for monitoring system information
-+ WMMon monitors the realtime CPU load as well as the average system load,
-+ and gives you some nice additional features too. It is intended for
-+ docking in Window Maker.
-+ .
-+ It currently provides:
-+ .
-+ * a realtime CPU stress meter;
-+ * an auto-scaled average system load meter, like xload and wmavgload;
-+ * a realtime disk I/O stress meter;
-+ * auto-scaled disk I/O load meter;
-+ * realtime memory and swap usage meters;
-+ * a display for system uptime;
-+ * three user-defined commands to launch.
---- wmmon-1.0b2.orig/debian/copyright
-+++ wmmon-1.0b2/debian/copyright
-@@ -0,0 +1,25 @@
-+This package was debianized by Fredrik Hallenberg hallon@debian.org on
-+Wed, 15 Jul 1998 18:18:37 +0200.
-+
-+It was downloaded from http://www.xs4all.nl/~warp/files/wmmon-1.0b2.tar.gz
-+
-+Upstream Copyright:
-+
-+ Copyright (c) 1997, 1998 by Martijn Pieterse and Antoine Nulle
-+
-+ This program is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU General Public License as published by the
-+ Free Software Foundation; either version 2, or (at your option) any
-+ later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+
-+On Debian GNU/Linux systems, the complete text of the GNU General
-+Public License can be found in `/usr/share/common-licenses/GPL'.
---- wmmon-1.0b2.orig/debian/manpages
-+++ wmmon-1.0b2/debian/manpages
-@@ -0,0 +1 @@
-+wmmon/wmmon.1
---- wmmon-1.0b2.orig/debian/compat
-+++ wmmon-1.0b2/debian/compat
-@@ -0,0 +1 @@
-+4
---- wmmon-1.0b2.orig/debian/wmmonrc
-+++ wmmon-1.0b2/debian/wmmonrc
-@@ -0,0 +1,3 @@
-+left: xterm
-+middle: xload
-+right: xcalc
diff --git a/desktop/wmmon/wmmon.SlackBuild b/desktop/wmmon/wmmon.SlackBuild
index 170840d26404..84601f77db55 100644
--- a/desktop/wmmon/wmmon.SlackBuild
+++ b/desktop/wmmon/wmmon.SlackBuild
@@ -7,13 +7,10 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=wmmon
-VERSION=${VERSION:-1.0b2_p14}
+VERSION=${VERSION:-1.1+20131205}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-SRCVER=$(echo $VERSION | cut -d_ -f1 | sed 's,\.,_,' )
-PATCHVER=$(echo $VERSION | cut -d_ -f2)
-
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
@@ -44,8 +41,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM.app
-tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
-cd $PRGNAM.app
+tar xvf $CWD/${PRGNAM}_${VERSION}.orig.tar.gz
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -53,11 +50,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# wmmon was pretty much abandoned by the original developer 10+ years ago.
-# The Debian maintainer has added some security-related fixes, a man page,
-# better support for 2.6 kernels, and some extra features. Most people
-# would prefer to run the patched version...
-patch -p1 < $CWD/patches/${PRGNAM}_$SRCVER-$PATCHVER.diff
+# need this for -current, it doesn't hurt anything on 14.1.
+# patch snarfed from Debian:
+patch -p1 < $CWD/patches/gcc5.diff
# This patch is necessary because the $#!%^#$^ wmmonrc file parser doesn't
# fully support comments: they are allowed, but a commented-out (but
@@ -85,8 +80,7 @@ cat $CWD/wmmonrc > $PKG/etc/wmmonrc.sample
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
BUGS CHANGES COPYING HINTS INSTALL README TODO \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a debian/changelog $PKG/usr/doc/$PRGNAM-$VERSION/changelog.debian
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/desktop/wmmon/wmmon.info b/desktop/wmmon/wmmon.info
index 911ad868b978..09646450fae1 100644
--- a/desktop/wmmon/wmmon.info
+++ b/desktop/wmmon/wmmon.info
@@ -1,8 +1,8 @@
PRGNAM="wmmon"
-VERSION="1.0b2_p14"
-HOMEPAGE="http://web.cs.mun.ca/~gstarkes/wmaker/dockapps/sys.html#wmmon"
-DOWNLOAD="http://distfiles.gentoo.org/distfiles/wmmon-1_0b2.tar.gz"
-MD5SUM="1b8c780b8c24a6958c69330fef4171df"
+VERSION="1.1+20131205"
+HOMEPAGE="http://repo.or.cz/w/dockapps.git"
+DOWNLOAD="http://http.debian.net/debian/pool/main/w/wmmon/wmmon_1.1+20131205.orig.tar.gz"
+MD5SUM="c2faf71b0d2bf92d65d308eee321104f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""