Note that wmckgmail and wmtz were identical; this is the version we use.
wmSMPmon differed only with some whitespace.
wmitime differed only with a bugfix (a segfault when -display is given with
no argument), but this will be fixed again in the next commit.
wmsm.app had patched wmgeneral to work with its xpm; instead we patch its
xpm to work with wmgeneral.
---
wmSMPmon/wmgeneral/wmgeneral.c | 187 +++++++++++++++++++---------------------
wmcpufreq/wmgeneral/wmgeneral.c | 37 +++++---
wmfsm/wmgeneral/wmgeneral.c | 37 +++++---
wmifs/wmgeneral/wmgeneral.c | 37 +++++---
wmitime/wmgeneral/wmgeneral.c | 6 +-
wmkeys/wmgeneral/wmgeneral.c | 37 +++++---
wmppp.app/wmgeneral/wmgeneral.c | 37 +++++---
wmsm.app/wmgeneral/wmgeneral.c | 52 +++++------
wmsm.app/wmsm/wmsm-master.xpm | 3 +-
9 files changed, 250 insertions(+), 183 deletions(-)
diff --git a/wmSMPmon/wmgeneral/wmgeneral.c b/wmSMPmon/wmgeneral/wmgeneral.c
index ae99424..c064b39 100644
--- a/wmSMPmon/wmgeneral/wmgeneral.c
+++ b/wmSMPmon/wmgeneral/wmgeneral.c
@@ -92,9 +92,9 @@ void RedrawWindow(void);
void AddMouseRegion(int, int, int, int, int);
int CheckMouseRegion(int, int);
-/*****************************************************************************\
-|* parse_rcfile *|
-\*****************************************************************************/
+/*******************************************************************************\
+|* parse_rcfile
*|
+\*******************************************************************************/
void parse_rcfile(const char *filename, rckeys *keys) {
@@ -127,9 +127,9 @@ void parse_rcfile(const char *filename, rckeys *keys) {
}
}
-/***************************************************************************\
-|* parse_rcfile2 *|
-\***************************************************************************/
+/*******************************************************************************\
+|* parse_rcfile2
*|
+\*******************************************************************************/
void parse_rcfile2(const char *filename, rckeys2 *keys) {
@@ -161,9 +161,9 @@ void parse_rcfile2(const char *filename, rckeys2 *keys) {
}
-/***************************************************************************\
-|* GetXPM *|
-\***************************************************************************/
+/*******************************************************************************\
+|* GetXPM
*|
+\*******************************************************************************/
static void GetXPM(XpmIcon *wmgen, char *pixmap_bytes[]) {
@@ -184,9 +184,9 @@ static void GetXPM(XpmIcon *wmgen, char *pixmap_bytes[]) {
}
}
-/***************************************************************************\
-|* GetColor *|
-\***************************************************************************/
+/*******************************************************************************\
+|* GetColor
*|
+\*******************************************************************************/
static Pixel GetColor(char *name) {
@@ -204,9 +204,9 @@ static Pixel GetColor(char *name) {
return color.pixel;
}
-/***************************************************************************\
-|* flush_expose
*|
-\***************************************************************************/
+/*******************************************************************************\
+|* flush_expose
*|
+\*******************************************************************************/
static int flush_expose(Window w) {
@@ -219,9 +219,9 @@ static int flush_expose(Window w) {
return i;
}
-/***************************************************************************\
-|* RedrawWindow
*|
-\***************************************************************************/
+/*******************************************************************************\
+|* RedrawWindow
*|
+\*******************************************************************************/
void RedrawWindow(void) {
@@ -233,9 +233,9 @@ void RedrawWindow(void) {
0,0, wmgen.attributes.width,
wmgen.attributes.height, 0,0);
}
-/***************************************************************************\
-|* RedrawWindowXY *|
-\***************************************************************************/
+/*******************************************************************************\
+|* RedrawWindowXY
*|
+\*******************************************************************************/
void RedrawWindowXY(int x, int y) {
@@ -247,9 +247,9 @@ void RedrawWindowXY(int x, int y) {
x,y, wmgen.attributes.width,
wmgen.attributes.height, 0,0);
}
-/***************************************************************************\
-|* AddMouseRegion *|
-\***************************************************************************/
+/*******************************************************************************\
+|* AddMouseRegion
*|
+\*******************************************************************************/
void AddMouseRegion(int index, int left, int top, int right, int bottom) {
@@ -262,9 +262,9 @@ void AddMouseRegion(int index, int left, int top, int
right, int bottom) {
}
}
-/***************************************************************************\
-|* CheckMouseRegion *|
-\***************************************************************************/
+/*******************************************************************************\
+|* CheckMouseRegion
*|
+\*******************************************************************************/
int CheckMouseRegion(int x, int y) {
@@ -285,38 +285,41 @@ int CheckMouseRegion(int x, int y) {
return (i-1);
}
-/***************************************************************************\
-|* createXBMfromXPM *|
-\***************************************************************************/
+/*******************************************************************************\
+|* createXBMfromXPM
*|
+\*******************************************************************************/
void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
int i,j,k;
int width, height, numcol, depth;
- int zero = 0;
+ int zero=0;
unsigned char bwrite;
- int bcount;
- int curpixel;
+ int bcount;
+ int curpixel;
sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
- for (k = 0; k != depth; k++) {
- zero <<=8;
- zero |= xpm[1][k];
- }
- for (i = numcol + 1; i < numcol + sy + 1; i++) {
+ for (k=0; k!=depth; k++)
+ {
+ zero <<=8;
+ zero |= xpm[1][k];
+ }
+
+ for (i=numcol+1; i < numcol+sy+1; i++) {
bcount = 0;
bwrite = 0;
- for (j = 0; j < sx * depth; j += depth) {
- bwrite >>= 1;
+ for (j=0; j<sx*depth; j+=depth) {
+ bwrite >>= 1;
- curpixel=0;
- for (k = 0; k != depth; k++) {
- curpixel <<=8;
- curpixel |= xpm[i][j+k];
- }
+ curpixel=0;
+ for (k=0; k!=depth; k++)
+ {
+ curpixel <<=8;
+ curpixel |= xpm[i][j+k];
+ }
- if (curpixel != zero) {
+ if ( curpixel != zero ) {
bwrite += 128;
}
bcount++;
@@ -330,69 +333,56 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int
sy) {
}
}
-/***************************************************************************\
-|* copyXPMArea *|
-|* *|
-|* copies pixel area from master XPM to application window *|
-|* *|
-|* x,y: first corner of area to be copied from master XPM *|
-|* sx,sy: second corner of area to be copied from master XPM *|
-|* dx,dy: first corner of target area *|
-\***************************************************************************/
-
-void copyXPMArea(int x, int y, int sx, int sy, int dx, int dy)
-{
- XCopyArea(display, wmgen.pixmap, wmgen.pixmap, NormalGC,
- x, y, sx, sy, dx, dy);
+/*******************************************************************************\
+|* copyXPMArea
*|
+\*******************************************************************************/
+
+void copyXPMArea(int x, int y, int sx, int sy, int dx, int dy) {
+
+ XCopyArea(display, wmgen.pixmap, wmgen.pixmap, NormalGC, x, y, sx, sy,
dx, dy);
+
}
-/***************************************************************************\
-|* copyXBMArea *|
-|* *|
-|* copies pixel area from XBM to master XPM?!?!? *|
-|* *|
-|* x,y: first corner of area to be copied from XBM *|
-|* sx,sy: width and height of area to be copied from XBM *|
-|* dx,dy: first corner of target area *|
-\***************************************************************************/
-
-void copyXBMArea(int x, int y, int sx, int sy, int dx, int dy)
-{
- XCopyArea(display, wmgen.mask, wmgen.pixmap, NormalGC,
- x, y, sx, sy, dx, dy);
+/*******************************************************************************\
+|* copyXBMArea
*|
+\*******************************************************************************/
+
+void copyXBMArea(int x, int y, int sx, int sy, int dx, int dy) {
+
+ XCopyArea(display, wmgen.mask, wmgen.pixmap, NormalGC, x, y, sx, sy,
dx, dy);
}
-/***************************************************************************\
-|* setMaskXY *|
-\***************************************************************************/
+/*******************************************************************************\
+|* setMaskXY
*|
+\*******************************************************************************/
+
+void setMaskXY(int x, int y) {
-void setMaskXY(int x, int y)
-{
- XShapeCombineMask(display, win, ShapeBounding, x, y, pixmask, ShapeSet);
- XShapeCombineMask(display, iconwin, ShapeBounding, x, y, pixmask,
ShapeSet);
+ XShapeCombineMask(display, win, ShapeBounding, x, y, pixmask,
ShapeSet);
+ XShapeCombineMask(display, iconwin, ShapeBounding, x, y, pixmask,
ShapeSet);
}
-/***************************************************************************\
-|* openXwindow *|
-\***************************************************************************/
+/*******************************************************************************\
+|* openXwindow
*|
+\*******************************************************************************/
void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char
*pixmask_bits, int pixmask_width, int pixmask_height) {
unsigned int borderwidth = 1;
- XClassHint classHint;
- char *display_name = NULL;
- char *wname = argv[0];
+ XClassHint classHint;
+ char *display_name = NULL;
+ char *wname = argv[0];
XTextProperty name;
- XGCValues gcv;
+ XGCValues gcv;
unsigned long gcm;
- char *geometry = NULL;
+ char *geometry = NULL;
- int dummy=0;
- int i, wx, wy;
+ int dummy=0;
+ int i, wx, wy;
- for (i = 1; argv[i]; i++) {
+ for (i=1; argv[i]; i++) {
if (!strcmp(argv[i], "-display")) {
display_name = argv[i+1];
i++;
@@ -405,7 +395,7 @@ void openXwindow(int argc, char *argv[], char
*pixmap_bytes[], char *pixmask_bit
if (!(display = XOpenDisplay(display_name))) {
fprintf(stderr, "%s: can't open display %s\n",
- wname, XDisplayName(display_name));
+ wname,
XDisplayName(display_name));
exit(1);
}
screen = DefaultScreen(display);
@@ -425,19 +415,16 @@ void openXwindow(int argc, char *argv[], char
*pixmap_bytes[], char *pixmask_bit
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);
mysizehints.width = 64;
mysizehints.height = 64;
win = XCreateSimpleWindow(display, Root, mysizehints.x, mysizehints.y,
- mysizehints.width, mysizehints.height, borderwidth,
- fore_pix, back_pix);
+ mysizehints.width, mysizehints.height,
borderwidth, fore_pix, back_pix);
- iconwin = XCreateSimpleWindow(display, win,
- mysizehints.x, mysizehints.y, mysizehints.width, mysizehints.height,
- borderwidth, fore_pix, back_pix);
+ iconwin = XCreateSimpleWindow(display, win, mysizehints.x,
mysizehints.y,
+ mysizehints.width, mysizehints.height,
borderwidth, fore_pix, back_pix);
/* Activate hints */
XSetWMNormalHints(display, win, &mysizehints);
diff --git a/wmcpufreq/wmgeneral/wmgeneral.c b/wmcpufreq/wmgeneral/wmgeneral.c
index 44de5b9..c064b39 100755
--- a/wmcpufreq/wmgeneral/wmgeneral.c
+++ b/wmcpufreq/wmgeneral/wmgeneral.c
@@ -11,7 +11,10 @@
---
CHANGES:
- ---
+ ---
+ 14/09/1998 (Dave Clark, [email protected])
+ * Updated createXBMfromXPM routine
+ * Now supports >256 colors
11/09/1998 (Martijn Pieterse, [email protected])
* Removed a bug from parse_rcfile. You could
not use "start" in a command if a label was
@@ -287,22 +290,36 @@ int CheckMouseRegion(int x, int y) {
\*******************************************************************************/
void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
- int i,j;
- int width, height, numcol;
- char zero;
+ int i,j,k;
+ int width, height, numcol, depth;
+ int zero=0;
unsigned char bwrite;
- int bcount;
+ int bcount;
+ int curpixel;
+
+ sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
- sscanf(*xpm, "%d %d %d", &width, &height, &numcol);
+ for (k=0; k!=depth; k++)
+ {
+ zero <<=8;
+ zero |= xpm[1][k];
+ }
- zero = xpm[1][0];
for (i=numcol+1; i < numcol+sy+1; i++) {
bcount = 0;
bwrite = 0;
- for (j=0; j<sx; j++) {
- bwrite >>= 1;
- if (xpm[i][j] != zero) {
+ for (j=0; j<sx*depth; j+=depth) {
+ bwrite >>= 1;
+
+ curpixel=0;
+ for (k=0; k!=depth; k++)
+ {
+ curpixel <<=8;
+ curpixel |= xpm[i][j+k];
+ }
+
+ if ( curpixel != zero ) {
bwrite += 128;
}
bcount++;
diff --git a/wmfsm/wmgeneral/wmgeneral.c b/wmfsm/wmgeneral/wmgeneral.c
index 44de5b9..c064b39 100644
--- a/wmfsm/wmgeneral/wmgeneral.c
+++ b/wmfsm/wmgeneral/wmgeneral.c
@@ -11,7 +11,10 @@
---
CHANGES:
- ---
+ ---
+ 14/09/1998 (Dave Clark, [email protected])
+ * Updated createXBMfromXPM routine
+ * Now supports >256 colors
11/09/1998 (Martijn Pieterse, [email protected])
* Removed a bug from parse_rcfile. You could
not use "start" in a command if a label was
@@ -287,22 +290,36 @@ int CheckMouseRegion(int x, int y) {
\*******************************************************************************/
void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
- int i,j;
- int width, height, numcol;
- char zero;
+ int i,j,k;
+ int width, height, numcol, depth;
+ int zero=0;
unsigned char bwrite;
- int bcount;
+ int bcount;
+ int curpixel;
+
+ sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
- sscanf(*xpm, "%d %d %d", &width, &height, &numcol);
+ for (k=0; k!=depth; k++)
+ {
+ zero <<=8;
+ zero |= xpm[1][k];
+ }
- zero = xpm[1][0];
for (i=numcol+1; i < numcol+sy+1; i++) {
bcount = 0;
bwrite = 0;
- for (j=0; j<sx; j++) {
- bwrite >>= 1;
- if (xpm[i][j] != zero) {
+ for (j=0; j<sx*depth; j+=depth) {
+ bwrite >>= 1;
+
+ curpixel=0;
+ for (k=0; k!=depth; k++)
+ {
+ curpixel <<=8;
+ curpixel |= xpm[i][j+k];
+ }
+
+ if ( curpixel != zero ) {
bwrite += 128;
}
bcount++;
diff --git a/wmifs/wmgeneral/wmgeneral.c b/wmifs/wmgeneral/wmgeneral.c
index 44de5b9..c064b39 100644
--- a/wmifs/wmgeneral/wmgeneral.c
+++ b/wmifs/wmgeneral/wmgeneral.c
@@ -11,7 +11,10 @@
---
CHANGES:
- ---
+ ---
+ 14/09/1998 (Dave Clark, [email protected])
+ * Updated createXBMfromXPM routine
+ * Now supports >256 colors
11/09/1998 (Martijn Pieterse, [email protected])
* Removed a bug from parse_rcfile. You could
not use "start" in a command if a label was
@@ -287,22 +290,36 @@ int CheckMouseRegion(int x, int y) {
\*******************************************************************************/
void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
- int i,j;
- int width, height, numcol;
- char zero;
+ int i,j,k;
+ int width, height, numcol, depth;
+ int zero=0;
unsigned char bwrite;
- int bcount;
+ int bcount;
+ int curpixel;
+
+ sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
- sscanf(*xpm, "%d %d %d", &width, &height, &numcol);
+ for (k=0; k!=depth; k++)
+ {
+ zero <<=8;
+ zero |= xpm[1][k];
+ }
- zero = xpm[1][0];
for (i=numcol+1; i < numcol+sy+1; i++) {
bcount = 0;
bwrite = 0;
- for (j=0; j<sx; j++) {
- bwrite >>= 1;
- if (xpm[i][j] != zero) {
+ for (j=0; j<sx*depth; j+=depth) {
+ bwrite >>= 1;
+
+ curpixel=0;
+ for (k=0; k!=depth; k++)
+ {
+ curpixel <<=8;
+ curpixel |= xpm[i][j+k];
+ }
+
+ if ( curpixel != zero ) {
bwrite += 128;
}
bcount++;
diff --git a/wmitime/wmgeneral/wmgeneral.c b/wmitime/wmgeneral/wmgeneral.c
index fb8a8f4..c064b39 100644
--- a/wmitime/wmgeneral/wmgeneral.c
+++ b/wmitime/wmgeneral/wmgeneral.c
@@ -385,11 +385,7 @@ void openXwindow(int argc, char *argv[], char
*pixmap_bytes[], char *pixmask_bit
for (i=1; argv[i]; i++) {
if (!strcmp(argv[i], "-display")) {
display_name = argv[i+1];
- if (!display_name)
- printf("Please provide an argument for "
- "-display.\n");
- else
- i++;
+ i++;
}
if (!strcmp(argv[i], "-geometry")) {
geometry = argv[i+1];
diff --git a/wmkeys/wmgeneral/wmgeneral.c b/wmkeys/wmgeneral/wmgeneral.c
index 44de5b9..c064b39 100644
--- a/wmkeys/wmgeneral/wmgeneral.c
+++ b/wmkeys/wmgeneral/wmgeneral.c
@@ -11,7 +11,10 @@
---
CHANGES:
- ---
+ ---
+ 14/09/1998 (Dave Clark, [email protected])
+ * Updated createXBMfromXPM routine
+ * Now supports >256 colors
11/09/1998 (Martijn Pieterse, [email protected])
* Removed a bug from parse_rcfile. You could
not use "start" in a command if a label was
@@ -287,22 +290,36 @@ int CheckMouseRegion(int x, int y) {
\*******************************************************************************/
void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
- int i,j;
- int width, height, numcol;
- char zero;
+ int i,j,k;
+ int width, height, numcol, depth;
+ int zero=0;
unsigned char bwrite;
- int bcount;
+ int bcount;
+ int curpixel;
+
+ sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
- sscanf(*xpm, "%d %d %d", &width, &height, &numcol);
+ for (k=0; k!=depth; k++)
+ {
+ zero <<=8;
+ zero |= xpm[1][k];
+ }
- zero = xpm[1][0];
for (i=numcol+1; i < numcol+sy+1; i++) {
bcount = 0;
bwrite = 0;
- for (j=0; j<sx; j++) {
- bwrite >>= 1;
- if (xpm[i][j] != zero) {
+ for (j=0; j<sx*depth; j+=depth) {
+ bwrite >>= 1;
+
+ curpixel=0;
+ for (k=0; k!=depth; k++)
+ {
+ curpixel <<=8;
+ curpixel |= xpm[i][j+k];
+ }
+
+ if ( curpixel != zero ) {
bwrite += 128;
}
bcount++;
diff --git a/wmppp.app/wmgeneral/wmgeneral.c b/wmppp.app/wmgeneral/wmgeneral.c
index 44de5b9..c064b39 100644
--- a/wmppp.app/wmgeneral/wmgeneral.c
+++ b/wmppp.app/wmgeneral/wmgeneral.c
@@ -11,7 +11,10 @@
---
CHANGES:
- ---
+ ---
+ 14/09/1998 (Dave Clark, [email protected])
+ * Updated createXBMfromXPM routine
+ * Now supports >256 colors
11/09/1998 (Martijn Pieterse, [email protected])
* Removed a bug from parse_rcfile. You could
not use "start" in a command if a label was
@@ -287,22 +290,36 @@ int CheckMouseRegion(int x, int y) {
\*******************************************************************************/
void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
- int i,j;
- int width, height, numcol;
- char zero;
+ int i,j,k;
+ int width, height, numcol, depth;
+ int zero=0;
unsigned char bwrite;
- int bcount;
+ int bcount;
+ int curpixel;
+
+ sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
- sscanf(*xpm, "%d %d %d", &width, &height, &numcol);
+ for (k=0; k!=depth; k++)
+ {
+ zero <<=8;
+ zero |= xpm[1][k];
+ }
- zero = xpm[1][0];
for (i=numcol+1; i < numcol+sy+1; i++) {
bcount = 0;
bwrite = 0;
- for (j=0; j<sx; j++) {
- bwrite >>= 1;
- if (xpm[i][j] != zero) {
+ for (j=0; j<sx*depth; j+=depth) {
+ bwrite >>= 1;
+
+ curpixel=0;
+ for (k=0; k!=depth; k++)
+ {
+ curpixel <<=8;
+ curpixel |= xpm[i][j+k];
+ }
+
+ if ( curpixel != zero ) {
bwrite += 128;
}
bcount++;
diff --git a/wmsm.app/wmgeneral/wmgeneral.c b/wmsm.app/wmgeneral/wmgeneral.c
index be2ecee..c064b39 100644
--- a/wmsm.app/wmgeneral/wmgeneral.c
+++ b/wmsm.app/wmgeneral/wmgeneral.c
@@ -303,34 +303,34 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int
sy) {
for (k=0; k!=depth; k++)
{
zero <<=8;
- zero |= xpm[2][k];
+ zero |= xpm[1][k];
}
- for (i=numcol+1; i < numcol+sy+1; i++) {
- bcount = 0;
- bwrite = 0;
- for (j=0; j<sx*depth; j+=depth) {
- bwrite >>= 1;
-
- curpixel=0;
- for (k=0; k!=depth; k++)
- {
- curpixel <<=8;
- curpixel |= xpm[i][j+k];
- }
-
- if ( curpixel != zero ) {
- bwrite += 128;
- }
- bcount++;
- if (bcount == 8) {
- *xbm = bwrite;
- xbm++;
- bcount = 0;
- bwrite = 0;
+ for (i=numcol+1; i < numcol+sy+1; i++) {
+ bcount = 0;
+ bwrite = 0;
+ for (j=0; j<sx*depth; j+=depth) {
+ bwrite >>= 1;
+
+ curpixel=0;
+ for (k=0; k!=depth; k++)
+ {
+ curpixel <<=8;
+ curpixel |= xpm[i][j+k];
+ }
+
+ if ( curpixel != zero ) {
+ bwrite += 128;
+ }
+ bcount++;
+ if (bcount == 8) {
+ *xbm = bwrite;
+ xbm++;
+ bcount = 0;
+ bwrite = 0;
+ }
}
- }
- }
+ }
}
/*******************************************************************************\
@@ -411,7 +411,7 @@ void openXwindow(int argc, char *argv[], char
*pixmap_bytes[], char *pixmask_bit
mysizehints.x = 0;
mysizehints.y = 0;
- back_pix = GetColor("black");
+ back_pix = GetColor("white");
fore_pix = GetColor("black");
XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints,
diff --git a/wmsm.app/wmsm/wmsm-master.xpm b/wmsm.app/wmsm/wmsm-master.xpm
index d66acbe..f9bf1d4 100644
--- a/wmsm.app/wmsm/wmsm-master.xpm
+++ b/wmsm.app/wmsm/wmsm-master.xpm
@@ -1,7 +1,6 @@
/* XPM */
static char * wmsm_master_xpm[] = {
-"116 87 81 1",
-" c None",
+"116 87 80 1",
". c #0000FF",
"+ c #202020",
"@ c #007D71",
--
2.1.4
--
To unsubscribe, send mail to [email protected].