Remove trailing whitespace.

This commit is contained in:
Doug Torrance 2017-02-20 19:16:01 -05:00 committed by Carlos R. Mafra
parent a011e83b28
commit 7e78639bb6
83 changed files with 873 additions and 874 deletions

View file

@ -2,7 +2,7 @@ cnslock 1.02 (27th October 2002)
* Added feature to allow applet to be run in window managers such as
enlightenment, fvwm, etc.
cnslock 1.01 (11th October 2002)
* First public release.

View file

@ -10,7 +10,7 @@ as I have a wireless keyboard with no leds on it.
Bugs
------------------------------------------------------------
If you discover any bug in this software, please send a
If you discover any bug in this software, please send a
bugreport to lists@sprig.dyn.dhs.org and describe the
problem with as many details as possible.

View file

@ -78,6 +78,6 @@ void make_new_cnslock_dockapp(int manager_style)
if(posx!=-1 && posy!=-1)
gdk_window_move(ad.win, posx, posy);
#undef MASK
}

View file

@ -151,7 +151,7 @@ int main(int argc, char **argv)
if (manager_style==0)
gdk_draw_rgb_image(ad.iconwin, ad.gc, XMIN, YMIN, XMAX, YMAX, GDK_RGB_DITHER_NONE, ad.rgb, XMAX * 3);
else
else
gdk_draw_rgb_image(ad.win, ad.gc, XMIN, YMIN, XMAX, YMAX, GDK_RGB_DITHER_NONE, ad.rgb, XMAX * 3);
}
return 0;
@ -188,7 +188,7 @@ void cnslock_update(void)
void prepare_backbuffer(int solid)
{
make_rgb_buffer256(ad.rgb,none_data,none_width,none_height,1, *none_cmap);
/* copy it to the "frequent use" buffer */
memcpy(&ad.bgr, &ad.rgb, RGBSIZE);
@ -238,7 +238,7 @@ void parse_options(int argc, char *argv[])
manager_style = 1;
break;
}
}
}
}
void do_version(void)

View file

@ -259,7 +259,7 @@ char none_cmap[256][3] = {
{255,255,255},
{255,255,255}
};
char none_data[] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

View file

@ -2,7 +2,7 @@
#define DEFINES_H
/* Below this line, there are only defines that users don't have to
care about normally.
care about normally.
-----------------------------------------------------------------------------*/
/* perform clipping outside this range, also this is the size of the

View file

@ -1,5 +1,5 @@
/*
This code is based upon some lines(actually two lines :-)
This code is based upon some lines(actually two lines :-)
in E-Leds by Mathias Meisfjordskar<mathiasm@ifi.uio.no>
Released under GPL.
*/

View file

@ -32,10 +32,10 @@ Version 1.23 - released March 20, 1999.
Version 1.22 - released February 24, 1999.
Added double click detection and -e command-line option.
Version 1.21 - released February 4, 1999.
cosmetic for AfterStep users. removed spurious black line at RHS edge an mask.
Version 1.2 - released January 14, 1999.
Changed support for LowColor Pixmap. Now, check for Depth
automatically. If its <= 8, then use LowColor.

View file

@ -21,14 +21,14 @@ usage: wmCalClock [-b <Volume>] [-tc <Color>] [-bc <Color>] [-e "Command"] [-S]
-S Do not show seconds.
-24 Show 24-hour time. Default is 12 hour AM/PM Time.
-g Show Greenwich time.
-s Show Greenwich Mean Sidereal Time (GMST) in 24-hour format.
-L <Longitude> Show Local Sidereal Time (LST) in 24-hour format.
-s Show Greenwich Mean Sidereal Time (GMST) in 24-hour format.
-L <Longitude> Show Local Sidereal Time (LST) in 24-hour format.
Longitude is in degrees (- for West + for East).
-l Use a low-color pixmap to conserve colors. On 8-bit displays the
low color pixmap will always be used.
-h Display help screen.
Example: wmCalClock -b 100 -tc #001100 -bc #7e9e69
Example: wmCalClock -b 100 -tc #001100 -bc #7e9e69
WindowMaker.
@ -38,12 +38,12 @@ In WindowMaker simply drag and drop the wmCalClock App on the WindowMaker Dock o
Afterstep.
---------
Afterstep users put the following in their .steprc "Wharf wmCalClock - MaxSwallow
Afterstep users put the following in their .steprc "Wharf wmCalClock - MaxSwallow
"wmCalClock" wmCalClock &". Dont use Afterstep so I have no idea if it works...
Note: AfterStep's Wharf supposedly has a problem with pixmaps that are larger
than 60x60 pixels. Please tell the AfterStep authors to fix this, this is not
our fault, but a Wharf problem!
our fault, but a Wharf problem!
Other window managers.
----------------------

View file

@ -10,8 +10,8 @@ Installation
1) gunzip wmCalClock-x.xx.tar.gz
1) tar -xvf wmCalClock-x.xx.tar
2) cd wmCalClock-x.xx/Src/
3) make
4) make install (must be root)
3) make
4) make install (must be root)
5) wmCalClock & (or 'wmCalClock -h' for help, or 'man wmCalClock' for the man page)

View file

@ -1,8 +1,8 @@
wmCalClock-1.24 release
-----------------------
Author....: Michael G. Henderson <mghenderson@lanl.gov>
Description
-----------
wmCalClock is a simple Calendar Clock that uses anti-aliased characters and
@ -18,7 +18,7 @@ BUGS Bug reports
CHANGES Change history.
COPYING GNU General Public License Version 2.
TODO Wish list.
Bugs
-----

View file

@ -1,7 +1,7 @@
TODO List
---------
- Add in a few more fonts... Graphite would be nice! Or EagleFeather
- Add in a few more fonts... Graphite would be nice! Or EagleFeather
(its a Frank Lloyd Wright inspired font)?
- Allow fonts to be added externally via some sort of config file...
@ -9,17 +9,17 @@ TODO List
- Add alarm clock mode?
- graphical Moon-Phase Icon in Calendar section.
- Day numbers in Calendar section. This is something that I would really like myself!
- Allow Changing of fonts/colors for the main Calendar section.
- Foreign language support...
- Add indicators for Greenwich, sidereal, local sideareal time displays (right now
you dont really know what it is displaying just by looking at it)...

View file

@ -22,7 +22,7 @@ OBJS = wmCalClock.o \
all: wmCalClock.o wmCalClockKbd
wmCalClock.o: wmCalClock_master.xpm wmCalClock_mask.xbm
wmCalClockKbd: $(OBJS)
wmCalClockKbd: $(OBJS)
$(CC) $(COPTS) $(SYSTEM) -o wmCalClockKbd $^ $(INCDIR) $(LIBDIR) $(LIBS)
clean:
@ -33,5 +33,5 @@ clean:
install: wmCalClockKbd
install -c -s -m 0755 wmCalClockKbd $(DESTDIR)/bin
install -c -m 0644 wmCalClockKbd.1 $(DESTDIR)/share/man/man1
install -c -m 0644 wmCalClockKbd.1 $(DESTDIR)/share/man/man1

View file

@ -1,11 +1,11 @@
/*
*
* wmCalClock-1.25 (C) 1998, 1999 Mike Henderson (mghenderson@lanl.gov)
*
*
* - Its a Calendar Clock....
*
*
*
*
*
*
*
* 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
@ -19,7 +19,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program (see the file COPYING); if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA
*
*
@ -31,10 +31,10 @@
*
* Version 1.24 - released March 27, 1999.
* Added support for additional fonts for time field;
*
*
* -tekton for Tekton
* -arial for Arial (Helvetica) (this is the same font as usual)
* -luggerbug for LuggerBug
* -luggerbug for LuggerBug
* -comicsans for ComicSans
* -jazz for JazzPoster
*
@ -66,7 +66,7 @@
*
* Version 1.10 - released January 7, 1999.
* Added support for LowColor Pixmap. (21 colors may still be a
* bit high, but the poor saps with 8-bit displays can at least run
* bit high, but the poor saps with 8-bit displays can at least run
* it now.)
*
* Version 1.02 - released January 7, 1999.
@ -84,8 +84,8 @@
/*
* Includes
/*
* Includes
*/
#include <stdio.h>
#include <unistd.h>
@ -102,8 +102,8 @@
/*
* Delay between refreshes (in microseconds)
/*
* Delay between refreshes (in microseconds)
*/
#define DELAY 10000L
#define WMCALCLOCK_VERSION "1.25"
@ -122,13 +122,13 @@ void print_usage();
int xsMonth[12] = { 150, 170, 190, 212, 233, 256, 276, 294, 317, 337, 357, 380 };
int xeMonth[12] = { 168, 188, 210, 231, 254, 275, 292, 314, 335, 355, 377, 398 };
int xdMonth[12];
int yMonth = 80;
int yMonth = 80;
int ydMonth = 13;
int xsDayOfWeek[7] = { 293, 150, 177, 201, 228, 253, 271 };
int xeDayOfWeek[7] = { 314, 175, 199, 226, 250, 269, 290 };
int xdDayOfWeek[7];
int yDayOfWeek = 95;
int yDayOfWeek = 95;
int ydDayOfWeek = 13;
/*
@ -164,7 +164,7 @@ int ydDayOfMonth = 23;
/*
/*
* Luggerbug Font Narrow - 13 pixels high.
*/
int xsDigits_Luggerbug13n[11] = { 75, 84, 92, 101, 110, 119, 127, 136, 143, 151, 159 };
@ -173,7 +173,7 @@ int xdDigits_Luggerbug13n[11];
int yDigits_Luggerbug13n = 150;
int ydDigits_Luggerbug13n = 13;
/*
/*
* Luggerbug Font - 13 pixels high.
*/
int xsDigits_Luggerbug13[11] = { 75, 89, 103, 117, 131, 146, 159, 172, 184, 197, 208 };
@ -182,7 +182,7 @@ int xdDigits_Luggerbug13[11];
int yDigits_Luggerbug13 = 136;
int ydDigits_Luggerbug13 = 13;
/*
/*
* ComicSans Font - 12 pixels high.
*/
int xsDigits_ComicSans12n[11] = { 338, 349, 359, 370, 380, 390, 401, 411, 422, 432, 444 };
@ -191,7 +191,7 @@ int xdDigits_ComicSans12n[11];
int yDigits_ComicSans12n = 123;
int ydDigits_ComicSans12n = 12;
/*
/*
* ComicSans Font - 11 pixels high.
*/
int xsDigits_ComicSans11[11] = { 338, 353, 366, 380, 392, 407, 420, 434, 448, 461, 471 };
@ -200,7 +200,7 @@ int xdDigits_ComicSans11[11];
int yDigits_ComicSans11 = 111;
int ydDigits_ComicSans11 = 11;
/*
/*
* JazzPoster Font Narrow - 12 pixels high.
*/
int xsDigits_JazzPoster12n[11] = { 211, 220, 226, 233, 241, 249, 256, 263, 271, 278, 286 };
@ -209,7 +209,7 @@ int xdDigits_JazzPoster12n[11];
int yDigits_JazzPoster12n = 122;
int ydDigits_JazzPoster12n = 12;
/*
/*
* JazzPoster Font - 12 pixels high.
*/
int xsDigits_JazzPoster12[11] = { 211, 225, 234, 246, 258, 271, 282, 293, 305, 317, 328 };
@ -219,7 +219,7 @@ int yDigits_JazzPoster12 = 109;
int ydDigits_JazzPoster12 = 12;
/*
/*
* Tekton Font - 12 pixels high Narrow (13 pixels high actually).
*/
int xsDigits_Tekton12n[11] = { 75, 84, 90, 97, 105, 114, 122, 131, 138, 147, 156 };
@ -228,7 +228,7 @@ int xdDigits_Tekton12n[11];
int yDigits_Tekton12n = 122;
int ydDigits_Tekton12n = 13;
/*
/*
* Tekton Font - 12 pixels high.
*/
int xsDigits_Tekton12[11] = { 75, 89, 98, 111, 124, 137, 150, 164, 176, 191, 205 };
@ -299,8 +299,8 @@ int LoadLayoutInfo(void);
/*
* main
/*
* main
*/
int main(int argc, char *argv[]) {
@ -433,12 +433,12 @@ int main(int argc, char *argv[]) {
initXwindow(argc, argv);
if (DisplayDepth <= 8) UseLowColorPixmap = 1;
@ -480,7 +480,7 @@ int main(int argc, char *argv[]) {
/*
* Loop until we die
*/
@ -491,7 +491,7 @@ int main(int argc, char *argv[]) {
/*
* Only process every 10th cycle of this loop. We run it faster
* Only process every 10th cycle of this loop. We run it faster
* to catch expose events, etc...
*
*/
@ -562,7 +562,7 @@ int main(int argc, char *argv[]) {
Flag = (Hours >= 12) ? 1 : 0;
if (Hours == 0)
Hours = 12;
else
else
Hours = (Hours > 12) ? Hours-12 : Hours;
}
@ -592,10 +592,10 @@ int main(int argc, char *argv[]) {
copyXPMArea(5, 110, 54, 15, 5, 5);
/*
/*
* Draw Hours
*/
/* dont show leading zeros */
if (D[0] > -1){
digit = D[0];
@ -607,14 +607,14 @@ int main(int argc, char *argv[]) {
copyXPMArea(xsDigits[digit], yDigits, xdDigits[digit], ydDigits, xoff+extradx, 7+extrady);
xoff += (xdDigits[digit]+1);
/*
/*
* Draw Colon
*/
digit = 10;
copyXPMArea(xsDigits[digit], yDigits, xdDigits[digit], ydDigits, xoff+extradx, 7+extrady);
xoff += (xdDigits[digit]+1);
/*
/*
* Draw Minutes
*/
digit = D[3];
@ -627,14 +627,14 @@ int main(int argc, char *argv[]) {
if (ShowSeconds){
/*
/*
* Draw Colon
*/
digit = 10;
copyXPMArea(xsDigits[digit], yDigits, xdDigits[digit], ydDigits, xoff+extradx, 7+extrady);
xoff += (xdDigits[digit]+1);
/*
/*
* Draw Seconds
*/
digit = D[6];
@ -665,7 +665,7 @@ int main(int argc, char *argv[]) {
if (Beep){
if ((Mins == 0)&&(Secs == 0)&&(OldSecs != Secs)) XBell(display, Volume);
OldSecs = Secs;
}
@ -682,18 +682,18 @@ int main(int argc, char *argv[]) {
copyXPMArea(5, 70, 54, 35, 5, 24);
/*
/*
* Draw Day of Week and Month
*/
wid = xdDayOfWeek[DayOfWeek] + xdMonth[Month] + 1;
copyXPMArea(xsDayOfWeek[DayOfWeek], yDayOfWeek, xdDayOfWeek[DayOfWeek],
copyXPMArea(xsDayOfWeek[DayOfWeek], yDayOfWeek, xdDayOfWeek[DayOfWeek],
ydMonth, 33-wid/2, 64-24-4-12);
copyXPMArea(xsMonth[Month], yMonth, xdMonth[Month],
copyXPMArea(xsMonth[Month], yMonth, xdMonth[Month],
ydMonth, 33-wid/2+xdDayOfWeek[DayOfWeek]+1, 64-24-4-12);
/*
/*
* Draw Day of Month
*/
copyXPMArea(xsDayOfMonth[DayOfMonth], yDayOfMonth[DayOfMonth], xdDayOfMonth[DayOfMonth], ydDayOfMonth, 32-xdDayOfMonth2[DayOfMonth]/2, 36);
@ -715,7 +715,7 @@ int main(int argc, char *argv[]) {
} else {
/*
* Update the counter.
* Update the counter.
*/
++n;
@ -745,7 +745,7 @@ int main(int argc, char *argv[]) {
/*
/*
* Process any pending X events.
*/
while(XPending(display)) {
@ -782,9 +782,9 @@ int main(int argc, char *argv[]) {
/*
* Redraw and wait for next update
/*
* Redraw and wait for next update
*/
RedrawWindow();
if( HasExecute == 1) {
@ -809,13 +809,13 @@ int main(int argc, char *argv[]) {
/*
* ParseCMDLine()
/*
* ParseCMDLine()
*/
void ParseCMDLine(int argc, char *argv[]) {
int i;
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "-display")){
@ -942,8 +942,8 @@ int i;
}
}
if (!ShowSeconds && !UseArial && !UseJazzPoster
if (!ShowSeconds && !UseArial && !UseJazzPoster
&& !UseComicSans && !UseLuggerbug) UseTekton = 1;
@ -1132,7 +1132,7 @@ int LoadLayoutInfo(void) {
return (-1);
}
groups = kb_desc->ctrls->num_groups;
/* printf("You have configured %u keyboard groups.\n", groups);
printf("Your keyboard have following groups:\n");

View file

@ -1,4 +1,4 @@
.TH WMCALCLOCK 1 "12 September 2003"
.TH WMCALCLOCK 1 "12 September 2003"
.SH NAME
WMCALCLOCK \- Dockable Calendar Clock Keyboard Indicator
.SH SYNOPSIS
@ -6,7 +6,7 @@ WMCALCLOCK \- Dockable Calendar Clock Keyboard Indicator
[-h] [-display <Display>] [-b <Volume>] [-e <Command>] [-24] [-s] [-S] [-L <Longitude>] [-l] [-tc <color>] [-bc <color>] [-tekton] [-comicsans] [-arial] [-luggerbug] [-jazz] [-kb <Images>] [-kbt <0.0-1.0>]
.SH DESCRIPTION
.PP
wmCalClock is a simple Calendar Clock with anti-aliased text and drop-shadows, which can also indicate your keyboard group
wmCalClock is a simple Calendar Clock with anti-aliased text and drop-shadows, which can also indicate your keyboard group
.SH OPTIONS
.TP
.B \-h
@ -19,31 +19,31 @@ Use an alternate X Display.
Beep on the hour with specified volume (between -100 and 100).
.TP
.B \-e <Command>
Command to execute via double click of mouse button 1. (Use quotes if your command
Command to execute via double click of mouse button 1. (Use quotes if your command
has white space in it).
.TP
.B \-24
Show time in 24-hour format instead of default 12-hour AM/PM format.
.TP
.B \-s
Show Greenwich Mean Sidereal Time (GMST) in 24-hour format.
Show Greenwich Mean Sidereal Time (GMST) in 24-hour format.
.TP
.B \-S
Dont show seconds.
.TP
.B \-L <Longitude>
Show Local Sidereal Time (LST) in 24-hour format. Longitude is in degrees
Show Local Sidereal Time (LST) in 24-hour format. Longitude is in degrees
(- for West + for East).
.TP
.B \-l
.B \-l
Force use of lower color pixmap to conserve colors. On displays with <= 8 bits,
the low color Pixmap will always be used.
.TP
.B \-tc <color>
Change color of time-field digits.
Change color of time-field digits.
.TP
.B \-bc <color>
Change color of time-field background.
Change color of time-field background.
.TP
.B \-tekton
Use the Tekton font for time field.

View file

@ -7,8 +7,8 @@
int DblClkDelay;
- int HasExecute = 0; /* controls perf optimization */
char ExecuteCommand[1024];
--- 272,277 ----
***************
*** 451,457 ****
@ -16,20 +16,20 @@
*
*/
! if ( HasExecute == 0 || n>10){
n = 0;
--- 450,456 ----
* to catch expose events, etc...
*
*/
! if (n>10){
n = 0;
***************
*** 722,734 ****
* Redraw and wait for next update
* Redraw and wait for next update
*/
RedrawWindow();
! if( HasExecute == 1) {
@ -39,16 +39,16 @@
! } else {
! usleep( 500000L);
! }
}
--- 721,727 ----
* Redraw and wait for next update
* Redraw and wait for next update
*/
RedrawWindow();
! usleep(DELAY);
}
***************
*** 817,823 ****
@ -56,15 +56,15 @@
}
strcpy(ExecuteCommand, argv[++i]);
- HasExecute = 1;
} else if (!strcmp(argv[i], "-g")){
--- 810,815 ----
***************
*** 975,981 ****
char Command[512];
- if( HasExecute == 0) return; /* no command specified. Ignore clicks. */
DblClkDelay = 0;
if ((xev->button == Button1) && (xev->type == ButtonPress)){

View file

@ -1,10 +1,10 @@
/*
* xutils.c - A collection of X-windows utilties for creating WindowMAker
* DockApps.
* DockApps.
*
* This file contains alot of the lower-level X windows routines. Origins with wmppp
* (by Martijn Pieterse (pieterse@xs4all.nl)), but its been hacked up quite a bit
* and passed on from one new DockApp to the next.
* and passed on from one new DockApp to the next.
*
*
*
@ -27,7 +27,7 @@
*
*
*
*/
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@ -43,7 +43,7 @@
/*
* X11 Variables
* X11 Variables
*/
int x_fd;
XSizeHints mysizehints;
@ -105,7 +105,7 @@ static int flush_expose(Window w) {
* RedrawWindowXY
*/
void RedrawWindow(void) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, 0,0, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
@ -115,7 +115,7 @@ void RedrawWindow(void) {
}
void RedrawWindowXY(int x, int y) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, x,y, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
@ -179,7 +179,7 @@ void initXwindow(int argc, char *argv[]){
/*
* openXwindow
*/
void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bits,
void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bits,
int pixmask_width, int pixmask_height) {
unsigned int borderwidth = 1;
@ -201,9 +201,9 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
{"Color9", NULL, 0}};
/*
/*
* Create Pixmap
*/
cols[0].pixel = getColor(BackgroundColor, 1.0000, &red, &grn, &blu);
@ -221,9 +221,9 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
wmgen.attributes.colorsymbols = cols;
wmgen.attributes.exactColors = False;
wmgen.attributes.closeness = 40000;
wmgen.attributes.valuemask = XpmReturnPixels | XpmReturnExtensions | XpmColorSymbols
wmgen.attributes.valuemask = XpmReturnPixels | XpmReturnExtensions | XpmColorSymbols
| XpmExactColors | XpmCloseness | XpmSize;
if (XpmCreatePixmapFromData(display, Root, pixmap_bytes,
if (XpmCreatePixmapFromData(display, Root, pixmap_bytes,
&(wmgen.pixmap), &(wmgen.mask), &(wmgen.attributes)) != XpmSuccess){
fprintf(stderr, "Not enough free colorcells.\n");
exit(1);
@ -232,8 +232,8 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
/*
* Create a window
/*
* Create a window
*/
mysizehints.flags = USSize | USPosition;
mysizehints.x = 0;
@ -247,19 +247,19 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
mysizehints.width = 64;
mysizehints.height = 64;
win = XCreateSimpleWindow(display, Root, 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
/*
* Activate hints
*/
XSetWMNormalHints(display, win, &mysizehints);
classHint.res_name = wname;
@ -274,11 +274,11 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
* effect. I.e. for some you will need to Grab the focus and then return
* it after you are done...
*/
XSelectInput(display, win, ButtonPressMask | ExposureMask | ButtonReleaseMask
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
XSelectInput(display, win, ButtonPressMask | ExposureMask | ButtonReleaseMask
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
| KeyPressMask | KeyReleaseMask);
XSelectInput(display, iconwin, ButtonPressMask | ExposureMask | ButtonReleaseMask
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
XSelectInput(display, iconwin, ButtonPressMask | ExposureMask | ButtonReleaseMask
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
| KeyPressMask | KeyReleaseMask);
@ -290,8 +290,8 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
XSetWMName(display, win, &name);
/*
* Create Graphics Context (GC) for drawing
/*
* Create Graphics Context (GC) for drawing
*/
gcm = GCForeground | GCBackground | GCGraphicsExposures;
gcv.foreground = fore_pix;
@ -337,7 +337,7 @@ unsigned long getColor(char *ColorName, float fac, int *red, int *grn, int *blu)
Color.flags = DoRed | DoGreen | DoBlue;
XAllocColor(display, Attributes.colormap, &Color);
*red = Color.red;
*grn = Color.green;
*blu = Color.blue;
@ -407,7 +407,7 @@ int LoadKbImg(char *names)
break;
}
point = strtok(NULL, ",");
}
}
return ((i > KB_MAX_GROUPS) ? KB_MAX_GROUPS : i);
@ -442,7 +442,7 @@ void CreateKbTranImgs(void)
}
}
}
XDestroyImage(image);
}

View file

@ -4,7 +4,7 @@
/*
* Typedefs
* Typedefs
*/
typedef struct {
Pixmap pixmap;
@ -21,7 +21,7 @@ typedef struct {
Display *display;
Window Root;
Window iconwin, win;
int screen;
int screen;
int DisplayDepth;
@ -43,7 +43,7 @@ void setMaskXY(int, int);
unsigned long getColor(char *, float, int *, int *, int *);
unsigned long getBlendedColor(char *, float, int, int, int);
void RedrawWindow(void);
int LoadKbImg(char *names);
int LoadKbImg(char *names);
void CreateKbTranImgs(void);
void ShowGroupImage(int group);

View file

@ -18,7 +18,7 @@ scalpel:
make clean
make ${TARGET}
gv:
gv:
if [ -e buttons.xpm ]; then rm buttons.xpm; fi
if [ -e pushed_buttons.xpm ]; then rm pushed_buttons.xpm; fi
if [ -e backdrop.xpm ]; then rm backdrop.xpm; fi
@ -37,5 +37,5 @@ ${TARGET}: ${OBJECTS}
gcc -g -o ${TARGET} ${OBJECTS} ${LIBINC} ${LIBS}
clean::
for i in ${OBJECTS}; do if [ -e $$i ] ; then rm $$i; fi; done
for i in ${OBJECTS}; do if [ -e $$i ] ; then rm $$i; fi; done
if [ -e ${TARGET} ] ; then rm ${TARGET}; fi

View file

@ -4,7 +4,7 @@ wmcp ( Window Maker Crappy Pager )
Version 1.2.8
Origional Author:
Origional Author:
Ben Cohen <buddog@aztec.asu.edu>
Contributors: ( ** Thanks alot to them !! ** )
@ -31,13 +31,13 @@ INSTALL:
make gv -- make wmcp using the ghostview style button colors
copy wmcp to some directory in your $PATH.
( ie: cp wmcp /usr/local/bin )
( ie: cp wmcp /usr/local/bin )
type wmcp
type wmcp
Grab the appicon and move it to the dock.
Grab the appicon and move it to the dock.
If make doesn't work, you may need to fiddle with the settings in
If make doesn't work, you may need to fiddle with the settings in
the Makefile.
Tested on:
@ -51,8 +51,8 @@ INSTALL:
USAGE:
------
usage: wmcp [-g geometry] [-d dpy] [-n workspaces] [-a alt key] [-v]
[-c] [-w i/n/w] [-s y/n] [-x #] [-y #] [-h]
usage: wmcp [-g geometry] [-d dpy] [-n workspaces] [-a alt key] [-v]
[-c] [-w i/n/w] [-s y/n] [-x #] [-y #] [-h]
-g geometry: ie: 64x64+10+10
-d dpy: Display. ie: 127.0.0.1:0.0
@ -61,7 +61,7 @@ usage: wmcp [-g geometry] [-d dpy] [-n workspaces] [-a alt key] [-v]
-w i/n/w: Window State: Iconic, Normal, Withdrawn (default Withdrawn)
-s y/n: Shaped window: yes or no (default y)
-c Sends CTRL + ALT + Key (default only sends ALT + key)
-v Verbose. 0=off, 1=on (default 0)
-v Verbose. 0=off, 1=on (default 0)
-x # Number of buttons on the x-direction (1,2,3 or 4)
-y # Number of buttons in the y-direction (1,2,3 or 4)
-h Help. This screen.
@ -87,12 +87,12 @@ EXAMPLES:
2x3 button grid:
wmdl -x 2 -y 3
NOTES:
------
This pager works by sending synthetic ALT + number key press events to the
This pager works by sending synthetic ALT + number key press events to the
root window. The "-c" command line switch makes the application send
a CNTRL + ALT + number key which might be of use in another window manager.
@ -105,7 +105,7 @@ I don't know of any Window Maker hooks for determining things like how
may workspaces are actually in use. If any one know about this stuff, please
let me know.
It is very easy to change the look of wmcp by editing the colors in the
It is very easy to change the look of wmcp by editing the colors in the
pixmap files. Someday we'll add an official 'skins' ability but for now
just edit the xpm files to change the colors etc.
@ -122,7 +122,7 @@ CHANGE LOG:
1.2.8 May 25, 1999 -- Gert Beumer
Added -x and -y functionality to configure the amount of buttons.
Changed the rendering of the buttons from the pixmap
Changed the rendering of the buttons from the pixmap
(to suport multiple button startup)
1.2.6 Feb 11, 1999
@ -133,7 +133,7 @@ CHANGE LOG:
1.2.5 Jan 25, 1999
Made buttons flat style ala Ghostview 3.5.8
1.2 Jan 24, 1999
Pushed button images added by Thomas Nemeth <tnemeth@multimania.com>
@ -143,7 +143,7 @@ CHANGE LOG:
TODO:
-----
Add a simple method for changing 'skins' other than just editing the XPM
Add a simple method for changing 'skins' other than just editing the XPM
files by hand.
Add catching Window Maker's events to know how to refresh the pager when

View file

@ -63,13 +63,13 @@ static char *backdrop_xpm[] = {
"aaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"aaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"aaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"########iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"################################################################",
"################################################################",
"########iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
};

View file

@ -63,13 +63,12 @@ static char *backdrop_xpm[] = {
"aaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"aaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"aaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"########iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"################################################################",
"################################################################",
"########iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii########",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
"################################################################",
};

View file

@ -50,7 +50,7 @@ static char *buttons_xpm[] = {
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",

View file

@ -50,7 +50,7 @@ static char *buttons_xpm[] = {
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",

View file

@ -11,10 +11,10 @@ static char mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,

View file

@ -50,7 +50,7 @@ static char *pushed_buttons_xpm[] = {
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",
"aa#c #ca",

View file

@ -50,7 +50,7 @@ static char *pushed_buttons_xpm[] = {
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",
"a#c c#a",

View file

@ -1,22 +1,22 @@
/***********************************************************************
* Code is stol^H^H^H^Hbased on wmppp, wmload, and wmtme
* Code is stol^H^H^H^Hbased on wmppp, wmload, and wmtme
*
* Author: Ben Cohen <buddog@aztec.asu.edu>
*
* Contributors:
* Thomas Nemeth <tnemeth@multimania.com> -- Pushed button highlighting
* Craig Maloney <craig@ic.net> -- CTRL + ALT + key option
* Craig Maloney <craig@ic.net> -- CTRL + ALT + key option
*
*
* This program is distributed under the GPL license.
*
*
* Best viewed with tab = 4 ( in vi set ts=4 )
*
*
***********************************************************************/
#define VERSION "Ver 1.2.8 -- May 25, 1999"
@ -29,7 +29,7 @@
#include <math.h>
#include "backdrop.xpm"
#include "buttons.xpm"
#include "buttons.xpm"
#include "pushed_buttons.xpm"
#include "mask.xbm"
@ -74,7 +74,7 @@ ButtonArea button_region[16];
XpmIcon template, visible, buttons, pbuttons;
unsigned int control = 0;
unsigned int control = 0;
int numb_of_workspaces = 16; /* Number of buttons to display.
Initially set high. Changed by
@ -82,7 +82,7 @@ int numb_of_workspaces = 16; /* Number of buttons to display.
int N = 1; /* Button number pressed to goto WS */
int B = 1; /* Button number pressed to number WS's */
int alt_key_type = 1;
int alt_key_type = 1;
int border = 5;
int Verbose = 0;
@ -113,7 +113,7 @@ void show_usage();
int main( int argc, char ** argv )
{
XEvent report;
XGCValues xgcValues;
XGCValues xgcValues;
XTextProperty app_name_atom;
@ -150,7 +150,7 @@ int main( int argc, char ** argv )
case 'n':
if ( ++i >= argc ) show_usage();
sscanf(argv[i], "%d", &numb_of_workspaces);
if ( Verbose )
if ( Verbose )
printf("Numb of Workspaces: %d\n", numb_of_workspaces);
break;
case 's':
@ -178,14 +178,14 @@ int main( int argc, char ** argv )
case 'x':
if ( ++i >= argc ) show_usage();
sscanf(argv[i], "%d", &xbut);
if ( xbut < 1 || xbut > MAX_X_BUT ) xbut = 3;
if ( Verbose ) printf("Num X buttons=%d\n", xbut);
if ( xbut < 1 || xbut > MAX_X_BUT ) xbut = 3;
if ( Verbose ) printf("Num X buttons=%d\n", xbut);
break;
case 'y':
if ( ++i >= argc ) show_usage();
sscanf(argv[i], "%d", &ybut);
if ( ybut < 1 || ybut > MAX_Y_BUT ) ybut = 3;
if ( Verbose ) printf("Num Y buttons=%d\n", ybut);
if ( Verbose ) printf("Num Y buttons=%d\n", ybut);
break;
case 'a':
if ( ++i >= argc ) show_usage();
@ -210,7 +210,7 @@ int main( int argc, char ** argv )
if ( (display = XOpenDisplay(Display_str)) == NULL ) {
fprintf(stderr,"Fail: XOpenDisplay for %s\n", Display_str);
fprintf(stderr,"Fail: XOpenDisplay for %s\n", Display_str);
exit(-1);
}
@ -219,8 +219,8 @@ int main( int argc, char ** argv )
rootwin = RootWindow(display,screen);
depth = DefaultDepth(display, screen);
bg_pixel = WhitePixel(display, screen );
fg_pixel = BlackPixel(display, screen );
bg_pixel = WhitePixel(display, screen );
fg_pixel = BlackPixel(display, screen );
@ -231,19 +231,19 @@ int main( int argc, char ** argv )
/* Parse Geometry string and fill in sizehints fields */
XWMGeometry(display, screen,
Geometry_str,
NULL,
border,
XWMGeometry(display, screen,
Geometry_str,
NULL,
border,
&xsizehints,
&xsizehints.x,
&xsizehints.x,
&xsizehints.y,
&xsizehints.width,
&xsizehints.height,
&xsizehints.height,
&dummy);
if ( (win = XCreateSimpleWindow(
if ( (win = XCreateSimpleWindow(
display,
rootwin,
xsizehints.x,
@ -252,11 +252,11 @@ int main( int argc, char ** argv )
xsizehints.height,
border,
fg_pixel, bg_pixel) ) == 0 ) {
fprintf(stderr,"Fail: XCreateSimpleWindow\n");
fprintf(stderr,"Fail: XCreateSimpleWindow\n");
exit(-1);
}
if ( (iconwin = XCreateSimpleWindow(
if ( (iconwin = XCreateSimpleWindow(
display,
win,
xsizehints.x,
@ -265,7 +265,7 @@ int main( int argc, char ** argv )
xsizehints.height,
border,
fg_pixel, bg_pixel) ) == 0 ) {
fprintf(stderr,"Fail: XCreateSimpleWindow\n");
fprintf(stderr,"Fail: XCreateSimpleWindow\n");
exit(-1);
}
@ -290,21 +290,21 @@ int main( int argc, char ** argv )
/* Convert in pixmaps from .xpm includes. */
getPixmaps();
/* Interclient Communication stuff */
/* Appicons don't work with out this stuff */
xwmhints = XAllocWMHints();
xwmhints->flags = WindowGroupHint | IconWindowHint | StateHint;
xwmhints->flags = WindowGroupHint | IconWindowHint | StateHint;
xwmhints->icon_window = iconwin;
xwmhints->window_group = win;
xwmhints->initial_state = window_state;
XSetWMHints( display, win, xwmhints );
xclasshint.res_name = "wmcp";
xclasshint.res_class = "WMcp";
XSetClassHint( display, win, &xclasshint );
@ -323,17 +323,17 @@ int main( int argc, char ** argv )
exit(-1);
}
XSetWMName( display, win, &app_name_atom );
/* Create Graphic Context */
if ( (gc = XCreateGC(
if ( (gc = XCreateGC(
display,
win,
(GCForeground | GCBackground),
&xgcValues)) == NULL ) {
fprintf(stderr,"Fail: XCreateGC\n");
fprintf(stderr,"Fail: XCreateGC\n");
exit(-1);
}
@ -346,16 +346,16 @@ int main( int argc, char ** argv )
XSelectInput(
display,
win,
ExposureMask |
ButtonPressMask |
ExposureMask |
ButtonPressMask |
PointerMotionMask |
StructureNotifyMask );
XSelectInput(
display,
iconwin,
ExposureMask |
ButtonPressMask |
ExposureMask |
ButtonPressMask |
PointerMotionMask |
StructureNotifyMask );
@ -363,7 +363,7 @@ int main( int argc, char ** argv )
/* Store the 'state' of the application for restarting */
XSetCommand( display, win, argv, argc );
XSetCommand( display, win, argv, argc );
/* Window won't ever show up until it is mapped.. then drawn after a */
@ -381,22 +381,22 @@ int main( int argc, char ** argv )
case Expose:
if (report.xexpose.count != 0) {
if (report.xexpose.count != 0) {
break;
}
if ( Verbose ) fprintf(stdout,"Event: Expose\n");
if ( Verbose ) fprintf(stdout,"Event: Expose\n");
redraw( xbut, ybut );
break;
case ConfigureNotify:
if ( Verbose ) fprintf(stdout,"Event: ConfigureNotify\n");
if ( Verbose ) fprintf(stdout,"Event: ConfigureNotify\n");
redraw( xbut, ybut );
break;
case ButtonPress:
if ( Verbose )
if ( Verbose )
printf ("numb_of_workspaces=%d\n", numb_of_workspaces);
switch (report.xbutton.button) {
case Button1:
@ -405,9 +405,9 @@ int main( int argc, char ** argv )
switchToWorkspaceN( N );
redraw(xbut, ybut);
}
if ( Verbose )
fprintf(stdout,"Button 1:x=%d y=%d N=%d\n",
report.xbutton.x, report.xbutton.y, N);
if ( Verbose )
fprintf(stdout,"Button 1:x=%d y=%d N=%d\n",
report.xbutton.x, report.xbutton.y, N);
break;
case Button2:
@ -417,9 +417,9 @@ int main( int argc, char ** argv )
numb_of_workspaces = B;
redraw(xbut, ybut);
}
if ( Verbose )
fprintf(stdout,"Button 2or3:x=%d y=%d B=%d\n",
report.xbutton.x, report.xbutton.y, B);
if ( Verbose )
fprintf(stdout,"Button 2or3:x=%d y=%d B=%d\n",
report.xbutton.x, report.xbutton.y, B);
break;
}
@ -427,13 +427,13 @@ int main( int argc, char ** argv )
case DestroyNotify:
if ( Verbose )
if ( Verbose )
fprintf(stdout, "Bye\n");
XFreeGC(display, gc);
XDestroyWindow(display,win);
XDestroyWindow(display,iconwin);
XCloseDisplay(display);
if ( Verbose )
if ( Verbose )
fprintf(stdout, "Bye\n");
exit(0);
break;
@ -452,7 +452,7 @@ return (0);
*
* Map the button region coordinates.
*
* Draw the appropriate number of buttons on the 'visible' Pixmap
* Draw the appropriate number of buttons on the 'visible' Pixmap
* using data from the 'buttons' pixmap.
*
* Then, copy the 'visible' pixmap to the two windows ( the withdrawn
@ -477,15 +477,15 @@ void redraw( int xbut, int ybut )
ybut_size = 48 / ybut;
XCopyArea( display,
template.pixmap, visible.pixmap,
gc,
XCopyArea( display,
template.pixmap, visible.pixmap,
gc,
0, 0,
template.attributes.width,
template.attributes.width,
template.attributes.height,
0, 0 );
0, 0 );
for ( j=0; j < ybut; j++ ) {
for ( i=0; i < xbut; i++ ) {
n = i + j * xbut;
@ -500,7 +500,7 @@ void redraw( int xbut, int ybut )
button_region[n].x = dest_x;
button_region[n].y = dest_y;
button_region[n].i = dest_x + xbut_size - 1;
button_region[n].j = dest_y + ybut_size - 1;
button_region[n].j = dest_y + ybut_size - 1;
/* Copy button images for valid workspaces */
@ -510,56 +510,56 @@ void redraw( int xbut, int ybut )
/* Draw normal button */
/* Edited by Gert Beumer */
if ( (n + 1) != N ) {
/* upper left */
XCopyArea( display,
buttons.pixmap,
visible.pixmap,
gc,
buttons.pixmap,
visible.pixmap,
gc,
0,0,
step_x, step_y,
dest_x,
dest_y);
/* lowwer left */
XCopyArea( display,
buttons.pixmap,
visible.pixmap,
gc,
buttons.pixmap,
visible.pixmap,
gc,
0,48 - step_y,
step_x, step_y,
step_x, step_y,
dest_x,
dest_y + step_y);
/* lowwer right */
XCopyArea( display,
buttons.pixmap,
visible.pixmap,
gc,
buttons.pixmap,
visible.pixmap,
gc,
48 - step_x,48 - step_y,
step_x, step_y,
step_x, step_y,
dest_x + step_x,
dest_y + step_y);
/* upper right */
XCopyArea( display,
buttons.pixmap,
visible.pixmap,
gc,
buttons.pixmap,
visible.pixmap,
gc,
48 - step_x,0,
step_x, step_y,
step_x, step_y,
dest_x + step_x,
dest_y);
/* Draw the numbers */
XCopyArea( display,
buttons.pixmap,
visible.pixmap,
gc,
buttons.pixmap,
visible.pixmap,
gc,
n * 5,
48,
5,5,
dest_x + (48 - xbut * 5) / (2 * xbut),
dest_y + (48 - ybut * 5) / (2 * ybut));
}
/* Draw pushed button */
/* Added by Thomas Nemeth, Edited by Gert Beumer */
if ( (n + 1) == N ) {
@ -567,46 +567,46 @@ void redraw( int xbut, int ybut )
/* upper left */
XCopyArea( display,
pbuttons.pixmap,
visible.pixmap,
gc,
pbuttons.pixmap,
visible.pixmap,
gc,
0,0,
step_x, step_y,
dest_x,
dest_y);
/* lowwer left */
XCopyArea( display,
pbuttons.pixmap,
visible.pixmap,
gc,
pbuttons.pixmap,
visible.pixmap,
gc,
0,48 - step_y,
step_x, step_y,
step_x, step_y,
dest_x,
dest_y + step_y);
/* lowwer right */
XCopyArea( display,
pbuttons.pixmap,
visible.pixmap,
gc,
pbuttons.pixmap,
visible.pixmap,
gc,
48 - step_x,48 - step_y,
step_x, step_y,
step_x, step_y,
dest_x + step_x,
dest_y + step_y);
/* upper right */
XCopyArea( display,
pbuttons.pixmap,
visible.pixmap,
gc,
pbuttons.pixmap,
visible.pixmap,
gc,
48 - step_x,0,
step_x, step_y,
step_x, step_y,
dest_x + step_x,
dest_y);
/* Draw the numbers */
XCopyArea( display,
pbuttons.pixmap,
visible.pixmap,
gc,
pbuttons.pixmap,
visible.pixmap,
gc,
n * 5,
48,
5,5,
@ -619,25 +619,25 @@ void redraw( int xbut, int ybut )
}
}
flush_expose( win );
XCopyArea( display,
visible.pixmap, win, gc,
flush_expose( win );
XCopyArea( display,
visible.pixmap, win, gc,
0, 0,
visible.attributes.width,
visible.attributes.width,
visible.attributes.height,
0, 0 );
0, 0 );
flush_expose( iconwin );
XCopyArea( display,
visible.pixmap, iconwin, gc,
flush_expose( iconwin );
XCopyArea( display,
visible.pixmap, iconwin, gc,
0, 0,
visible.attributes.width,
visible.attributes.width,
visible.attributes.height,
0, 0 );
if ( Verbose )
fprintf(stdout,"In Redraw()\n");
if ( Verbose )
fprintf(stdout,"In Redraw()\n");
}
@ -651,7 +651,7 @@ void redraw( int xbut, int ybut )
* be visible ( drawn ). Return -1 if no button match.
*
***********************************************************************/
int whichButton( int x, int y, int xbut, int ybut )
{
int index;
@ -674,7 +674,7 @@ int whichButton( int x, int y, int xbut, int ybut )
/***********************************************************************
* switchToWorkspaceN()
*
* Send the Synthetic Key Press event with the appropriate
* Send the Synthetic Key Press event with the appropriate
* [ meta key + 1-4 key ] combo. Alt seems to usualy be Mod1Mask.
*
***********************************************************************/
@ -685,7 +685,7 @@ void switchToWorkspaceN( int workspace ) {
sendEvent.xkey.type = KeyPress;
sendEvent.xkey.window = rootwin;
sendEvent.xkey.root = rootwin;
sendEvent.xkey.root = rootwin;
sendEvent.xkey.subwindow = 0x0;
switch ( alt_key_type ) {
case 1:
@ -712,9 +712,9 @@ void switchToWorkspaceN( int workspace ) {
/***********************************************************************
* getPixmaps
*
*
* Load XPM data into X Pixmaps.
*
*
* Pixmap template contains the untouched window backdrop image.
* Pixmap visible is the template pixmap with buttons drawn on it.
* -- what is seen by the user.
@ -736,40 +736,40 @@ void getPixmaps()
rootwin,
backdrop_xpm,
&template.pixmap,
&template.mask,
&template.mask,
&template.attributes) != XpmSuccess ) {
fprintf(stderr, "Can't Create 'template' Pixmap");
exit(1);
}
/* Visible Pixmap. Copied from template Pixmap and then drawn to. */
if ( XpmCreatePixmapFromData( display,
rootwin,
if ( XpmCreatePixmapFromData( display,
rootwin,
backdrop_xpm,
&visible.pixmap,
&visible.mask,
&visible.mask,
&visible.attributes) != XpmSuccess ) {
fprintf(stderr, "Can't Create 'visible' Pixmap");
exit(1);
}
/* Buttons Pixmap. */
if ( XpmCreatePixmapFromData( display,
if ( XpmCreatePixmapFromData( display,
rootwin,
buttons_xpm,
&buttons.pixmap,
&buttons.mask,
&buttons.mask,
&buttons.attributes) != XpmSuccess ) {
fprintf(stderr, "Can't Create 'buttons' Pixmap");
exit(1);
}
/* Pushed Buttons Pixmap. */
if ( XpmCreatePixmapFromData( display,
if ( XpmCreatePixmapFromData( display,
rootwin,
pushed_buttons_xpm,
&pbuttons.pixmap,
&pbuttons.mask,
&pbuttons.mask,
&pbuttons.attributes) != XpmSuccess ) {
fprintf(stderr, "Can't Create 'pbuttons' Pixmap");
exit(1);

View file

@ -1,7 +1,7 @@
wmdonkeymon-0.9
wmdonkeymon-0.9
--------------------------------------------------------------
Authors...: Marcelo Morgade (marcelomorgade@ig.com.br)
Description
--------------------------------------------------------------
@ -11,7 +11,7 @@ Click on a file name to show details.
Click again to return to list.
Plz, don't hack uploads ...
wmisdnmon is being developped on a machine running
wmisdnmon is being developped on a machine running
Conectiva Linux 7.0 (Brazilian RedHat like distro)
Files
@ -21,19 +21,19 @@ INSTALL Installation instructions.
BUGS Things you don't want to know ;-)
COPYING GNU General Public License Version 2.
TODO FFF (Features For the Future).
Bugs
--------------------------------------------------------------
If you discover any bugs in this software, please send a
If you discover any bugs in this software, please send a
bugreport to marcelomorgade@ig.com.br and describe
the problem as detailed as you can.
Copyright
--------------------------------------------------------------
wmdonkeymon is copyright (c) 2002 by Marcelo Morgade and
licensed through the GNU General Public License.
wmdonkeymon is copyright (c) 2002 by Marcelo Morgade and
licensed through the GNU General Public License.
Read the COPYING file for the complete GNU license.

View file

@ -2,10 +2,10 @@
/*
*
* wmdonkeymon 0.9 (C) 2002 Marcelo Burgos Morgade Cortizo (marcelomorgade@ig.com.br)
*
*
* - Show status of edonkey downloads based on '*.part.met' files
*
*
*
*
*
*/
@ -23,7 +23,7 @@
#include "../wmgeneral/wmgeneral.h"
#include "wmdonkeymon_master.xpm"
#include "wmdonkeymon_mask.xbm"
#define SLOT_SIZE 52
#define REF_RATE 5
@ -138,13 +138,13 @@ int main(int argc, char *argv[])
}
}
if (!tmpdir) { usage(); exit(-1);}
openXwindow(argc, argv, wmdonkeymon_master_xpm, wmdonkeymon_mask_bits, wmdonkeymon_mask_width, wmdonkeymon_mask_height);
copyXPMArea(5,60,52,54,5,3);
RedrawWindow();
splash();
r = 0;
while (1) {
if (!r) {
@ -155,7 +155,7 @@ int main(int argc, char *argv[])
long int fileSize=0, num =0;
char nvalue[516],value[516];
j =0;
metnum=0;
metnum=0;
// Search for files in temp directory
ls = scandir(tmpdir, &namelist, 0, alphasort);
if (ls < 0){
@ -182,37 +182,37 @@ int main(int argc, char *argv[])
if(debug)printf("opening %s\n",buf);
if ( (met = fopen(buf,"rb")) != NULL) {}
else {printf("Nada\n");};
// Version
i += fread(buf,1,1,met);
if(debug){ printf("Version: %x\n",buf[0]); }
// Date ??
i += fread(buf,1,4,met);
if(debug) { printf("Date: %x %x %x %x \n",buf[0],buf[1],buf[2],buf[3]); }
// Hash
i += fread(buf,1,16,met);
if(debug){ printf("Hash: "); for (j=0;j<16;j++) printf("%x ",buf[j]); printf("\n"); }
// Partial Hashes
i += fread(buf,1,2,met);
memcpy(&j,buf,2);
if(debug) printf("Num of Hashes: %d\n",j);
// Hashes
for (i=0;i<j;i++){
fread(buf,1,16,met);
if(debug){printf("Hash %d: ",i+1); for (x=0;x<16;x++) printf("%x ",buf[x]); printf("\n");}
}
// Num of Meta Tags
i = fread(buf,1,4,met);
memcpy(&num,buf,4);
if(debug){printf("Num of Meta Tags: %ld\n",num);}
x = 0;
// Meta Tags
for (i=0;i<num;i++){
fread(&type,1,1,met);
@ -240,9 +240,9 @@ int main(int argc, char *argv[])
case 18:
if(debug){printf("Temp file: %s\n",value);}
break;
}
} else if (debug)printf("Unknow String Tag %d: %s",nvalue[0],value);
}else if (type==3){
fread(&fsize,1,4,met);
@ -287,15 +287,15 @@ int main(int argc, char *argv[])
if(debug)printf(" to %10d = %10d Size(%d) Gaprel: %d-%d\n",fsize,miss,9728000,files[metnum].gappos[x][0],files[metnum].gappos[x][1]);
}
}
}
}
files[metnum].gapnum = x;
files[metnum].gapnum = x;
files[metnum].firstgap = firstgap;
files[metnum].lastsize = files[metnum].copied;
files[metnum].size = fileSize;
// sort gaps
/* don'n needed
* for (i=0; i<x; i++)
@ -311,11 +311,11 @@ int main(int argc, char *argv[])
}
if(debug)for (i=0; i<x; i++){ printf("[%d-%d]",files[0].gappos[i][0],files[0].gappos[i][1]); }
*/
if(debug)printf("%d bytes = %.2f mb missing\n", files[metnum].t_miss, (double)files[metnum].t_miss/(1024*1024));
if(debug)if (firstgap < 0x7fffffff) printf("first gap starts at %d (%d blocks are complete)\n", firstgap, firstgap/(9500*1024));
fclose(met);
}
}
@ -340,7 +340,7 @@ int main(int argc, char *argv[])
break;
}
}
for (j=0;j<15;j++) DelMouseRegion(j);
if (metnum==0){
@ -356,35 +356,35 @@ int main(int argc, char *argv[])
copyXPMArea(5,60,52,54,5,3);
AddMouseRegion(0,5,5,54,54);
showString(files[selected].name,1);
s=files[selected].size;
while (s>1024){s/=1024;sk++;}
c=files[selected].copied;
while (c>1024){c/=1024;ck++;}
sprintf(out,"%ld%c/%ld%c",c,unit[ck],s,unit[sk]);
showString(out,4);
sprintf(out,"%s",files[selected].type);
showString(out,5);
// **************
// Donwload Rate
// Don't work unless edonkey update met files more frequently
//
//
// s = (files[selected].copied) - (files[selected].lastsize);
// sprintf(out,"%ld B/S",(s/REF_RATE));
// showString(out,8);
//************************
//STATUS
//STATUS
//status tag is always "Looking..." :(
//
//getStatus(files[selected].status,out);
//getStatus(files[selected].status,out);
//showString(out,9);
sprintf(out,"%.3f%%", (( 1.0 * files[selected].copied / files[selected].size))*100);
showString(out,8);
copyXPMArea(66,colord,52,5,5,11);
for (i=0; i < files[selected].gapnum ; i++) {
copyXPMArea(66,colorg,files[selected].gappos[i][1]-files[selected].gappos[i][0],5,files[selected].gappos[i][0]+5 ,11);
@ -406,7 +406,7 @@ int main(int argc, char *argv[])
sleep(1);
r++;
if (r==REF_RATE) r=0;
}
}
@ -444,15 +444,15 @@ void strcaseup(char * str){
}
void showString(char * buf, int row){
int i;
int i;
strcaseup(buf);
for (i=0; buf[i] && i<10;i++){
if (buf[i]>='0' && buf[i]<='9') copyXPMArea(xpos[buf[i]-18],ypos[buf[i]-18],5,5,(i+1)*5,(row*5));
else if((buf[i]>='A' && buf[i]<='Z')) copyXPMArea(xpos[buf[i]-65],ypos[buf[i]-65],5,5,(i+1)*5,(row*5));
else if((buf[i]==' ')) copyXPMArea(66,44,5,5,(i+1)*5,(row*5));
else if((buf[i]=='/')) copyXPMArea(76,24,5,5,(i+1)*5,(row*5));
else if((buf[i]=='.')) copyXPMArea(91,24,5,5,(i+1)*5,(row*5));
else if((buf[i]=='%')) copyXPMArea(106,24,5,5,(i+1)*5,(row*5));
else if((buf[i]=='/')) copyXPMArea(76,24,5,5,(i+1)*5,(row*5));
else if((buf[i]=='.')) copyXPMArea(91,24,5,5,(i+1)*5,(row*5));
else if((buf[i]=='%')) copyXPMArea(106,24,5,5,(i+1)*5,(row*5));
else copyXPMArea(xpos[28],ypos[28],5,5,(i+1)*5,(row*5));
}
}
@ -469,11 +469,11 @@ void splash(){
char * s= ".WMDONKEY.";
while (i<4){
RedrawWindow();
showString(s,1);
showString(s,1);
copyXPMArea(70,47,47,19,9,20);
RedrawWindow();
sleep(1);
i++;
}
}

View file

@ -1,11 +1,11 @@
/* Generic single linked list to keep various information
/* Generic single linked list to keep various information
Copyright (C) 1993, 1994 Free Software Foundation, Inc.
Author: Kresten Krab Thorup
Many modifications by Alfredo K. Kojima
This file is part of GNU CC.
@ -38,7 +38,7 @@ Boston, MA 02111-1307, USA. */
/* Return a cons cell produced from (head . tail) */
INLINE LinkedList*
INLINE LinkedList*
list_cons(void* head, LinkedList* tail)
{
LinkedList* cell;
@ -63,7 +63,7 @@ list_length(LinkedList* list)
return i;
}
/* Return the Nth element of LIST, where N count from zero. If N
/* Return the Nth element of LIST, where N count from zero. If N
larger than the list length, NULL is returned */
INLINE void*
@ -84,7 +84,7 @@ list_nth(int index, LinkedList* list)
INLINE void
list_remove_head(LinkedList** list)
{
if (!*list) return;
if (!*list) return;
if ((*list)->tail)
{
LinkedList* tail = (*list)->tail; /* fetch next */
@ -116,7 +116,7 @@ INLINE LinkedList *
list_remove_elem(LinkedList* list, void* elem)
{
LinkedList *tmp;
if (list) {
if (list->head == elem) {
tmp = list->tail;

View file

@ -1,4 +1,4 @@
/* Generic single linked list to keep various information
/* Generic single linked list to keep various information
Copyright (C) 1993, 1994 Free Software Foundation, Inc.
Author: Kresten Krab Thorup

View file

@ -1,9 +1,9 @@
/* dock.c- built-in Dock module for WindowMaker
*
*
* WindowMaker window manager
*
*
* Copyright (c) 1997 Alfredo K. Kojima
*
*
* 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
@ -28,7 +28,7 @@
*----------------------------------------------------------------------
* parse_command--
* Divides a command line into a argv/argc pair.
*----------------------------------------------------------------------
*----------------------------------------------------------------------
*/
#define PRC_ALPHA 0
#define PRC_BLANK 1
@ -64,11 +64,11 @@ next_token(char *word, char **next)
t = ret = malloc(strlen(word)+1);
ptr = word;
state = 0;
*t = 0;
while (1) {
if (*ptr==0)
if (*ptr==0)
ctype = PRC_EOS;
else if (*ptr=='\\')
ctype = PRC_ESCAPE;
@ -98,12 +98,12 @@ next_token(char *word, char **next)
t = strdup(ret);
free(ret);
if (ctype==PRC_EOS)
*next = NULL;
else
*next = ptr;
return t;
}
@ -118,7 +118,7 @@ parse_command(char *command, char ***argv, int *argc)
line = command;
do {
token = next_token(line, &line);
if (token) {
if (token) {
list = list_cons(token, list);
}
} while (token!=NULL && line!=NULL);
@ -141,15 +141,15 @@ execCommand(char *command)
int argc;
parse_command(command, &argv, &argc);
if (argv==NULL) {
return 0;
}
if ((pid=fork())==0) {
char **args;
int i;
args = malloc(sizeof(char*)*(argc+1));
if (!args)
exit(10);

View file

@ -126,7 +126,7 @@ static void GetXPM(XpmIcon *wmgen, char *pixmap_bytes[]) {
err = XpmCreatePixmapFromData(display, Root, pixmap_bytes, &(wmgen->pixmap),
&(wmgen->mask), &(wmgen->attributes));
if (err != XpmSuccess) {
fprintf(stderr, "Not enough free colorcells.\n");
exit(1);
@ -173,9 +173,9 @@ static int flush_expose(Window w) {
\*******************************************************************************/
void RedrawWindow(void) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
0,0, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -187,9 +187,9 @@ void RedrawWindow(void) {
\*******************************************************************************/
void RedrawWindowXY(int x, int y) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
x,y, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -294,12 +294,12 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
int i;
for (i=1; argv[i]; i++) {
if (!strcmp(argv[i], "-display"))
if (!strcmp(argv[i], "-display"))
display_name = argv[i+1];
}
if (!(display = XOpenDisplay(display_name))) {
fprintf(stderr, "%s: can't open display %s\n",
fprintf(stderr, "%s: can't open display %s\n",
wname, XDisplayName(display_name));
exit(1);
}
@ -324,10 +324,10 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
mysizehints.width = 64;
mysizehints.height = 64;
win = XCreateSimpleWindow(display, Root, 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);
@ -348,7 +348,7 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
XSetWMName(display, win, &name);
/* Create GC for drawing */
gcm = GCForeground | GCBackground | GCGraphicsExposures;
gcv.foreground = fore_pix;
gcv.background = back_pix;

View file

@ -1,6 +1,6 @@
LIBDIR = -L/usr/X11R6/lib
LIBS = -lXpm -lXext -lX11
OBJS = wmdots.o ../wmgeneral/wmgeneral.o
OBJS = wmdots.o ../wmgeneral/wmgeneral.o
.c.o:
cc -c -g -O2 -Wall $< -o $*.o
@ -17,7 +17,7 @@ clean::
rm wmdots
install::
cp -f wmdots /usr/local/bin/
chmod 755 /usr/local/bin/wmdots
chown root:root /usr/local/bin/wmdots
cp -f wmdots /usr/local/bin/
chmod 755 /usr/local/bin/wmdots
chown root:root /usr/local/bin/wmdots

View file

@ -21,9 +21,9 @@ short sin_tab[]=
0x3fb1, 0x3fc3, 0x3fd3, 0x3fe1, 0x3fec, 0x3ff4, 0x3ffb, 0x3ffe,
0x3fff, 0x3ffe, 0x3ffb, 0x3ff4, 0x3fec, 0x3fe1, 0x3fd3, 0x3fc3,
0x3fb1, 0x3f9c, 0x3f84, 0x3f6a, 0x3f4e, 0x3f2f, 0x3f0e, 0x3eeb,
0x3ec5, 0x3e9c, 0x3e71, 0x3e44, 0x3e14, 0x3de2, 0x3dae, 0x3d77,
0x3d3e, 0x3d02, 0x3cc5, 0x3c84, 0x3c42, 0x3bfd, 0x3bb6, 0x3b6c,
0x3fb1, 0x3f9c, 0x3f84, 0x3f6a, 0x3f4e, 0x3f2f, 0x3f0e, 0x3eeb,
0x3ec5, 0x3e9c, 0x3e71, 0x3e44, 0x3e14, 0x3de2, 0x3dae, 0x3d77,
0x3d3e, 0x3d02, 0x3cc5, 0x3c84, 0x3c42, 0x3bfd, 0x3bb6, 0x3b6c,
0x3b20, 0x3ad2, 0x3a82, 0x3a2f, 0x39da, 0x3983, 0x392a, 0x38cf,
0x3871, 0x3811, 0x37af, 0x374b, 0x36e5, 0x367c, 0x3612, 0x35a5,
0x3536, 0x34c6, 0x3453, 0x33de, 0x3367, 0x32ee, 0x3274, 0x31f7,

View file

@ -195,24 +195,24 @@ xyz square[]=
xyz cross[]=
{
{0x00,0x00,0x19}, {0x00,0x05,0x19}, {0x00,0x14,0x01}, {0x00,0x32,0x00},
{0x00,0x7D,0x00}, {0x00,0xC9,0x00}, {0x01,0x5F,0x01}, {0x01,0xAB,0x01},
{0x01,0xF6,0x01}, {0x02,0x41,0x02}, {0x02,0x8D,0x02}, {0x02,0xD8,0x02},
{0x03,0x23,0x03}, {0x03,0x05,0x04}, {0x03,0x6F,0x03}, {0x03,0xBA,0x03},
{0x00,0x00,0x19}, {0x00,0x05,0x19}, {0x00,0x14,0x01}, {0x00,0x32,0x00},
{0x00,0x7D,0x00}, {0x00,0xC9,0x00}, {0x01,0x5F,0x01}, {0x01,0xAB,0x01},
{0x01,0xF6,0x01}, {0x02,0x41,0x02}, {0x02,0x8D,0x02}, {0x02,0xD8,0x02},
{0x03,0x23,0x03}, {0x03,0x05,0x04}, {0x03,0x6F,0x03}, {0x03,0xBA,0x03},
{0x04,0x51,0x04}, {0x04,0x9C,0x04}, {0x04,0xE7,0x04}, {0x05,0x13,0x06},
{0x05,0x32,0x05}, {0x05,0x7D,0x05}, {0x05,0xC8,0x05}, {0x06,0x5E,0x06},
{0x06,0xA9,0x06}, {0x06,0xF4,0x06}, {0x07,0x3F,0x07}, {0x07,0x8A,0x07},
{0x07,0xD5,0x07}, {0x08,0x00,0x09}, {0x08,0x20,0x08}, {0x08,0x6B,0x08},
{0x08,0xB5,0x08}, {0x09,0x4B,0x09}, {0x09,0x95,0x09}, {0x09,0xE0,0x09},
{0x05,0x32,0x05}, {0x05,0x7D,0x05}, {0x05,0xC8,0x05}, {0x06,0x5E,0x06},
{0x06,0xA9,0x06}, {0x06,0xF4,0x06}, {0x07,0x3F,0x07}, {0x07,0x8A,0x07},
{0x07,0xD5,0x07}, {0x08,0x00,0x09}, {0x08,0x20,0x08}, {0x08,0x6B,0x08},
{0x08,0xB5,0x08}, {0x09,0x4B,0x09}, {0x09,0x95,0x09}, {0x09,0xE0,0x09},
{0x0A,0x09,0x0B}, {0x0A,0x2A,0x0A}, {0x0A,0x75,0x0A}, {0x0A,0xBF,0x0A},
{0x0B,0x54,0x0B}, {0x0D,0x07,0x26}, {0x0F,0x02,0x28}, {0x19,0x09,0x32},
{0x1E,0x04,0x37}, {0x22,0x0B,0x3B}, {0x2C,0x06,0x45}, {0x2D,0x01,0x46},
{0x39,0x08,0x52}, {0x3D,0x03,0x56}, {0x43,0x0A,0x5C}, {0x4B,0x00,0x64},
{0x4B,0x05,0x64}, {0x58,0x07,0x71}, {0x5B,0x02,0x74}, {0x64,0x09,0x7C},
{0x0B,0x54,0x0B}, {0x0D,0x07,0x26}, {0x0F,0x02,0x28}, {0x19,0x09,0x32},
{0x1E,0x04,0x37}, {0x22,0x0B,0x3B}, {0x2C,0x06,0x45}, {0x2D,0x01,0x46},
{0x39,0x08,0x52}, {0x3D,0x03,0x56}, {0x43,0x0A,0x5C}, {0x4B,0x00,0x64},
{0x4B,0x05,0x64}, {0x58,0x07,0x71}, {0x5B,0x02,0x74}, {0x64,0x09,0x7C},
{0x84,0x08,0x9C}, {0x88,0x03,0xA1}, {0x8D,0x0A,0xA6}, {0x96,0x00,0xAF},
{0x96,0x05,0xAF}, {0xA3,0x07,0xBC}, {0xA6,0x02,0xBF}, {0xAE,0x09,0xC7},
{0xB5,0x04,0xCE}, {0xC2,0x06,0xDB}, {0xC4,0x01,0xDD}, {0xCE,0x08,0xE7},
{0xD3,0x03,0xEC}, {0xD8,0x0A,0xF1}, {0xE1,0x05,0xFA}, {0xE2,0x00,0xFB},
{0x96,0x05,0xAF}, {0xA3,0x07,0xBC}, {0xA6,0x02,0xBF}, {0xAE,0x09,0xC7},
{0xB5,0x04,0xCE}, {0xC2,0x06,0xDB}, {0xC4,0x01,0xDD}, {0xCE,0x08,0xE7},
{0xD3,0x03,0xEC}, {0xD8,0x0A,0xF1}, {0xE1,0x05,0xFA}, {0xE2,0x00,0xFB},
{0xEE,0x07,0x07}, {0xF1,0x02,0x0A}, {0xF9,0x09,0x11}
};

View file

@ -1,11 +1,11 @@
/* Generic single linked list to keep various information
/* Generic single linked list to keep various information
Copyright (C) 1993, 1994 Free Software Foundation, Inc.
Author: Kresten Krab Thorup
Many modifications by Alfredo K. Kojima
This file is part of GNU CC.
@ -38,7 +38,7 @@ Boston, MA 02111-1307, USA. */
/* Return a cons cell produced from (head . tail) */
INLINE LinkedList*
INLINE LinkedList*
list_cons(void* head, LinkedList* tail)
{
LinkedList* cell;
@ -63,7 +63,7 @@ list_length(LinkedList* list)
return i;
}
/* Return the Nth element of LIST, where N count from zero. If N
/* Return the Nth element of LIST, where N count from zero. If N
larger than the list length, NULL is returned */
INLINE void*
@ -84,7 +84,7 @@ list_nth(int index, LinkedList* list)
INLINE void
list_remove_head(LinkedList** list)
{
if (!*list) return;
if (!*list) return;
if ((*list)->tail)
{
LinkedList* tail = (*list)->tail; /* fetch next */
@ -116,7 +116,7 @@ INLINE LinkedList *
list_remove_elem(LinkedList* list, void* elem)
{
LinkedList *tmp;
if (list) {
if (list->head == elem) {
tmp = list->tail;

View file

@ -1,4 +1,4 @@
/* Generic single linked list to keep various information
/* Generic single linked list to keep various information
Copyright (C) 1993, 1994 Free Software Foundation, Inc.
Author: Kresten Krab Thorup

View file

@ -1,9 +1,9 @@
/* dock.c- built-in Dock module for WindowMaker
*
*
* WindowMaker window manager
*
*
* Copyright (c) 1997 Alfredo K. Kojima
*
*
* 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
@ -28,7 +28,7 @@
*----------------------------------------------------------------------
* parse_command--
* Divides a command line into a argv/argc pair.
*----------------------------------------------------------------------
*----------------------------------------------------------------------
*/
#define PRC_ALPHA 0
#define PRC_BLANK 1
@ -64,11 +64,11 @@ next_token(char *word, char **next)
t = ret = malloc(strlen(word)+1);
ptr = word;
state = 0;
*t = 0;
while (1) {
if (*ptr==0)
if (*ptr==0)
ctype = PRC_EOS;
else if (*ptr=='\\')
ctype = PRC_ESCAPE;
@ -98,12 +98,12 @@ next_token(char *word, char **next)
t = strdup(ret);
free(ret);
if (ctype==PRC_EOS)
*next = NULL;
else
*next = ptr;
return t;
}
@ -118,7 +118,7 @@ parse_command(char *command, char ***argv, int *argc)
line = command;
do {
token = next_token(line, &line);
if (token) {
if (token) {
list = list_cons(token, list);
}
} while (token!=NULL && line!=NULL);
@ -141,15 +141,15 @@ execCommand(char *command)
int argc;
parse_command(command, &argv, &argc);
if (argv==NULL) {
return 0;
}
if ((pid=fork())==0) {
char **args;
int i;
args = malloc(sizeof(char*)*(argc+1));
if (!args)
exit(10);

View file

@ -17,7 +17,7 @@
* Now supports >256 colors
11/09/1998 (Martijn Pieterse, pieterse@xs4all.nl)
* Removed a bug from parse_rcfile. You could
not use "start" in a command if a label was
not use "start" in a command if a label was
also start.
* Changed the needed geometry string.
We don't use window size, and don't support
@ -175,7 +175,7 @@ static void GetXPM(XpmIcon *wmgen, char *pixmap_bytes[]) {
err = XpmCreatePixmapFromData(display, Root, pixmap_bytes, &(wmgen->pixmap),
&(wmgen->mask), &(wmgen->attributes));
if (err != XpmSuccess) {
fprintf(stderr, "Not enough free colorcells.\n");
exit(1);
@ -222,9 +222,9 @@ static int flush_expose(Window w) {
\*******************************************************************************/
void RedrawWindow(void) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
0,0, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -236,9 +236,9 @@ void RedrawWindow(void) {
\*******************************************************************************/
void RedrawWindowXY(int x, int y) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
x,y, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -294,7 +294,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
unsigned char bwrite;
int bcount;
int curpixel;
sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
@ -303,7 +303,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
zero <<=8;
zero |= xpm[1][k];
}
for (i=numcol+1; i < numcol+sy+1; i++) {
bcount = 0;
bwrite = 0;
@ -316,7 +316,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
curpixel <<=8;
curpixel |= xpm[i][j+k];
}
if ( curpixel != zero ) {
bwrite += 128;
}
@ -392,7 +392,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",
fprintf(stderr, "%s: can't open display %s\n",
wname, XDisplayName(display_name));
exit(1);
}
@ -417,10 +417,10 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
mysizehints.width = 64;
mysizehints.height = 64;
win = XCreateSimpleWindow(display, Root, 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);
@ -441,7 +441,7 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
XSetWMName(display, win, &name);
/* Create GC for drawing */
gcm = GCForeground | GCBackground | GCGraphicsExposures;
gcv.foreground = fore_pix;
gcv.background = back_pix;

View file

@ -11,7 +11,7 @@ VMGlobe
- option selection through parameters screens (right button)
- approximation of date & time of view point
- new default map (bigger, better)
- display of time uses setlocale()
- display of time uses setlocale()
- option -dawn value : enhance dawn borderline
- option -time : change date displayed
- option -nonimap
@ -20,7 +20,7 @@ VMGlobe
- modify comportment of -rand option when zooming
- change left button comportment : only change longitude
- shift+left button : change longitude & latitude
- man page
- man page
0.3.1 released 5/02/99
- option -austral
@ -39,7 +39,7 @@ VMGlobe
left click = change longitude
middle click = zoom in / zoom out
right click = change latitude
- a few hints for compile on *BSD
- a few hints for compile on *BSD
0.1 released 31/12/98

View file

@ -2,7 +2,7 @@ INC = -I/usr/X11R6/include
LIBS = -lXext -lX11 -lm -L/usr/X11R6/lib \
-ltiff -lXpm -lpng -lz -ljpeg -lungif -lwraster
OBJS = src/wmglobe.o src/rend.o src/wmgutil.o \
src/sunpos.o src/myconvert.o src/mycontext.o
src/sunpos.o src/myconvert.o src/mycontext.o
.c.o :
@ -12,11 +12,11 @@ all: wmglobe
clean:
rm -f src/*.o wmglobe
wmglobe : $(OBJS)
gcc -O2 -Wall $(OBJS) -o wmglobe $(LIBS)
strip wmglobe
strip wmglobe
install :
install :
install wmglobe /usr/local/bin
install wmglobe.1 /usr/local/man/man1

View file

@ -17,20 +17,20 @@ It's still a beta version...
Installation
----------------------------------------
You need WindowMaker to build WMGlobe. WMGlobe needs libwraster to compile,
this lib is built by WindowMaker. No more need at run time if statically
this lib is built by WindowMaker. No more need at run time if statically
linked, but then, you need WindowMaker to get the full magic :-)
tar -xvzf wmglobe-0.5.tar.gz
cd wmglobe-0.5
make
then move wmglobe in /usr/local/bin and man page somewhere or do
then move wmglobe in /usr/local/bin and man page somewhere or do
(as root) :
make install
If it doesn't work, look for the graphic libraries.
If it doesn't work, look for the graphic libraries.
The Makefile is quite crude...
@ -38,13 +38,13 @@ WMGlobe is developped on Linux (WMaker 0.51.0 and linux 2.0.36/ix86).
If you are successful on other platforms, please tell me so.
platforms with successfull built reported :
platforms with successfull built reported :
NetBSD 1.3.2 / SPARC (wmaker 0.20.3) , with Makefile adaptations for libs
Linux 2.0.36 / RedHat 5.1
Linux 2.0.36 / SuSE 5.3 (wmaker 0.20.3) , -lungif -> -lgif
NetBSD 1.3.2 / SPARC (wmaker 0.20.3) , with Makefile adaptations for libs
Linux 2.0.36 / RedHat 5.1
Linux 2.0.36 / SuSE 5.3 (wmaker 0.20.3) , -lungif -> -lgif
Linux 2.2.0-pre4 / Debian :-)
FreeBSD-3.0 with -ltiff -> -ltiff34 and -lungif -> -lgif
FreeBSD-3.0 with -ltiff -> -ltiff34 and -lungif -> -lgif
Solaris 2.6 / Sun Sparc (wmaker 0.20.3) , with Makefile adaptations for libs
AIX 4.2.1 / IBM RS/6000-250 (wmaker 0.50.2)
@ -54,46 +54,46 @@ RPM & DEBIAN linux packages coming soon. Or you can directly use the binary.
compile time problems :
Xlib.h, Xpm.h ... :
If you compile wmglobe on a computer installed with packages (.rpm), you may
Xlib.h, Xpm.h ... :
If you compile wmglobe on a computer installed with packages (.rpm), you may
lack of these header files. Just install the "xxx-dev.rpm" packages for XFree86
and graphics libs, or install a rpm version of wmglobe.
libwraster :
WindowMaker 0.20.3 uses a libwraster.a , so if you use it, you can execute
the binary on a computer without WindowMaker on it, and displaying on a
WindowMaker 0.20.3 uses a libwraster.a , so if you use it, you can execute
the binary on a computer without WindowMaker on it, and displaying on a
remote computer (this one using WindowMaker). WM 0.51.0 creates a dynamic
libwraster.so, so it's necessary to have it on the computer running wmglobe
if you buit WMGlobe with this one. Both versions of WMGlobe run on WM 0.20.3
libwraster.so, so it's necessary to have it on the computer running wmglobe
if you buit WMGlobe with this one. Both versions of WMGlobe run on WM 0.20.3
and 0.51.0
graphic libs :
you can use libgif or libungif. If your version of WindowMaker is built
graphic libs :
you can use libgif or libungif. If your version of WindowMaker is built
without support for some graphic type, you don't need it (just remove it
from the makefile).
This problem may happen with RedHat 5.2, if you get this kind of message,
from the makefile).
This problem may happen with RedHat 5.2, if you get this kind of message,
just add a libtiff to your system :
/usr/local/lib/libwraster.so: undefined reference to `TIFFReadDirectory'
...
make: *** [wmglobe] Error 1
compile time options :
compile time options :
You can modify the file wmgoption.h where many options are set up in defines :
To disable the builtin default map, just comment out the line in wmgoptions.h :
#define DEFMAPOK
to supprim the shift+left/left method of rotate earth, uncomment the lines
#define MOUSE_LAT_FULL
#define MOUSE_LAT_FULL
you can also suppress some options screen in wmgoption.h
Maps
Maps
----------------------------------------
Like XGlobe, WMGlobe needs a longitude/latitude map to work. By default,
it uses a low quality built-in map of earth. But you will probably want
Like XGlobe, WMGlobe needs a longitude/latitude map to work. By default,
it uses a low quality built-in map of earth. But you will probably want
to use better ones.
You can get maps usable with WMGlobe on the net. See the LINKS chapter.
@ -112,37 +112,37 @@ Configuration options
----------------------------------------
Configuration is done through command line options.
-v version
-h short help
-zoom zoom_value Value > 1 to magnify the view, value < 1 to lower.
Default : 1.0
Default : 1.0
-pos latitude long. Initial viewing fixed at this position, don't follow
the sun rotation. Accepted values in the form
45°12'36 or 45.21 or 45:12:36
the sun rotation. Accepted values in the form
45°12'36 or 45.21 or 45:12:36
Default : the initial position is "under" the sun, and
the point of view follows the sun
-rand New random position at every refresh of screen
-map map_file Map used for the rendering. Can be JPEG, GIG, XPM
PNM, TIFF but none BMP
PNM, TIFF but none BMP
Default : use internal map of earth.
-nimap night_file Map used for the dark side of the earth. Must be of
the same width x height as the day side map.
the same width x height as the day side map.
Default : if the default internal day map is used, use
a default internal night file (see -nonimap option).
a default internal night file (see -nonimap option).
If a custom day map is provided, and no night map, the
dark side is computed via the -light option.
-nonimap Don't use the default night map.
-delay seconds Time in seconds between each calculation of a new
-nonimap Don't use the default night map.
-delay seconds Time in seconds between each calculation of a new
position. Limited to 0.04 at compile time (25 frames
per second should be enough). The sun position move
per second should be enough). The sun position move
only once per minute, so if you use wmglobe without
-dlong or -accel option, the CPU cost of WMGlobe is
*very* low. The use of very low value for -delay plus
@ -150,29 +150,29 @@ Configuration is done through command line options.
Default : 1.0 sec.
-dlat delta_latitude Move the point of view by delta_lat degrees per second,
with a value of 6 the earth make a full rotation in
with a value of 6 the earth make a full rotation in
one minute. The value can be formated as -pos option.
Default : 0°0'0
-dlong delta_long Move the point of view by delta_long degrees per
second. With a value of -0°0'15" the earth make a full
rotation in 24 hours toward the west. By default,
-dlong delta_long Move the point of view by delta_long degrees per
second. With a value of -0°0'15" the earth make a full
rotation in 24 hours toward the west. By default,
-dlong and -dlat are null. If they are used, the view
follow their values. Going back to "follow sun" mode
in parameters screen put -dlat and -dlong to zero.
-light light_value Level of light of the dark side when there is no
night map, from 0 to 1.
Default : 0.25
night map, from 0 to 1.
Default : 0.25
-dawn dawn_value Level of continuity for dawn limit, from 0 to 1. With
a value of 1, the border line between night and day is
at maximum contrast.
Default : 0.2
-bord border_num 0 1 or 2. There are 3 different borders for the icon.
-bord border_num 0 1 or 2. There are 3 different borders for the icon.
Default : 0
-accel time_multi Time warp factor. With -accel 24, the sun make a full
rotation in one hour (or the earth, I'm not sure).
Default : 1.0
@ -186,11 +186,11 @@ Configuration is done through command line options.
-fun dx dy Move the earth image by dx dy pixels in the icon. See
puzzle.sh to understand why.
-oz Start in "austral" mode (for "down under" people)
-oz Start in "austral" mode (for "down under" people)
-d display Select another display
-w -shape Useless, since it is set by default (WMaker dockable
-w -shape Useless, since it is set by default (WMaker dockable
application)
mouse :
@ -203,13 +203,13 @@ right button Displays 7 screens of parameters. On every screen, just
clic with left or right button on the figures to change
their value. The TIME screen shows an approximation
of date and time of the earth zone currently displayed,
using GMT time + longitude offset, it's close to the
real local time by one or two hours. Others options
using GMT time + longitude offset, it's close to the
real local time by one or two hours. Others options
don't need more help. Intuitive they said...
Links : Some sites dealing with WindowMaker
Links : Some sites dealing with WindowMaker
-------------------------------------------
Official Window Maker Website :
@ -254,7 +254,7 @@ Livingearth Inc. has some nice (day and night) images on their web pages.
With these you can test the -nightmap option of XEarth. Unfortunately
they are pretty low-res (400x200).
You can find a higher-resolution (but heavily compressed) version of this
day map at the "Earth View" page:
day map at the "Earth View" page:
http://www.fourmilab.ch/cgi-bin/uncgi/Earth
@ -288,7 +288,7 @@ Bugs
- if you use the --enable-single-icon compile time option of WindowMaker,
you can not display more than one WMGlobe.
- WMGlobe hopes that an overflow of a long integer dont generate an error
and that LONG_MAX +1 = LONG_MIN . This happens with high values of -accel
and that LONG_MAX +1 = LONG_MIN . This happens with high values of -accel
when the date go over year 2038. The expected result is wmglobe
continuing smoothly from 1901.
@ -296,8 +296,8 @@ Bugs
License
----------------------------------------
WMGlobe is Copyright (C) 1998,99 by Jerome Dumonteil and licensed through
the GNU General Public License.
WMGlobe is Copyright (C) 1998,99 by Jerome Dumonteil and licensed through
the GNU General Public License.
Read the COPYING file for the complete GNU license.
@ -335,14 +335,14 @@ The code in 'sunpos.cpp' is taken from Xearth by Kirk Lauritz Johnson.
The rendering engine is taken from XGlobe by Thorsten Scheuermann
XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
Raster graphics library by Alfredo K. Kojima, & stuff of Window Maker
Raster graphics library by Alfredo K. Kojima, & stuff of Window Maker
<http://windowmaker.org> by A. K. Kojima, Dan Pascu, Matthew Hawkins & team
Feedback
----------------------------------------
For your questions, bugs, remarks, please contact our representative on
For your questions, bugs, remarks, please contact our representative on
planet Earth : jerome dumonteil <jerome.dumonteil@capway.com>

View file

@ -1,7 +1,7 @@
#!/bin/sh
#just for the fun, solve the puzzle and put it on the clip :)
if [ -x ./wmglobe ]
if [ -x ./wmglobe ]
then
WMG="nice ./wmglobe"
else

View file

@ -4,19 +4,19 @@
*/
/* context.c - X context management
* Raster graphics library
*
*
* Copyright (c) 1997 Alfredo K. Kojima
*
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
*
* This library 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
* Library General Public License for more details.
*
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
@ -31,14 +31,14 @@
* #include <X11/Xlib.h>
* #include <X11/Xutil.h>
* #include <X11/Xatom.h>
*
*
* #include <stdio.h>
* #include <stdlib.h>
* #include <string.h>
* #include <assert.h>
*
*
* #include <math.h>
*
*
* #include "wraster.h"
*/
@ -135,7 +135,7 @@ static XColor *
colors[i].flags = DoRed | DoGreen | DoBlue;
}
}
/* try to allocate close values for the colors that couldn't
/* try to allocate close values for the colors that couldn't
* be allocated before */
avncolors = (1 << ctx->depth > 256 ? 256 : 1 << ctx->depth);
for (i = 0; i < avncolors; i++)
@ -237,7 +237,7 @@ static XColor *
#endif
}
}
/* try to allocate close values for the colors that couldn't
/* try to allocate close values for the colors that couldn't
* be allocated before */
avncolors = (1 << ctx->depth > 256 ? 256 : 1 << ctx->depth);
for (i = 0; i < avncolors; i++)

View file

@ -6,18 +6,18 @@
/* convert.c - convert RImage to Pixmap
* Raster graphics library
*
* Copyright (c) 1997 Alfredo K. Kojima
* Copyright (c) 1997 Alfredo K. Kojima
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
*
* This library 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
* Library General Public License for more details.
*
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

View file

@ -1,16 +1,16 @@
/* WMGlobe 0.5 - All the Earth on a WMaker Icon
* copyright (C) 1998,99 Jerome Dumonteil <jerome.dumonteil@capway.com>
*
*
* 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.
@ -220,7 +220,7 @@ void renderFrame()
RClearImage(small, &noir);
/*
* rotation matrix
* rotation matrix
*/
m11 = cos(v_long);
@ -293,7 +293,7 @@ void renderFrame()
wurzel = sqrt(radikand);
s1 = (-b_coef + wurzel) / (2. * a);
s2 = (-b_coef - wurzel) / (2. * a);
s = (s1 < s2) ? s1 : s2; /* smaller solution belongs to nearer
s = (s1 < s2) ? s1 : s2; /* smaller solution belongs to nearer
* intersection */
@ -381,7 +381,7 @@ void renderFrame()
wurzel = sqrt(soluce[px][py][0]);
s1 = (-b_coef + wurzel) / (2. * a);
s2 = (-b_coef - wurzel) / (2. * a);
s = (s1 < s2) ? s1 : s2; /* smaller solution belongs to nearer
s = (s1 < s2) ? s1 : s2; /* smaller solution belongs to nearer
* intersection */
soluce[px][py][1] = s * dir_x; /* sp = camera pos + s*dir */

View file

@ -160,10 +160,10 @@ static double sun_ecliptic_longitude(time_t ssue)
*/
static void ecliptic_to_equatorial(double lambda, double beta, double *alpha, double *delta)
/*
* double lambda; ecliptic longitude
* double beta; ecliptic latitude
* double *alpha; (return) right ascension
* double *delta; (return) declination
* double lambda; ecliptic longitude
* double beta; ecliptic latitude
* double *alpha; (return) right ascension
* double *delta; (return) declination
*/
{
double sin_e, cos_e;
@ -183,9 +183,9 @@ static void ecliptic_to_equatorial(double lambda, double beta, double *alpha, do
*/
static double julian_date(int y, int m, int d)
/*
* int y; year (e.g. 19xx)
* int m; month (jan=1, feb=2, ...)
* int d; day of month
* int y; year (e.g. 19xx)
* int m; month (jan=1, feb=2, ...)
* int d; day of month
*/
{
int A, B, C, D;

View file

@ -1,27 +1,27 @@
/* WMGlobe 0.5 - All the Earth on a WMaker Icon
* copyright (C) 1998,99 Jerome Dumonteil <jerome.dumonteil@capway.com>
*
*
* 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.
***************************************************************************/
/*
/*
* I used many functions of wmgeneral.c ("openXwindow")
* for the main function of wmglobe.c
* for the main function of wmglobe.c
* wmgeneral.c was taken from wmaker applet wmtune-1.0 :
* Author: Martijn Pieterse (pieterse@xs4all.nl)
*
* wmglobe.c uses functions of : Xglobe, Xearth, wmgeneral, wmaker/wrlib
* wmglobe.c uses functions of : Xglobe, Xearth, wmgeneral, wmaker/wrlib
***************************************************************************/
#include "wmglobe.h"
@ -125,7 +125,7 @@ int main(int argc, char *argv[])
/*
* loading maps .............
*
*
*/
if (dayfile != NULL) {

View file

@ -1,21 +1,21 @@
/* WMGlobe 0.5 - All the Earth on a WMaker Icon
* copyright (C) 1998,99 Jerome Dumonteil <jerome.dumonteil@capway.com>
*
*
* 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.
***************************************************************************/
/* it uses some functions of : Xglobe, Xearth, wmgeneral, wmaker/wrlib
/* it uses some functions of : Xglobe, Xearth, wmgeneral, wmaker/wrlib
***************************************************************************/
@ -125,7 +125,7 @@ double delay, time_multi;
/*
* struct timeval delta_tim, last_tim, next_tim, render_tim, base_tim,
* vec_tim;
*
*
* time_t beg_time, ini_time,t1901;
*/
struct timeval tlast, tnext, trend, tdelay, tini, tbase;

View file

@ -1,16 +1,16 @@
/* WMGlobe 0.5 - All the Earth on a WMaker Icon
* copyright (C) 1998,99 Jerome Dumonteil <jerome.dumonteil@capway.com>
*
*
* 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.
@ -82,6 +82,6 @@
#define DEFAULT_DAWN 0.9
/* change this if not 64x64 icons (not deep tested) you will need to change
the cadrex.xbm too and a few other things for the parameters menus
the cadrex.xbm too and a few other things for the parameters menus
--- DIAMETRE must be a multiple of 2 --- */
#define DIAMETRE 64

View file

@ -1,27 +1,27 @@
/* WMGlobe 0.5 - All the Earth on a WMaker Icon
* copyright (C) 1998,99 Jerome Dumonteil <jerome.dumonteil@capway.com>
*
*
* 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.
***************************************************************************/
/*
/*
* I used many functions of wmgeneral.c ("openXwindow")
* for the main function of wmglobe.c
* for the main function of wmglobe.c
* wmgeneral.c was taken from wmaker applet wmtune-1.0 :
* Author: Martijn Pieterse (pieterse@xs4all.nl)
*
* wmglobe.c uses functions of : Xglobe, Xearth, wmgeneral, wmaker/wrlib
* wmglobe.c uses functions of : Xglobe, Xearth, wmgeneral, wmaker/wrlib
***************************************************************************/
#include "wmglobe.h"
@ -64,7 +64,7 @@ static void move_dlat(int factor);
static void move_dlong(int factor);
/* ------------------------------------------------------------------------ */
/*
* TIME FUNCTIONS
* TIME FUNCTIONS
*/
/* ------------------------------------------------------------------------ */
struct timeval diftimev(struct timeval t1, struct timeval t2)
@ -98,7 +98,7 @@ struct timeval getimev()
return tv;
}
/* ------------------------------------------------------------------------ */
/*
/*
* INIT FUNCTIONS
*
* defaults, commandline
@ -534,7 +534,7 @@ void cmdline(int argc, char *argv[])
/****************************************************************************
* X functions, mouse selection
*
*
*/
/* ------------------------------------------------------------------------ */
@ -591,7 +591,7 @@ int CheckMouseRegion(int x, int y)
/* ------------------------------------------------------------------------ */
/*
* GRAPHIC : pixmap writing of letters & numbers
*
*
*/
/* ------------------------------------------------------------------------ */
static void chiffre(int ch, int xx, int yy)
@ -1013,7 +1013,7 @@ static void display_pos(double la, double lo)
void rotation_terre(int x, int y, int lat_flag)
{
/*
* earth rotate after (while) a clic
* earth rotate after (while) a clic
*/
double mx, my;
mx = (double) ((double) x - DIAMETRE / 2 + 0.5) / zoom * cos(v_lat) * sens;

View file

@ -1,19 +1,19 @@
/*
* Raster graphics library
*
*
* Copyright (c) 1997, 1998 Alfredo K. Kojima
*
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
*
* This library 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
* Library General Public License for more details.
*
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
@ -21,15 +21,15 @@
/*
* Environment variables:
*
*
* WRASTER_GAMMA <rgamma>/<ggamma>/<bgamma>
* gamma correction value. Must be greater than 0
* Only for PseudoColor visuals.
*
*
* Default:
* WRASTER_GAMMA 1/1/1
*
*
*
*
* If you want a specific value for a screen, append the screen number
* preceded by a hash to the variable name as in
* WRASTER_GAMMA#1

View file

@ -1,16 +1,16 @@
/* WMGlobe 0.5.pre1 - All the Earth on a WMaker Icon
* copyright (C) 1998,99 Jerome Dumonteil <jerome.dumonteil@capway.com>
*
*
* 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.

View file

@ -1,6 +1,6 @@
.TH WMGlobe 1 "fevrier 1999"
.SH NAME
WMGlobe - The Whole Earth spinning on you desktop...
WMGlobe - The Whole Earth spinning on you desktop...
as a dockable app for WindowMaker
.SH SYNOPSIS
.B wmglobe
@ -23,9 +23,9 @@ short help
Value > 1 to magnify the view, value < 1 to lower. Default: 1.0
.TP
.B \-pos \fI latitude longitude\fP
Initial viewing fixed at this position, don't follow
Initial viewing fixed at this position, don't follow
the sun rotation. Accepted values in the form 45°12'36 or 45.21 or 45:12:36 .
Default: the initial position is "under" the sun, and
Default: the initial position is "under" the sun, and
the point of view follows the sun.
.TP
.B \-rand
@ -33,48 +33,48 @@ New random position at every refresh of screen.
.TP
.B \-map \fI map_file\fP
Map used for the rendering. Can be JPEG, GIG, XPM
PNM, TIFF but none BMP.
PNM, TIFF but none BMP.
Default: use internal map of earth.
.TP
.B \-nimap \fI night_file\fP
Map used for the dark side of the earth. Must be of
the same width x height as the day side map.
the same width x height as the day side map.
Default: if the default internal day map is used, use
a default internal night file (see -nonimap option).
a default internal night file (see -nonimap option).
If a custom day map is provided, and no night map, the
dark side is computed via the -light option.
.TP
.B \-nonimap
Don't use the default night map.
Don't use the default night map.
.TP
.B \-delay \fI seconds\fP
Time in seconds between each calculation of a new
Time in seconds between each calculation of a new
position. Limited to 0.04 at compile time (25 frames
per second should be enough). The sun position move
per second should be enough). The sun position move
only once per minute, so if you use wmglobe without
-dlong or -accel option, the CPU cost of WMGlobe is
*very* low. The use of very low value for -delay plus
-dlong and -accel can be CPU costly (but very nice...).
-dlong and -accel can be CPU costly (but very nice...).
Default: 1.0 sec.
.TP
.B \-dlat \fI delta_latitude\fP
Move the point of view by delta_lat degrees per second,
with a value of 6 the earth make a full rotation in
with a value of 6 the earth make a full rotation in
one minute. The value can be formated as -pos option.
Default: 0°0'0
.TP
.B \-dlong \fI delta_long\fP
Move the point of view by delta_long degrees per
second. With a value of -0°0'15" the earth make a full
rotation in 24 hours toward the west. By default,
.B \-dlong \fI delta_long\fP
Move the point of view by delta_long degrees per
second. With a value of -0°0'15" the earth make a full
rotation in 24 hours toward the west. By default,
-dlong and -dlat are null. If they are used, the view
follow their values. Going back to "follow sun" mode
in parameters screen put -dlat and -dlong to zero.
.TP
.B \-light \fI light_value\fP
Level of light of the dark side when there is no
night map, from 0 to 1.
Default: 0.25
night map, from 0 to 1.
Default: 0.25
.TP
.B \-dawn \fI dawn_value\fP
Level of continuity for dawn limit, from 0 to 1. With
@ -83,9 +83,9 @@ at maximum contrast.
Default: 0.2
.TP
.B \-bord \fI border_num\fP
0 1 or 2. There are 3 different borders for the icon.
0 1 or 2. There are 3 different borders for the icon.
Default: 0
.TP
.TP
.B \-accel \fI time_multi\fP
Time warp factor. With -accel 24, the sun make a full
rotation in one hour (or the earth, I'm not sure). Default: 1.0
@ -102,13 +102,13 @@ Move the earth image by dx dy pixels in the icon. See
puzzle.sh to understand why.
.TP
.B \-oz
Start in "austral" mode (for "down under" people)
Start in "austral" mode (for "down under" people)
.TP
.B \-d \fI display\fP
Select another display
.TP
.B \-w \-shape
Useless, since it is set by default (WMaker dockable
.B \-w \-shape
Useless, since it is set by default (WMaker dockable
application)
.SH "MOUSE OPTIONS"
.TP
@ -124,27 +124,27 @@ Displays 7 screens of parameters. On every screen, just
clic with left or right button on the figures to change
their value. The TIME screen shows an approximation
of date and time of the earth zone currently displayed,
using GMT time + longitude offset, it's close to the
real local time by one or two hours. Others options
using GMT time + longitude offset, it's close to the
real local time by one or two hours. Others options
don't need more help. Intuitive they said...
.SH "FILES"
.TP
.B MAPS
Like XGlobe, WMGlobe needs a longitude/latitude map to work. By default,
it uses a low quality built-in map of earth. But you will probably want
Like XGlobe, WMGlobe needs a longitude/latitude map to work. By default,
it uses a low quality built-in map of earth. But you will probably want
to use better ones.
You can get maps usable with WMGlobe on the net. See the links below.
using custom maps:
For the image to be mapped correctly, position 0°North 0°West must be in
For the image to be mapped correctly, position 0°North 0°West must be in
the center of the image and the latitude must be linear from 90°N to 90°S.
When using a night map, make sure that day and night map have the same
dimensions.
.TP
.B Links: Where to find maps and similar softs
where to find the sources of wmglobe:
where to find the sources of wmglobe:
the web page of WMGlobe (made by Sylvestre Taburet):
<http://www.capway.com/dumonte1/wm/wmg.html>
@ -163,7 +163,7 @@ XGlobe Homepage: (many links to map of earth)
<http://www.uni-karlsruhe.de/~uddn/xglobe>
Xearth Homepage:
Xearth Homepage:
<http://www.cs.colorado.edu/~tuna/xearth/>
@ -181,16 +181,16 @@ The Window Maker User Guide
The Window Maker FAQ
.SH "AUTHOR"
jerome dumonteil <jerome.dumonteil@capway.com>
jerome dumonteil <jerome.dumonteil@capway.com>
Patches, bug reports, and suggestions are welcome.
.SH "CREDITS"
WMGlobe is Copyright (C) 1998,99 by Jerome Dumonteil and licensed through
the GNU General Public License.
WMGlobe is Copyright (C) 1998,99 by Jerome Dumonteil and licensed through
the GNU General Public License.
Read the COPYING file for the complete GNU license.
Original idea, tests, logos:
Original idea, tests, logos:
Sylvestre Taburet <staburet@consort.fr>
@ -224,7 +224,7 @@ documentation.
The rendering engine is taken from XGlobe by Thorsten Scheuermann
XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
Raster graphics library by Alfredo K. Kojima, & stuff of Window Maker
Raster graphics library by Alfredo K. Kojima, & stuff of Window Maker
<http://windowmaker.org> by A. K. Kojima, Dan Pascu, Matthew Hawkins & team
@ -234,7 +234,7 @@ If you use the --enable-single-icon compile time option of WindowMaker,
you can not display more than one WMGlobe.
WMGlobe hopes that an overflow of a long integer dont generate an error
and that LONG_MAX +1 = LONG_MIN . This happens with high values of -accel
and that LONG_MAX +1 = LONG_MIN . This happens with high values of -accel
when the date go over year 2038. The expected result is wmglobe
continuing smoothly from 1901.

View file

@ -1,7 +1,7 @@
-------------------------------------------------------------------------
You may distribute this program under the terms of the Artistic
License.
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 Artistic
@ -9,8 +9,8 @@ License for more details.
-------------------------------------------------------------------------
wmgtemp is a dock app intended for use with WindowMaker.
It displays the CPU and SYS temperatures (both in numerically and
graphically) of motherboards that use the VIA686A chipset. Currently
It displays the CPU and SYS temperatures (both in numerically and
graphically) of motherboards that use the VIA686A chipset. Currently
this is the only chipset that is supported but I have the intention of
adding support for other chipsets in the future.

View file

@ -6,9 +6,9 @@ o Put proper installation together.
o Add support for more chipsets
o Add abitily to change graph types by clicking on graph area. - DONE
o Add max reached temps, eg click CPU and temp is displayed in a different
colour and displays the maximum temp.(possibly draws a horizontal line in
colour and displays the maximum temp.(possibly draws a horizontal line in
the graph too to indcate where that lies on current graph) - DONE:
Simply changes the colour of the temperature value to red.
Independant clicking of CPU and SYS temps.
o Add ability to exec a program when a given temp is reached. - DONE

View file

@ -135,11 +135,11 @@ int main(int argc, char **argv) {
if(!process_config(argc, argv)) {
exit(-1);
}
if(!init_sensors()) {
exit(-1);
}
/* Get the chip name */
name = sensors_get_detected_chips(NULL, &chip_nr);
while(name != NULL && chip_found == -1) {
@ -173,7 +173,7 @@ int main(int argc, char **argv) {
/* output the name of the sensor if found. */
if(quiet == 0)
printf("wmgtemp: Primary Sensor - %s on %s\n", name->prefix, sensors_get_adapter_name(&name->bus));
if(swap_types) {
if(quiet == 0)
printf("wmgtemp: swapping temps\n");
@ -205,7 +205,7 @@ int main(int argc, char **argv) {
AddMouseRegion(4, 10, SYS_YPOS, 28, SYS_YPOS + 7); /* SYS label area */
AddMouseRegion(5, 55, CPU_YPOS, 60, CPU_YPOS + 7); /* CPU C/K/F scale indicator */
AddMouseRegion(6, 55, SYS_YPOS, 60, SYS_YPOS + 7); /* SYS C/K/F scale indicator */
// Add blanking of SYS and CPU for chip type.
// <<==---
if(!IsOn(SENSOR_DISP, CPU)) {
@ -225,9 +225,9 @@ int main(int argc, char **argv) {
do_sensors(0);
RedrawWindow();
process_xevents();
return 0;
}
@ -272,7 +272,7 @@ void process_xevents() {
XEvent Event;
Status ret;
time_t lastupdate = 0;
ret = XInternalConnectionNumbers(display, &xfds, &fdcount);
if(!ret) {
fdcount = 0;
@ -281,34 +281,34 @@ void process_xevents() {
}
xfds = NULL;
}
int i;
pfds = (struct pollfd*)malloc((fdcount+1)*sizeof(struct pollfd));
if(!pfds) {
perror("malloc");
exit(EXIT_FAILURE);
}
for(i=0; i < fdcount; ++i) {
pfds[i].fd = xfds[i];
pfds[i].events = POLLIN | POLLPRI;
}
if(xfds) {
XFree(xfds);
}
pfds[fdcount].fd = ConnectionNumber(display);
pfds[fdcount].events = POLLIN | POLLPRI;
while(1) {
poll(pfds, fdcount + 1, delay * 1000);
if(time(NULL) - lastupdate >= delay) {
lastupdate = time(NULL);
do_sensors(0);
}
while(XPending(display)) {
XNextEvent(display, &Event);
switch(Event.type) {
@ -338,7 +338,7 @@ void process_xevents() {
if(IsOn(SENSOR_DISP, HIGH_CPU)) {
BitOff(SENSOR_DISP, HIGH_CPU);
blank_max(CPU);
}
}
else {
BitOn(SENSOR_DISP, HIGH_CPU);
draw_max(CPU);
@ -350,7 +350,7 @@ void process_xevents() {
if(IsOn(SENSOR_DISP, HIGH_SYS)) {
BitOff(SENSOR_DISP, HIGH_SYS);
blank_max(SYS);
}
}
else {
BitOn(SENSOR_DISP, HIGH_SYS);
draw_max(SYS);
@ -361,7 +361,7 @@ void process_xevents() {
case 3:
if(SUBFEAT_NUM_CPU) {
if(IsOn(SENSOR_DISP, CPU)) {
BitOff(SENSOR_DISP, CPU);
BitOff(SENSOR_DISP, CPU);
blank_type(CPU);
}
else {
@ -378,7 +378,7 @@ void process_xevents() {
if(IsOn(SENSOR_DISP, SYS)) {
BitOff(SENSOR_DISP, SYS);
blank_type(SYS);
}
}
else {
BitOn(SENSOR_DISP, SYS);
draw_type(SYS);
@ -407,7 +407,7 @@ void do_sensors(int val) {
update_sensor_data();
update_display();
RedrawWindow();
if(execat != 0 && cpu_history[58] >= execat && !execed) {
execed = 1;
execCommand(exec_app);
@ -428,7 +428,7 @@ void update_sensor_data() {
cpu_history[i] = cpu_history[i + 1];
sys_history[i] = sys_history[i + 1];
}
// Read the new values from the sensors into the temperature arrays.
if(IsOn(SENSOR_DISP, SYS)) sensors_get_value(name, SUBFEAT_NUM_SYS, &sys_history[58]);
if(IsOn(SENSOR_DISP, CPU)) sensors_get_value(name, SUBFEAT_NUM_CPU, &cpu_history[58]);
@ -451,7 +451,7 @@ void update_display() {
// Display warning.
draw_warning_lights(cpu_history[58]);
// ReDraw temperature numbers
if(IsOn(SENSOR_DISP, CPU)) {
copyXPMArea(78, 65, 5, 7, 34, CPU_YPOS);
@ -471,7 +471,7 @@ void update_display() {
for(j = 0; j < 59; j++) {
// Clear a line
copyXPMArea(65, 0, 1, 39, j + 2, 12);
if(sys_history[j] < cpu_history[j]) {
// Draw the temperatures on the graph.
if(IsOn(SENSOR_DISP, CPU)) {
@ -490,7 +490,7 @@ void update_display() {
}
}
}
// Draw range lines if needed
if(range_upper > display_max) {
draw_range_line(display_max, range_upper - range_lower, D_MAX);
@ -503,65 +503,65 @@ void update_display() {
int recompute_range(double cpu_high, double cpu_low, double sys_high, double sys_low)
{
short modified = 0;
if(IsOn(SENSOR_DISP, CPU)) {
if(cpu_high > range_upper) {
range_upper += range_step;
modified = 1;
}
if(cpu_low < range_lower) {
range_lower -= range_step;
modified = 1;
}
if(cpu_low < range_lower) {
range_lower -= range_step;
modified = 1;
}
}
if(IsOn(SENSOR_DISP, SYS)) {
if(sys_high > range_upper) {
range_upper += range_step;
modified = 1;
}
if(sys_low < range_lower) {
range_lower -= range_step;
modified = 1;
}
if(sys_low < range_lower) {
range_lower -= range_step;
modified = 1;
}
}
// --------
if(IsOn(SENSOR_DISP, CPU) && IsOn(SENSOR_DISP, SYS)) {
if((cpu_high < (range_upper - range_step) &&
sys_high < (range_upper - range_step)) &&
if((cpu_high < (range_upper - range_step) &&
sys_high < (range_upper - range_step)) &&
(range_upper - range_step) >= display_max) {
range_upper -= range_step;
modified = 1;
}
if((cpu_low > (range_lower + range_step) &&
sys_low > (range_lower + range_step)) &&
(range_lower + range_step) <= display_min ) {
range_lower += range_step;
modified = 1;
}
if((cpu_low > (range_lower + range_step) &&
sys_low > (range_lower + range_step)) &&
(range_lower + range_step) <= display_min ) {
range_lower += range_step;
modified = 1;
}
}
else if(IsOn(SENSOR_DISP, CPU) && !IsOn(SENSOR_DISP, SYS)) {
if(cpu_high < (range_upper - range_step) &&
if(cpu_high < (range_upper - range_step) &&
(range_upper - range_step) >= display_max) {
range_upper -= range_step;
modified = 1;
}
if(cpu_low > (range_lower + range_step) &&
(range_lower + range_step) <= display_min) {
range_lower += range_step;
modified = 1;
}
}
if(cpu_low > (range_lower + range_step) &&
(range_lower + range_step) <= display_min) {
range_lower += range_step;
modified = 1;
}
}
else if(!IsOn(SENSOR_DISP, CPU) && IsOn(SENSOR_DISP, SYS)) {
if(sys_high < (range_upper - range_step) &&
if(sys_high < (range_upper - range_step) &&
(range_upper - range_step) >= display_max) {
range_upper -= range_step;
modified = 1;
}
if(sys_low > (range_lower + range_step) &&
(range_lower + range_step) <= display_min) {
range_lower += range_step;
modified = 1;
}
if(sys_low > (range_lower + range_step) &&
(range_lower + range_step) <= display_min) {
range_lower += range_step;
modified = 1;
}
}
@ -630,7 +630,7 @@ void draw_temp(short value, int type) {
copyXPMArea((digit * 6) + 1, 65, 5, 7, 34, type == CPU ? CPU_YPOS : SYS_YPOS);
}
}
}
}
}
@ -852,7 +852,7 @@ int process_config(int argc, char **argv) {
{ "sensorconf", &rc_config },
{ NULL, NULL }
};
static struct option long_options[] = {
{"graph", required_argument, 0, 'g'},
{"scale", required_argument, 0, 's'},
@ -872,7 +872,7 @@ int process_config(int argc, char **argv) {
{"help", no_argument, 0, 'h'},
{0, 0, 0, 0}
};
p = getenv("HOME");
strcpy(temp, p);
strcat(temp, "/.wmgtemprc");

View file

@ -24,7 +24,7 @@ How I install it?
License?
========
wmomikuzi is based on libdock and other GPL'ed software.
wmomikuzi is based on libdock and other GPL'ed software.
This program is distributed under the GPL license.
@ -62,7 +62,7 @@ How do I read the messages?
@
@@@@@@@@@ SUE afterwards
@
@
@@@@@@@
@@@
@ @ @
@ -71,7 +71,7 @@ How do I read the messages?
@
@@@@@@@ KICHI good luck
@
@
@@@@@
@@@@@

View file

@ -91,9 +91,9 @@ main(int argc, char **argv)
sizeof(options)/sizeof(DAProgramOption),
"dockapp that predict your luck", "wmomikuzi 0.122");
DAInitialize(displayName, "wmomikuzi", 64, 64, argc, argv);
DAInitialize(displayName, "wmomikuzi", 64, 64, argc, argv);
pixmap = DAMakePixmap();
/* making pixmaps for the panel */
DAMakePixmapFromData(back_xpm, &back_pixmap, &back_mask, &w, &h);
DAMakePixmapFromData(button_pressed_xpm, &button_pressed_pixmap, NULL, &w, &h);
@ -118,7 +118,7 @@ main(int argc, char **argv)
srand(time(0L) * (getpid()));
i = 0;
j = rand() / (RAND_MAX / 6 + 1) + 18;
/* draws the button part */
XCopyArea(DADisplay, back_pixmap, pixmap, gc, 0, 44, 64, 64, 0, 44);
@ -142,7 +142,7 @@ main(int argc, char **argv)
XCopyArea(DADisplay, daikyou_pixmap, pixmap, gc, 0, 0, 64, 39, 5, 5);
}
DASetPixmap(pixmap);
usleep(USLEEP);
/* j is the destination number */

View file

@ -2,7 +2,7 @@
Time-stamp: <00/05/15 23:33:49 friedel>
(Note: don't get confused, the dates in this file are in german-locale (de_DE),
because i was too lazy to use something else than
because i was too lazy to use something else than
ctrl-u meta-! date... but the timestamp is in C locale...)
0.6.1: <Mon Mai 15 23:15:29 CEST 2000>

View file

@ -45,13 +45,13 @@ INSTALLATION:
and in case you want to delete the Sourcetree, you might want to copy the
README to /usr/doc/wmswallow
Now try
Now try
wmswallow -h
to get a basic idea how it works.
USE:
++++
Then some things you might try out are:
Then some things you might try out are:
(i.e. lots of)
EXAMPLES:
=========
@ -93,7 +93,7 @@ USE:
little annoying, so wmload is a better choice)
------- wmswallow -focus XTerm
(Weeelll...
(Weeelll...
1. wmswallow can swallow apps without starting them
2. it takes the first it gets
3. swallowed apps can take keyboard focus now! (Is that useful? I doubt

View file

@ -58,7 +58,7 @@ TODO:
click works only on the surface of the swallowed window:
(Obviously, because the rest of the area belongs to the
dock... Or can that be redeemed?)
dock... Or can that be redeemed?)
===============================================================================
@ -79,7 +79,7 @@ DONE:
Somehow handle shaped windows (Like xeyes)
-> Ok, even resizing works
Option: -updateshape (or similar) for apps that change their shape
Option: -updateshape (or similar) for apps that change their shape
(like oclock -transparent)
-> is done by default behaviour! :-)
@ -89,8 +89,8 @@ DONE:
Better command-line switch handling. Following commandline-switches:
-noshape/-shape : Switch shape functionality on or off
-getclick: Define commandline to exec when window is clicked
-geometry: Define geometry of swallowed application!
-getclick: Define commandline to exec when window is clicked
-geometry: Define geometry of swallowed application!
(Size is useful, position as well, to adjust asclock)
-id: Give Window-id to swallow
@ -103,7 +103,7 @@ DONE:
2 lines...) :-)
The currently focused window flickers, when the shape gets updated.
This is especially strong with
This is especially strong with
wmswallow xdaliclock xdaliclock -24 -transparent -cycle \
-geometry 61x61 -fn fixed -oink-oink
This also interferes with focus, and it can be seen that the shape

View file

@ -1,7 +1,7 @@
/* wmswallow.c */
/* #define DEBUG 1 */
/* Sometimes i want to get quick access to this flag :-)*/
/* Sometimes i want to get quick access to this flag :-)*/
/* Time-stamp: <00/05/15 23:13:43 friedel> */
@ -38,7 +38,7 @@ typedef unsigned long Pixel; /* Index into colormap */
/* Now we got rid of that stupid libXpm dependency :-) */
#define WIDTH 55
#define HEIGHT 57
#define HEIGHT 57
/* 55x57 seems to be the default size for a WindowMaker dockapp */
/* settable by "-geometry" switch */
@ -83,7 +83,7 @@ int shape=TRUE;
int focus=FALSE;
int unmanaged=FALSE;
int winid=0;
char *display_name=NULL;
char *display_name=NULL;
int main(int argc,char *argv[])
{
@ -110,11 +110,11 @@ int main(int argc,char *argv[])
fflush(stderr);
#endif
if (!(dpy = XOpenDisplay(display_name))) {
fprintf(stderr,"wmswallow: can't open display %s\n",
XDisplayName(display_name));
exit (1);
}
if (!(dpy = XOpenDisplay(display_name))) {
fprintf(stderr,"wmswallow: can't open display %s\n",
XDisplayName(display_name));
exit (1);
}
screen=DefaultScreen(dpy);
Root=RootWindow(dpy, screen);
@ -122,7 +122,7 @@ int main(int argc,char *argv[])
if (remainargc>1) {
winid=startandfind(remainargc-1, argv+remainarg+1, argv[remainarg]);
if (winid==0) {
perror("wmswallow: startandfind failed");
perror("wmswallow: startandfind failed");
/* Real error handling in execstuff()*/
exit (1);
}
@ -137,7 +137,7 @@ int main(int argc,char *argv[])
fore_pix=GetColor("black");
XWMGeometry(dpy, screen, geometry, NULL, (borderwidth =1),
&mysizehints, &mysizehints.x, &mysizehints.y,
&mysizehints.width, &mysizehints.height, &i);
&mysizehints.width, &mysizehints.height, &i);
mysizehints.width=WIDTH;
mysizehints.height=HEIGHT;
if (geometry!=NULL) {
@ -145,10 +145,10 @@ int main(int argc,char *argv[])
fprintf(stderr,"Setting geometry to: %s\n",geometry);
fflush(stderr);
#endif
XParseGeometry(geometry, &mysizehints.x, &mysizehints.y,
XParseGeometry(geometry, &mysizehints.x, &mysizehints.y,
&mysizehints.width, &mysizehints.height);
}
win=XCreateSimpleWindow(dpy, Root, mysizehints.x, mysizehints.y,
mysizehints.width, mysizehints.height, borderwidth,
fore_pix, back_pix);
@ -174,21 +174,21 @@ int main(int argc,char *argv[])
mywmhints.window_group = win;
mywmhints.flags = StateHint | IconWindowHint |
IconPositionHint | WindowGroupHint;
XSetWMHints(dpy, win, &mywmhints);
XSetWMHints(dpy, win, &mywmhints);
XSetCommand(dpy, win, argv, argc);
if (winid==0) {
swallowed=findnamedwindow(argv[remainarg]); /* Find which window to
swallow*/
#ifdef DEBUG
fprintf(stderr,"%s has Window-id 0x%lx\n", argv[remainarg], swallowed);
fprintf(stderr,"%s has Window-id 0x%lx\n", argv[remainarg], swallowed);
fflush(stderr);
#endif
#endif
}
else
swallowed=winid;
/* "Swallow" it */
XReparentWindow(dpy, swallowed, iconwin, 0, 0);
if (getclick) {
@ -246,7 +246,7 @@ int main(int argc,char *argv[])
FlushWindow();
XMapRaised(dpy,swallowed);
/* the following Produces "focus-flicker" */
/* XMapSubwindows(dpy,win); */
/* XMapSubwindows(dpy,win); */
/* XMapWindow(dpy,win); */
}
break;
@ -263,13 +263,13 @@ int main(int argc,char *argv[])
case DestroyNotify:
XCloseDisplay(dpy);
exit(0);
exit(0);
default:
#ifdef DEBUG
/* fprintf (stderr, "wmswallow: Got Some Other Event\n");
fflush(stderr); */
#endif
break;
break;
}
}
XFlush(dpy);
@ -284,7 +284,7 @@ int main(int argc,char *argv[])
/* attributes.override_redirect=FALSE; */
/* attributes.event_mask=SW_EVENTS|MW_EVENTS; */
/* attributes.do_not_propagate_mask=0; */
/* XChangeWindowAttributes(dpy, w, */
/* CWOverrideRedirect|CWEventMask|CWDontPropagate, */
/* &attributes); */
@ -316,11 +316,11 @@ int sendexpose (Window w) {
}
void stealshape(Window w) {
XShapeCombineShape (dpy, iconwin, ShapeBounding, 0, 0, w,
XShapeCombineShape (dpy, iconwin, ShapeBounding, 0, 0, w,
ShapeBounding, ShapeSet);
/* XShapeCombineShape (dpy, win, ShapeBounding, 0, 0, w, */
/* ShapeBounding, ShapeSet); */
/*Re-read specs! */
/*Re-read specs! */
/* XShapeCombineShape (dpy, win, ShapeClip, 0, 0, w, */
/* ShapeClip, ShapeSet); */
/* XShapeCombineShape (dpy, iconwin, ShapeClip, 0, 0, w, */
@ -355,9 +355,9 @@ Pixel GetColor(char *name)
XWindowAttributes attributes;
XGetWindowAttributes(dpy,Root,&attributes);
color.pixel=0;
if (!XParseColor(dpy,attributes.colormap,name,&color))
if (!XParseColor(dpy,attributes.colormap,name,&color))
nocolor("parse",name);
else if(!XAllocColor (dpy,attributes.colormap,&color))
else if(!XAllocColor (dpy,attributes.colormap,&color))
nocolor("alloc",name);
return color.pixel;
}
@ -382,9 +382,9 @@ void usage(char *progname){
" -focus: Window should take focus\n"
" -nofocus: Window shouldn't take focus(default)\n"
" -managed: Assume window is managed by the\n"
" windowmanager (default)\n"
" windowmanager (default)\n"
" -unmanaged: Assume window is not managed by the\n"
" windowmanager\n"
" windowmanager\n"
" -getclick <string>: on mouseclick, execute <string>\n"
" instead of passing the Event to the\n"
" swallowed window.\n"
@ -407,7 +407,7 @@ int parseargs(int argc, char *argv[]){
!strncmp(argv[argnum],"--",2)) {
usage(argv[0]);
exit(0);
} else if (!strcmp(argv[argnum],"-geometry")||
} else if (!strcmp(argv[argnum],"-geometry")||
!strcmp(argv[argnum],"-geom"))
geometry=argv[++argnum];
else if (!strcmp(argv[argnum],"-display"))
@ -524,13 +524,13 @@ Window startandfind (int argc, char *oldargv[], char* class) {
"0x%lx\n", wintmp);
fflush(stderr);
#endif
waitformap(winreturn);
/* Ok, the window has been created, Reparented by WindowMaker and mapped */
/* What else can we do to make sure the window was created? */
sleep(1); /* doze just a sec, should be more than enough in any case */
return winreturn;
}
@ -540,12 +540,12 @@ int execstuff (int argc, char *oldargv[]) {
int i, success, forked;
argv=(char **)malloc((argc+1)*sizeof(char *));
for (i=0; i<argc; i++) {
argv[i]=oldargv[i];
}
argv[i]=NULL;
forked=fork();
if (forked==-1) {
perror("Could not fork");
@ -561,7 +561,7 @@ int execstuff (int argc, char *oldargv[]) {
printlist(stderr, "Could not execute:", argv);
fprintf(stderr, "\n");
exit(1);
}
}
} /* Removed the sleep, since it keeps us from getting the Create Event */
free(argv);
return(TRUE);
@ -617,7 +617,7 @@ Window findnamedwindowacc (char *class, Window window) {
if (checkwindow(window, class))
return window;
if (XQueryTree (dpy, window, &root_return, &parent_return,
&children_return, &nchildren_return)&&nchildren_return>0) {
for
@ -638,9 +638,9 @@ Window findnamedwindowacc (char *class, Window window) {
int checkwindow (Window window, char *class) {
XClassHint class_hints;
XTextProperty prop;
int found=0;
class_hints.res_name = class_hints.res_class = prop.value =(char *) NULL;
/* Check WM_CLASS properties name and class */
@ -666,7 +666,7 @@ int checkwindow (Window window, char *class) {
prop.value);
fflush(stderr);
#endif
/* Clean up */
if (prop.value)
XFree(prop.value);

View file

@ -18,17 +18,17 @@ BuildRoot: /var/tmp/%{name}-root
#Patch: %{name}-%{ver}.patch
%description
- wmswallow was mainly created to swallow coolmail in the WindowMaker dock, but it can
swallow about any X-window you conceive.
- The window may receive mouseclicks,
swallow about any X-window you conceive.
- The window may receive mouseclicks,
- for windows that do not get mouseclicks (like xload or xeyes), you can specify a
shell-command to execute on a click.
shell-command to execute on a click.
- The geometry for the swallowed app can be specified. Only HEIGHTxWIDTH are used,
however.
however.
- Applications can be started on wmswallows commandline. An already running window
can be swallowed, either by name, class or directly by window-id
- The window may receive keyboard-focus, if you specify the "-focus" switch.
can be swallowed, either by name, class or directly by window-id
- The window may receive keyboard-focus, if you specify the "-focus" switch.
- Even windows (like xteddy or wine) that hide from the windowmanager can be
swallowed with the -unmanaged switch
swallowed with the -unmanaged switch
%changelog
%prep

View file

@ -16,7 +16,7 @@ property".
WMTETRIS IS PROVIDED "AS IS", AND COMES WITH NO WARRANTY WHATSOEVER,
INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTEES OF NOT MAKING YOU
FEEL LIKE A JERK FOR DOWNLOADING CRAPPY SOFTWARE, AND OF NOT CAUSING A
CULT FOLLOWING TO DEVELOP ;-).
CULT FOLLOWING TO DEVELOP ;-).
Comments, questions, and psychiatric referrals to srs25@cornell.edu.

View file

@ -221,7 +221,7 @@ int main(int argc, char *argv[]) {
int which_button(int x, int y) {
int i;
for (i = BUTTONC - 1; i >= 0; i--) {
if ((buttons[i][0] <= x && x < buttons[i][2]) &&
(buttons[i][1] <= y && y < buttons[i][3]))
@ -282,8 +282,8 @@ void full_refresh() {
copyXPMArea(0, 64 + BLOCK_SIZE * (board[x][y] - 1), BLOCK_SIZE, BLOCK_SIZE,
BOARD_POS_X + BLOCK_SIZE * x, BOARD_POS_Y + BLOCK_SIZE * y);
else
copyXPMArea(64 + BOARD_POS_X + BLOCK_SIZE * x, BOARD_POS_Y + BLOCK_SIZE * y,
BLOCK_SIZE, BLOCK_SIZE,
copyXPMArea(64 + BOARD_POS_X + BLOCK_SIZE * x, BOARD_POS_Y + BLOCK_SIZE * y,
BLOCK_SIZE, BLOCK_SIZE,
BOARD_POS_X + BLOCK_SIZE * x, BOARD_POS_Y + BLOCK_SIZE * y);
}

View file

@ -208,7 +208,7 @@ config.h: stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
$(srcdir)/config.h.in: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1
touch $@

View file

@ -195,7 +195,7 @@ uninstall-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
wmThemeCh$(EXEEXT): $(wmThemeCh_OBJECTS) $(wmThemeCh_DEPENDENCIES)
wmThemeCh$(EXEEXT): $(wmThemeCh_OBJECTS) $(wmThemeCh_DEPENDENCIES)
@rm -f wmThemeCh$(EXEEXT)
$(LINK) $(wmThemeCh_LDFLAGS) $(wmThemeCh_OBJECTS) $(wmThemeCh_LDADD) $(LIBS)

View file

@ -21,7 +21,7 @@ create_list ()
list->item = malloc (BASE_SIZE * sizeof (int) );
list->size = BASE_SIZE;
list->used = 0;
return list;
}

View file

@ -22,8 +22,8 @@
/*
* Delay between refreshes (in microseconds)
/*
* Delay between refreshes (in microseconds)
*/
#define DELAY 10000L
@ -311,7 +311,7 @@ theme_specific_cat (char * path, LIST * cat_list)
}
/* Read "categories" file in path.
* Themes in path and its subdirs are belonging to categories listed
* Themes in path and its subdirs are belonging to categories listed
* in that file if these categories are defined by user profile.
* Updates cat_list accordingly.
*/
@ -487,7 +487,7 @@ BuildDatabase ()
for (dir_idx=0; dir_idx < 4; dir_idx++) {
get_themes ( themes_dir[dir_idx], NULL);
get_wallpapers (wallpapers_dir[dir_idx], NULL);
get_wallpapers (wallpapers_dir[dir_idx], NULL);
}
return 0;
@ -546,11 +546,11 @@ DrawPixmap (char * XpmFileName)
copyXPMArea(4, 4, 56, 56, 4, 4); /* Clear window */
if (havePixmap) {
/*
* free up the colors, if we alloc'd some before
/*
* free up the colors, if we alloc'd some before
*/
if (Attributes.nalloc_pixels > 0)
XFreeColors(display, cmap, Attributes.alloc_pixels,
if (Attributes.nalloc_pixels > 0)
XFreeColors(display, cmap, Attributes.alloc_pixels,
Attributes.nalloc_pixels, 0);
/*
* Free last pixmap -- we dont need it anymore...
@ -653,7 +653,7 @@ ChangeTheme ()
case 1 : val = 0; break;
default :
fd = open ("/dev/random", O_RDONLY);
/* We're disallowing "changing" to the same */
read (fd, &val, sizeof (int) );
val = val % (i - 1);
@ -664,7 +664,7 @@ ChangeTheme ()
}
switch ( ( (struct theme *) get_item (cur_cat->themes, val) ) -> type) {
case THEME :
case THEME :
sprintf (Command, "setstyle \"%s\"", ( (struct theme *)
get_item (cur_cat->themes, val) ) -> path);
break;
@ -805,7 +805,7 @@ main (int argc, char *argv[])
}
/* TODO : use sigsuspend */
while (1) {
ProcessXEvents ();
delay_timer += DELAY;

View file

@ -123,7 +123,7 @@ static void GetXPM(XpmIcon *wmgen, char *pixmap_bytes[]) {
err = XpmCreatePixmapFromData(display, Root, pixmap_bytes, &(wmgen->pixmap),
&(wmgen->mask), &(wmgen->attributes));
if (err != XpmSuccess) {
fprintf(stderr, "Not enough free colorcells.\n");
exit(1);
@ -170,9 +170,9 @@ static int flush_expose(Window w) {
\*******************************************************************************/
void RedrawWindow(void) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
0,0, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -184,9 +184,9 @@ void RedrawWindow(void) {
\*******************************************************************************/
void RedrawWindowXY(int x, int y) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
x,y, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -280,12 +280,12 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
int i;
for (i=1; argv[i]; i++) {
if (!strcmp(argv[i], "-display"))
if (!strcmp(argv[i], "-display"))
display_name = argv[i+1];
}
if (!(display = XOpenDisplay(display_name))) {
fprintf(stderr, "%s: can't open display %s\n",
fprintf(stderr, "%s: can't open display %s\n",
wname, XDisplayName(display_name));
exit(1);
}
@ -310,10 +310,10 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
mysizehints.width = 64;
mysizehints.height = 64;
win = XCreateSimpleWindow(display, Root, 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);
@ -334,7 +334,7 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
XSetWMName(display, win, &name);
/* Create GC for drawing */
gcm = GCForeground | GCBackground | GCGraphicsExposures;
gcv.foreground = fore_pix;
gcv.background = back_pix;

View file

@ -1,5 +1,5 @@
Author:
Author:
Tomasz Maka <pasp@ll.pl>
Borrowed code:

View file

@ -1,7 +1,7 @@
0.1.2 (25-06-2003)
* command line options was replaced by a config file
* now, we can run up to 3 programs on double-click
* now, we can run up to 3 programs on double-click
(based on patch by Alan Jurgensen)
0.1.1 (14-04-2002)

View file

@ -1,5 +1,5 @@
WMTUNLO
WMTUNLO
========
It is one of the useless dockapp ever made, so use it or not....
@ -7,7 +7,7 @@ It is one of the useless dockapp ever made, so use it or not....
The configuration file is stored in $HOME/.clay/ directory.
There are 8 examples named 'wmtunlorc.example1' thru 'wmtunlorc.example8'.
To test these examples rename selected file to 'wmtunlorc' and put it into
To test these examples rename selected file to 'wmtunlorc' and put it into
$HOME/.clay/ directory, then run wmtunlo.
You can assign three programs to run when double-click is performed (look at

View file

@ -3,7 +3,7 @@
/* made from scratch */
/*--------------------------------*/
/*
/*
functions were written by following People:
--- linked list
@ -37,7 +37,7 @@
/* Return a cons cell produced from (head . tail) */
INLINE LinkedList*
INLINE LinkedList*
list_cons(void* head, LinkedList* tail)
{
LinkedList* cell;
@ -62,7 +62,7 @@ list_length(LinkedList* list)
return i;
}
/* Return the Nth element of LIST, where N count from zero. If N
/* Return the Nth element of LIST, where N count from zero. If N
larger than the list length, NULL is returned */
INLINE void*
@ -83,7 +83,7 @@ list_nth(int index, LinkedList* list)
INLINE void
list_remove_head(LinkedList** list)
{
if (!*list) return;
if (!*list) return;
if ((*list)->tail)
{
LinkedList* tail = (*list)->tail; /* fetch next */
@ -101,7 +101,7 @@ INLINE LinkedList *
list_remove_elem(LinkedList* list, void* elem)
{
LinkedList *tmp;
if (list) {
if (list->head == elem) {
tmp = list->tail;
@ -158,7 +158,7 @@ list_mapcar(LinkedList* list, void(*function)(void*))
*----------------------------------------------------------------------
* parse_command--
* Divides a command line into a argv/argc pair.
*----------------------------------------------------------------------
*----------------------------------------------------------------------
*/
#define PRC_ALPHA 0
#define PRC_BLANK 1
@ -194,11 +194,11 @@ next_token(char *word, char **next)
t = ret = malloc(strlen(word)+1);
ptr = word;
state = 0;
*t = 0;
while (1) {
if (*ptr==0)
if (*ptr==0)
ctype = PRC_EOS;
else if (*ptr=='\\')
ctype = PRC_ESCAPE;
@ -228,12 +228,12 @@ next_token(char *word, char **next)
t = strdup(ret);
free(ret);
if (ctype==PRC_EOS)
*next = NULL;
else
*next = ptr;
return t;
}
@ -248,7 +248,7 @@ parse_command(char *command, char ***argv, int *argc)
line = command;
do {
token = next_token(line, &line);
if (token) {
if (token) {
list = list_cons(token, list);
}
} while (token!=NULL && line!=NULL);
@ -271,15 +271,15 @@ execCommand(char *command)
int argc;
parse_command(command, &argv, &argc);
if (argv==NULL) {
return 0;
}
if ((pid=fork())==0) {
char **args;
int i;
args = malloc(sizeof(char*)*(argc+1));
if (!args)
exit(10);
@ -385,7 +385,7 @@ static void GetXPM(XpmIcon *wmgen, char *pixmap_bytes[]) {
err = XpmCreatePixmapFromData(display, Root, pixmap_bytes, &(wmgen->pixmap),
&(wmgen->mask), &(wmgen->attributes));
if (err != XpmSuccess) {
fprintf(stderr, "Not enough free colorcells.\n");
exit(1);
@ -432,9 +432,9 @@ static int flush_expose(Window w) {
\*******************************************************************************/
void RedrawWindow(void) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
0,0, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -446,9 +446,9 @@ void RedrawWindow(void) {
\*******************************************************************************/
void RedrawWindowXY(int x, int y) {
flush_expose(iconwin);
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
x,y, wmgen.attributes.width, wmgen.attributes.height, 0,0);
flush_expose(win);
XCopyArea(display, wmgen.pixmap, win, NormalGC,
@ -542,12 +542,12 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
int i;
for (i=1; argv[i]; i++) {
if (!strcmp(argv[i], "-display"))
if (!strcmp(argv[i], "-display"))
display_name = argv[i+1];
}
if (!(display = XOpenDisplay(display_name))) {
fprintf(stderr, "%s: can't open display %s\n",
fprintf(stderr, "%s: can't open display %s\n",
wname, XDisplayName(display_name));
exit(1);
}
@ -572,10 +572,10 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
mysizehints.width = 64;
mysizehints.height = 64;
win = XCreateSimpleWindow(display, Root, 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);
@ -596,7 +596,7 @@ void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bit
XSetWMName(display, win, &name);
/* Create GC for drawing */
gcm = GCForeground | GCBackground | GCGraphicsExposures;
gcv.foreground = fore_pix;
gcv.background = back_pix;
@ -671,7 +671,7 @@ void* p_prefs_openfile (char *filename, int openmode)
prefs_filehandle = fopen (filename, "rb");
else if (openmode == P_WRITE)
prefs_filehandle = fopen (filename, "wb");
return prefs_filehandle;
}
@ -724,20 +724,20 @@ static char prfline[MAX_LINE_LEN];
int i;
char c;
fseek (prefs_filehandle, 0, SEEK_SET);
fseek (prefs_filehandle, 0, SEEK_SET);
while (!feof (prefs_filehandle)) {
i = 0;
while (((c = fgetc (prefs_filehandle)) != crlf_char) && c!= EOF && i < MAX_LINE_LEN)
prfline[i++] = c;
prfline[i] = null_char;
if (prfline[0] != '#')
if (!strncmp (tagname, prfline, strlen (tagname))) break;
}
return prfline;
}
@ -753,7 +753,7 @@ int i;
if ((valpos = strchr (p_prefs_get_line_with_tag (tagname), '='))) {
while((c = valpos[i+1]) != null_char && i < MAX_VALUE_LEN) valuestr[i++] = c;
}
valuestr[i] = null_char;
return valuestr;
}
@ -802,7 +802,7 @@ int len;
(int)(len-maxlength), src);
len = maxlength;
}
memcpy(dest, src, len);
dest[len] = 0;
return dest;
@ -831,7 +831,7 @@ int src_len, dest_len;
(int)(src_len + dest_len - maxlength), src);
src_len = maxlength - dest_len;
}
memcpy(&dest[dest_len], src, src_len);
dest[dest_len + src_len] = 0;
return dest;

View file

@ -3,7 +3,7 @@
/* made from scratch */
/*--------------------------------*/
/*
/*
functions were written by following People:
--- linked list

View file

@ -88,7 +88,7 @@ unsigned char *Image, *Texture, *Tunnel_map;
/* Read preferences */
wmtunlo_read_prefs();
wmtunlo_read_prefs();
/* Open window */
openXwindow(argc, argv, dock_master, dock_mask_bits, dock_mask_width, dock_mask_height);
@ -175,7 +175,7 @@ unsigned char *Image, *Texture, *Tunnel_map;
px = atan2(yz,xz) * 128.0 / M_PI;
result = (int)py * 256 + (int)px;
Tunnel_map[k++]= result&0xff;
Tunnel_map[k++]= result&0xff;
Tunnel_map[k++]= result>>8;
Tunnel_map[k++]= shade&0xff;
}
@ -184,13 +184,13 @@ unsigned char *Image, *Texture, *Tunnel_map;
Texture = (unsigned char *)malloc(sizeof(unsigned char)*256*256);
for(i=0,q=1;i<256;i+=tex_block_h, q*=-1)
for(j=0,p=q;j<256;j+=tex_block_w, p*=-1)
for(j=0,p=q;j<256;j+=tex_block_w, p*=-1)
for(l=0;l<tex_block_h;l++)
for(k=0;k<tex_block_w;k++)
if((j+k < 256) && (i+l < 256)) {
if(p>0)
Texture[(i+l)*256+j+k] = t_color_1;
else
else
Texture[(i+l)*256+j+k] = t_color_2;
}
@ -331,7 +331,7 @@ void ButtonPressEvent(XButtonEvent *xev){
/*----------------------------------------------------------------------*/
/* Write preferences */
void wmtunlo_write_prefs(void)
void wmtunlo_write_prefs(void)
{
if (p_prefs_openfile (p_getfilename_config (".clay", "wmtunlorc"), P_WRITE)) {
@ -362,14 +362,14 @@ void wmtunlo_write_prefs(void)
p_prefs_put_string("command3", ClickCommand3);
}
p_prefs_closefile ();
}
/*----------------------------------------------------------------------*/
/* Read preferences */
void wmtunlo_read_prefs(void)
void wmtunlo_read_prefs(void)
{
if (p_prefs_openfile (p_getfilename_config(".clay", "wmtunlorc"), P_READ)) {
@ -398,9 +398,9 @@ void wmtunlo_read_prefs(void)
strcpy(ClickCommand1, p_prefs_get_string ("command1"));
strcpy(ClickCommand2, p_prefs_get_string ("command2"));
strcpy(ClickCommand3, p_prefs_get_string ("command3"));
p_prefs_closefile ();
} else {
shade_switch = 1;

View file

@ -1,6 +1,6 @@
CC = gcc
CFLAGS = -O2 -Wall -I/usr/X11R6/include -DVIDEO_DEV=\"/dev/video\"
LDFLAGS =
LDFLAGS =
LIBS = -L/usr/X11R6/lib -lX11 -lXext -lm -ljpeg
OBJS = minirgb.o wmwebcam.o

View file

@ -159,7 +159,7 @@ void minirgb_draw(Window drawable, GC gc, int x, int y, int width,
}
#ifdef VERBOSE
printf("minirgb: image %p %dx%d (bpp: %d, bpl: %d)\n", image, width, height, bpp, image->bytes_per_line);
#endif
#endif
image->data = malloc(image->bytes_per_line * height);
if (!image->data) {
fprintf(stderr, "minirgb: allocation error\n");

View file

@ -1,89 +1,89 @@
#define wmwebcam_mask_width 128
#define wmwebcam_mask_height 64
static char wmwebcam_mask_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -203,11 +203,11 @@ get_image (int dev, int width, int height,int *size)
void
put_image_jpeg (char *image, int width, int height, int quality)
{
{
FILE *output;
int y, x, line_width;
JSAMPROW row_ptr[1];
int y, x, line_width;
JSAMPROW row_ptr[1];
struct jpeg_compress_struct cjpeg;
struct jpeg_error_mgr jerr;
char *line;