./fookb-3.0/0042755000175000017500000000000007475431336011347 5ustar wartwart./fookb-3.0/1.xpm0100644000175000017500000001440606773400154012227 0ustar wartwart/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "48 48 94 2", " c #070606", ". c #0c0b0b", "X c #100f0f", "o c Gray9", "O c #1f1d1d", "+ c #211f1f", "@ c #242323", "# c #2b2929", "$ c #343232", "% c #3f3d3d", "& c #1c1074", "* c #3c3656", "= c #413f3f", "- c #464444", "; c #4a4747", ": c #4f4c4c", "> c #575454", ", c #5f5b5b", "< c #615e5e", "1 c #666363", "2 c #6b6767", "3 c #6f6b6b", "4 c #726e6e", "5 c #726d7d", "6 c #777373", "7 c #7b7777", "8 c #7e7a7a", "9 c #1500b8", "0 c #302295", "q c #1d05d1", "w c #1900db", "e c #1d00fc", "r c #240cd7", "t c #2308f3", "y c #2a0ef9", "u c #2c10fc", "i c #3a20fb", "p c #4329fb", "a c #482ffb", "s c #5a4da1", "d c #5a42fa", "f c #6852fa", "g c #745ff6", "h c #7762f9", "j c #837e7e", "k c #fc0000", "l c #fc1010", "z c #fc2f2f", "x c #fd4242", "c c #fd6262", "v c #fd7171", "b c #8571f9", "n c #868282", "m c #8c8787", "M c #8f8a8a", "N c #948f8f", "B c #979292", "V c #9b9595", "C c #9f9a9a", "Z c #a59f9f", "A c #a7a1a1", "S c #aaa4a4", "D c #aea8a8", "F c #b5aeae", "G c #beb7b7", "H c #9080e4", "J c #9785f8", "K c #9d8bf8", "L c #a493f7", "P c #a594f8", "I c #aa9af8", "U c #b3a3f7", "Y c #c6bfbf", "T c #fd8585", "R c #fd9494", "E c #fdb4b4", "W c #c2b4f7", "Q c #c0c0c0", "! c #cec7c7", "~ c #d7cfcf", "^ c #dfd7d7", "/ c #d4c7f6", "( c #e7dede", ") c #fec7c7", "_ c #e2d6f6", "` c #eee6e6", "' c #efe5f5", "] c #f7efef", "[ c #fee6e6", "{ c #f8efef", "} c #f0e6f5", "| c #fef5f5", " . c Gray100", ".. c None", /* pixels */ "S Y ~ ^ ( ` ] ] { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | | . . . .] ( ", "N A G ..^ ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .^ ! ", "7 N Z F G Y ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ^ ( ( ! Y G ", "2 8 N C A F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G F F G F D ", ", 3 j M ! ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ~ Z S Z Z ", ": 1 6 N ^ ` ] { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ( A C C V ", ": < 4 N ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( A V V B ", ": , 3 N ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z B B B ", ": , 3 M ( ] | | | | | | | | | | | | | | | | | [ R x k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | E T c z k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 N ^ ] | | | | | | | | | | | | | k k k k k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | k k k k k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ( ] | | | | | | | | | | | | | T T T c k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ( ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ", ": , 2 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ( ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | R k k k k v | | | | | | | | | | | | | | ] ( Z N V N ", ": , 3 N ^ ] | | | | | | | | | | | | | x x x l k k k k k z x x ) | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | k k k k k k k k k k k k E | | | | | | | | | | ] ( Z B B N ", ": , 3 M ( ] | | | | | | | | | | | | | k k k k k k k k k k k k E | | | | | | | | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z N V N ", ": , 3 M ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z B B N ", ": , 3 N ^ ] | | | | | | / f e / | | | | | | | | | | | | | p h | | | | | | J u | | | ] ( Z B B N ", ": , 3 M ^ ] | | | | | W u d P | | | | | | | | | | | | | P e U | | | | | ' u h | | | ] ( Z B B N ", ": , 3 M ( ] | | | | _ u h | | | | | | | | | | | | | | | a i | | | | | | h e W | | | ] ( Z N V N ", ": , 3 M ^ ] | | | | h u } | | | | | | | | | | | | | | / e J | | | | | _ e i | | | | ] ( Z B B N ", ": , 3 N ^ ] | | | | u h W U I J u | | | | U a i | | | J e _ / d d | | h e J P i d | ] ( Z B B N ", ": , 3 M ^ ] | | / u e e i J K u d b | | P e a a b | | d a _ u J _ | | e e a d d e | ] ( Z B B N ", ": , 3 M ^ ] | | | h e _ | } i J J e | } i i } J e | | e b a b | | | U e u U | f a | ] ( Z N V N ", ": , 2 N ^ ] | | | f a | | J e } h i | J e W | d i | W e a u } | | | b e / | P e L | ] ( Z B B N ", ": , 3 M ^ ] | | | u b | | i a } u J | i a | W e J | J e e u } | | P p h | P e h | | ] ( Z B B N ", ": , 3 M ^ ] | | _ e U | | e a h d | | e a U u h | | d i _ a a W h h e d f e h | | | ] ( Z N B N ", "- , 2 m ^ ] | | L e ' | | b u b ' | | b e d U | | | u J | _ i i J | b u d L | | | | ] ^ C N N N ", "- > 1 j ~ ` ] ] g d ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ^ B M M M ", "% : , 1 G ~ ^ ^ y H ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ~ G 8 j n n ", "$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ", "@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ", ". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ", " w 9 X O # " }; ./fookb-3.0/params.h0100644000175000017500000000076007417146155012777 0ustar wartwart/* * params.h * * (c) 1998-2002 Alexey Vyskubov * */ #ifndef PARAMS_H #define PARAMS_H #ifdef HAVE_WINGS_WUTIL_H #include #ifdef WMAKER #define DEFAULTS_FILE "~/GNUstep/Defaults/FOOkb" #else #define DEFAULTS_FILE "~/.fookb" #endif /* WMAKER */ #endif /* HAVE_WINGS_WUTIL_H */ #include /* X Window standard header */ #include /* X resource manager stuff */ char *read_param(char *); #endif /* PARAMS_H */ ./fookb-3.0/beep_spring.au0100644000175000017500000002064406773400155014167 0ustar wartwart.snd @ccS_׽UL,2#;ͯ(' +UW,̵g* $,0?ձ*ƶ= !,-;ñG$ )4LQ/8cӽ3B'.-),0;w1-%$;ĵ62-cQNH 4g$(2.]ɟ@I".簹5(SF2ȷ #%'(.D$*,״I22EKU YU*,(Q>®(0-HW5'_.1@ū!,&4=>['#U@YF0BY)LJɺ.$Q*,9,Eo -w(¯:A(-WD](ٵ0-2=.ﯠ, Q_(g;B?&8F1U7-0,*: g.,SM5%c먪ESE6,(ʷ"<2+ӽ =ͲK9Y6&N)U4*=>#DΫB+_+(HE?78@-[Y-+KwۡS'o7&c6g8?]:"L?gw.QG'Eg׭8W:BB-&8?Iʯ٬-L>'NwB?ML>)4/HN4N*);K@;kJ>U)/,Fg=QH%,Y>w.'K;ƣD2ۿ_c>/'+NW<ȴ0$:K砫[:SE9**'N@7"WkD?:׵>8/'*FYĥ8(/_UJg?EQ:k%+ck8'6?:ٹ8?:ôH-79CQJk/*36HӳWN߮0+87:CB'+49OwKW﹪?,0?1_ES=*05LJDYݯ0.C0UYI+,*;CׯQoww߶ϱ7+#1,>UgQͰ3?3w̫k3'++1?YMSﻷA<:6ʽ߻ȸQ2(,,;=cHN߿=;29Uȩ**,49CDE߮<605]*++33Mˡ>8wG945k)**81>ük9[Ѹk82-Qզ׸:,+42;Q3wNE9/?k[1,,78;8g>wK=78cﯯ3++:?8̰BC;HcB==:϶İN+'5@7]Mɯ;kN2̴MA:;k¸*&056UCͮKM97M?65Lճ۹ٻ6)*04HCﻧ5:5@E:0=߮ůN<)21?KYO:2,2¶QB:9oݸ]_0-0?GSw>/'25wEDH>BJ/.2FQY̳K/";6IkcS]7ŶȺCOU4-7=Sﱣ6$7/7wwU:۹go>A/3/CKŶ_(>,8_LUYʳ׹w;<30/=]Ӭ23/*9=AӻK?91;7ϺN_G,F/)0>>*1CL=<50/.ӯ?7̮O4,'WMB>kwWǩ>0)384C볯N6+)]F3:gʨk*:@5%Q:51NQ./U9GHk#0ɼ>6wwK@뼮.'B3/?k¬:+M=83goIη2=L<,>U40F/;SYCǨӫ76L=.UĨ>05?7?LHkĵY5A=4-οQ_/1MC/?NL?²0cO3*Q_,g9]3AU5L϶1oL-(J[?5H5խ;<[E3[ͫg>O+<_K+?:06?:6ʣ;]=,>@F/U3խo/o_/LYQ:3-Gk5K>/ƶ9U;6ղgY7c27@5k/::Sc::Ѽ;QA+7B6D.ݶ2U2O㸭o=0,YD85;7L]52kȮKB/481g/49FO>/ç=SF0.E=4?-M6Y[7I׺?g8+cg?Y;7.ݲ7=LE+o>3-=Ǣ4/,?:o+ǹߧ[>U1.]M[=<-@=_-Mcw9gN81JgE]ONA,;[Cc@@մDN??4=K[ۭUgB.?g?Y:<پHC?;:;N[W0:[2H85[ͦH>JI+-k0:GFMFH57]?wwLýĻW--E;7>ǰGG8EL?cżùH*-HH2ѯAo[K9>;Dwk]ķ̬?(.N>-=ì]cս;-/g?/=ĵNC@8;UKWU_۸ŭk62oH,ײ>µEFF6DQGYݼMkgɺ]-NQ:-ѵKӵKQS7L]SYUkǯ/AC-_>cB=>JMǽ>g[7.Y38N=ƿIȻOL=E>¿?kHǭo/<<.?cMNM_@6S_S=Ӱ-]76SC]>IM40ƵUѽ=]S358,>EWcg8+4YQwMA[40]WGOYί27YL[gS]F7Lw@DO׷4@W[Cͯk:0]DHHU18IckIλ9.YC>BƸF]49]OYwgw7@E8?gG@5[Q@wwMoOѸӻ9:w?kHASW0oSQScOL]ݽk64LAίSJc8:[[c9Ʋߺ@8YJ뷯Gǿ߾G4KC?>?Jɲo=NFŻKGGNEN=AIUAMNHM[B_MQ:_kJ@[DGȵ@DLFʾE@>]g;][HB]w;LM׽o5]DO=GC]>=KW>ݹ=CUIFQJ翸OO?MWMU9;_cQ[o<ѽcٰBA=Kc?YGF]ջQgL?LW]UoϾ?7WIDc]Ww]=>k_[ɽY_3:]YC˴YMѾOoc88c˺AwWK=>:CWWFW@HwFwo@ID88LúSNcA]M9YG[üO[Wwo:>O@O[Lۼwg<>_UHۿ[NE>WYLJ͸oScL7GoFE_w=C:A_KFLQDkO=DkL_ºcDK>DcO?N=JN9:L=ѸCMHÿFEg]:;BU]ʽLHW?KLDϽ@?g@=cS?[ۻo>?NQ_HEGQ=k@;MݸC=NUJSSHY;YwCCIݸc<Q]KɿNUk_OwOQ_oO6]Ϻ]KgSLJwUGgg;Ao_[̹gk[KG]c[QkIF7WJgK_ۺYK]M@kLgE5SkEMYoOBkJ[K׼Y;IgAD_ok[g[KkOAϾSL]9Q?KON]IOcNQ=6woDkcMcwocMokBWcپckN>ACK[c[WcSSYUCAo_[WȼQkKQWckUEYLAKMk]YwUQoMo˻UD_c?Yk_G[gWwWWWNYQIoJ[wYGkYcwYU=L׼UEDJ]gL]YwJ]_oGwUEWgUoWW_[cSQgG[ODK[wYW]UoEJJY_YGLgck[cMSFWGc_OII[kowkQkHWJWogQkIH[WowScF[QOgckHGYYcYkWc@Y_QOwkJGK_gUccc_I]LgwUSDGg]Gwo[YMU[Lw]FNwcLYwwJ@wMO_cwIKSUL]O@kgIwoBO[oQH]_Kk8ko[CW_CCLF]H@AwN_SoYHJoSU_gUUSAJg]wLFYJLoWw]c=[L]oJBQW]kgw_YoH=Y[C]WEMU[YwgW>J[GSOQFFWSk_gQ_=G_]N_wkDEgYYgcWMk<@_ƽQOwKDgEcWM]cKN?kٽIgcWUDYLYwI]LkU>]oNWoUoMYUDYwU]c>NSSWSYCgcKQYSckDWU[o[UgO[_UI]_]WNo_Sw[W__cOH[WgcILgUOgcwYkQKSU]]JOgQ_WkkcNI_cgkY_[oKMWckkQM_oYwc[[_NNcckkgUKYYkcggNYcgkKSSg]c]QIkk][wYJcwkW[owwSU_]_]kKocwk]go]_o[YkkwcF[ogOcwccWcOKkYQ[gG]_]cwcWQcggc]OQYYcoowWcwW__MWokgWwUKc_]Sc]goc_W]wwSYkYwgcS_]wwwgg[cYWccgWMcwY_]_[cc_WcwwkU]]]S]]gkY_]_gM]_]wwQ_wSogcWwgokow]U_gkwYcokkQSc]YkkYkcw_Q]wwwNkkSOwo[k[MSkgkS[gWkwkSkokok[Wkk[ockcSkwowYQckc]goo[QgookQccwgcgoSUwokYckwkkwWWwowc_Wkgo[__[wkogokwcgocowwwQgow__[ww]ko[[kowkokgoo[]wk_ok_kg_ckkwoWgwkoogwkccgckW[cwowgkkcokkwockwwowggkkcw_gok]Yockgwk]gg]kgwocgw_wokwwkkwww]_wckgk]]ookkkkwooow_kgwwwwwg_kwccwkkowwwocwocokcowwww_kowokwwwwwggwowkwwgwowggwoowwokkowocookgowwkgogoooowowwwwkwowwoowwwowwoowwwwwwwwwwwwwwwwwwwowwowwwwowwowwowwwwowwwwwwwwwwwwwwwwowwwwowwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww./fookb-3.0/fookb.cf0100644000175000017500000000052107475430034012744 0ustar wartwart{ # Icon1 = "/usr/share/fookb/1.xpm"; # Icon2 = "/usr/share/fookb/2.xpm"; Icon1 = "/usr/share/fookb/lat.xpm"; Icon2 = "/usr/share/fookb/rus.xpm"; Icon3 = "/usr/share/fookb/3.xpm"; Icon4 = "/usr/share/fookb/4.xpm"; IconBoom = "/usr/share/fookb/boom.xpm"; Sound = "Yes"; Command = "/usr/bin/play /usr/share/fookb/beep_spring.au"; } ./fookb-3.0/opts.h0100644000175000017500000000122307417146155012474 0ustar wartwart/* * File: opts.h * * (c) 1998-2002 Alexey Vyskubov * */ #ifndef OPTS_H #define OPTS_H /* X Window resource management */ #include #include extern XrmDatabase cmdlineDB; /* Database for resources from command line */ extern XrmDatabase finalDB; /* Database for resources from other sources -- app-defaults and X Window resources */ void ParseOptions(int *argc, register char *argv[]); /* Parse command line options */ void MoreOptions(void); /* Parse app-defaults and X resources database */ #endif /* OPTS_H */ ./fookb-3.0/images.h0100644000175000017500000000043207417146155012755 0ustar wartwart/* * images.h * * (c) 1998-2002 Alexey Vyskubov */ #ifndef IMAGES_H #define IMAGES_H /* int get_one_image(char *, int); */ void read_images(void); char *get_me_name(int); extern XImage *stupid_picture[5]; /* Icons for fookb */ #endif /* IMAGES_H */ ./fookb-3.0/fookb.c0100644000175000017500000001425507417146154012612 0ustar wartwart/* * fookb.c * * (c) 1998-2002 Alexey Vyskubov */ #include /* malloc() */ #include /* puts() */ /* X Window headers */ #include #include /* Command line parsing and X resource manager */ #include /* XKB fun */ #include /* My own fun */ #include "fookb.h" #include "images.h" #include "sound.h" #include "opts.h" #define sterror(x) (void)printf("Strange error, please report! %s:%d, %s\n",\ __FILE__, __LINE__, x) static void getGC(win, gc) Window win; GC *gc; { unsigned long valuemask = 0; /* No data in ``values'' */ XGCValues values; *gc = XCreateGC(dpy, win, valuemask, &values); /* XSetForeground(dpy, *gc, BlackPixel(dpy, scr)); */ } int main(argc, argv) int argc; register char *argv[]; { int err; int *event_rtrn; /* stupid things for XkbOpenDisplay */ int *error_rtrn; int *reason_rtrn; XkbEvent labuda; /* Xkb event. X event will be labuda.core */ Window billy; /* _The_ Window */ #ifdef WMAKER Window dilly; /* ...and his icon */ #endif int border = 0; /* _The_ Window parameters */ unsigned int wth = 48; /* Well, you understood */ unsigned int hth = 48; XWMHints *wm_hints; XClassHint class_hints; #ifdef WMAKER /* If we use Windowmaker, _The_ Window will */ XSizeHints *BigBunny; /* be withdrawn. And we do not want to place empty border by hand. */ #endif GC gc; /* Graphic context */ char resn[] = "fookb"; char resc[] = "Fookb"; int state = 0; /* We suppose that latin keyboard is the primal state FIXME */ event_rtrn = malloc(sizeof(int)); error_rtrn = malloc(sizeof(int)); reason_rtrn = malloc(sizeof(int)); XrmInitialize(); /* We should initialize X resource manager before doing something else */ ParseOptions(&argc, argv); /* We should parse command line options and try to find '-display' before opening X display */ /* Go, fighters, go! */ dpy = XkbOpenDisplay(mydispname, event_rtrn, error_rtrn, NULL, NULL, reason_rtrn); /* Oops. */ if (dpy == NULL) { (void)puts("Cannot open display."); exit(EXIT_FAILURE); } scr = DefaultScreen(dpy); root = RootWindow(dpy, scr); MoreOptions(); /* Now we can parse X server resource database. It is not available before display is opened */ /* We would like receive the only Xkb event: XkbStateNotify. And only * when XkbLockGroup happens. */ if (False == XkbSelectEventDetails(dpy, XkbUseCoreKbd, XkbStateNotify, 0xFFF, XkbGroupLockMask)) { sterror("Cannot XkbSelectEventDetails. It's your problems -- not mine."); exit(EXIT_FAILURE); } /* Run out! */ billy = XCreateSimpleWindow(dpy, root, 0, 0, wth, hth, border, BlackPixel(dpy, scr), WhitePixel(dpy, scr)); #ifdef WMAKER dilly = XCreateSimpleWindow(dpy, root, 0, 0, wth, hth, border, BlackPixel(dpy, scr), WhitePixel(dpy, scr)); #endif class_hints.res_name = resn; class_hints.res_class = resc; err = XSetClassHint(dpy, billy, &class_hints); switch(err) { case BadAlloc: sterror("BadAlloc"); exit(EXIT_FAILURE); case BadWindow: sterror("BadWindow"); exit(EXIT_FAILURE); } wm_hints = XAllocWMHints(); wm_hints->window_group = billy; #ifdef WMAKER wm_hints->icon_window = dilly; #endif wm_hints->input = False; wm_hints->flags = InputHint | WindowGroupHint; #ifdef WMAKER wm_hints->flags = wm_hints->flags | IconWindowHint; err = XSetWMHints(dpy, dilly, wm_hints); switch(err) { case BadAlloc: sterror("BadAlloc"); exit(EXIT_FAILURE); case BadWindow: sterror("BadWindow"); exit(EXIT_FAILURE); } wm_hints->initial_state = WithdrawnState; wm_hints->flags = wm_hints->flags | StateHint; #endif err = XSetWMHints(dpy, billy, wm_hints); switch(err) { case BadAlloc: sterror("BadAlloc"); exit(EXIT_FAILURE); case BadWindow: sterror("BadWindow"); exit(EXIT_FAILURE); } #ifdef WMAKER /* Look at the comment for XSizeHints * BigBunny */ BigBunny = XAllocSizeHints(); if (NULL == BigBunny) { (void)printf("Not enough memory, %s:%d.\n", __FILE__, __LINE__); exit(EXIT_FAILURE); } /* Nasty Hack. XSizeHints.x & XSizeHints.y are obsolete. */ BigBunny->x = 0; BigBunny->y = 0; BigBunny->flags = PPosition; XSetWMNormalHints(dpy, billy, BigBunny); XFree(BigBunny); #endif /* The only thing we would like to do - update our billy */ #ifndef WMAKER XSelectInput(dpy, billy, ExposureMask | ButtonPressMask); #else /* ...or dilly?! */ XSelectInput(dpy, dilly, ExposureMask | ButtonPressMask); #endif XSetCommand(dpy, billy, argv, argc); /* Programmer supplied functions */ #ifndef WMAKER getGC(billy, &gc); #else getGC(dilly, &gc); #endif read_images(); /* Let's read icon images */ /* Let's look */ XMapWindow(dpy, billy); /* We would like to see the window. */ /* HELLO! HELLO! HELLO! Is that our GOOD FRIEND main loop here? */ while (1) { XNextEvent(dpy, &labuda.core); switch (labuda.core.type) { case Expose: /* We should update our window. */ if (labuda.core.xexpose.count != 0) /* Well, I knew what does it mean, but I forgot :) */ break; #ifndef WMAKER update_window(billy, gc, state); #else update_window(dilly, gc, state); #endif break; case ButtonPress: switch (labuda.core.xbutton.button) { case Button1: #ifdef DEBUG puts("Button1 pressed."); #endif XkbLockGroup(dpy, XkbUseCoreKbd, (state + 1) % 4); break; case Button2: #ifdef DEBUG puts("Button2 pressed."); #endif XkbLockGroup(dpy, XkbUseCoreKbd, (state + 3) % 4); break; case Button3: #ifdef DEBUG puts("Button3 pressed, bye."); #endif XFreeGC(dpy, gc); XDestroyWindow(dpy, billy); #ifdef WMAKER XDestroyWindow(dpy, dilly); #endif XCloseDisplay(dpy); exit(0); } break; default: /* XkbLockGroup happens : FIXME */ drip(); state = labuda.state.group; #ifdef DEBUG printf("%u\n", state); #endif if ((state < 0) || (state > 4)) state = 4; #ifndef WMAKER update_window(billy, gc, state); #else update_window(dilly, gc, state); #endif #ifdef DEBUG puts("."); /* XkbLockGroup happens */ #endif } } } ./fookb-3.0/images.c0100644000175000017500000000463207417146154012755 0ustar wartwart/* * images.c * * (c) 1998-2002 Alexey Vyskubov */ #include /* puts() */ #include #include /* Xpm fun */ #include #include "fookb.h" #include "params.h" #include "images.h" /* Let us make lint happy! */ #define lputs(x) (void)(puts(x)) static int get_one_image(name, index) char *name; int index; { int foo; foo = XpmReadFileToImage(dpy, name, &stupid_picture[index], NULL, NULL); return (foo); } void read_images() { int i; int res; int status = 0; for (i = 0; i < 5; i++) { switch (i) { case 0: res = get_one_image(read_param("Icon1"), 0); break; case 1: res = get_one_image(read_param("Icon2"), 1); break; case 2: res = get_one_image(read_param("Icon3"), 2); break; case 3: res = get_one_image(read_param("Icon4"), 3); break; default: res = get_one_image(read_param("IconBoom"), 4); break; } switch (res) { case XpmOpenFailed: lputs("Xpm file open failed:"); status = 1 << 5; break; case XpmFileInvalid: lputs("Xpm file is invalid:"); status = 1 << 6; break; case XpmNoMemory: lputs("No memory for open xpm file:"); status = 1 << 7; break; default: break; } if (!(status == 0)) { status += 1 << i; switch (i) { case 0: lputs(read_param("Icon1")); break; case 1: lputs(read_param("Icon2")); break; case 2: lputs(read_param("Icon3")); break; case 3: lputs(read_param("Icon4")); break; case 4: lputs(read_param("IconBoom")); break; default: lputs("UNKNOWN ERROR! PLEASE REPORT!!!"); exit(-2); } exit(status); } } } void update_window(win, gc, whattodo) Window win; GC gc; unsigned int whattodo; { int err; err = XPutImage(dpy, win, gc, stupid_picture[whattodo], 0, 0, 0, 0, 48, 48); if (0 == err) return; switch (err) { case BadDrawable: lputs("Fatal error, XPutImage returns BadDrawable. " "Please report!"); break; case BadGC: lputs("Fatal error, XPutImage returns BadGC. " "Please report!"); break; case BadMatch: lputs("Fatal error, XPutImage returns BadMatch. " "Please report!"); break; case BadValue: lputs("Fatal error, XPutImage returns BadValue. " "Please report!"); break; default: lputs("Fatal error, XPutImage returns unknown error. " "Please report, but probably " "it is a bug in X."); break; } } ./fookb-3.0/3.xpm0100644000175000017500000001450606773400154012232 0ustar wartwart/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "48 48 98 2", " c #070606", ". c #0c0b0b", "X c #100f0f", "o c Gray9", "O c #1f1d1d", "+ c #211f1f", "@ c #242323", "# c #2b2929", "$ c #343232", "% c #3f3d3d", "& c #1c1074", "* c #3c3656", "= c #413f3f", "- c #464444", "; c #4a4747", ": c #4f4c4c", "> c #575454", ", c #5f5b5b", "< c #615e5e", "1 c #666363", "2 c #6b6767", "3 c #6f6b6b", "4 c #726e6e", "5 c #726d7d", "6 c #777373", "7 c #7b7777", "8 c #7e7a7a", "9 c #1500b8", "0 c #302295", "q c #1d05d1", "w c #1900db", "e c #1d00fc", "r c #240cd7", "t c #2308f3", "y c #2a0ef9", "u c #2c10fc", "i c #3a20fb", "p c #4329fb", "a c #482ffb", "s c #5a4da1", "d c #5a42fa", "f c #6852fa", "g c #745ff6", "h c #7762f9", "j c #837e7e", "k c #fc0000", "l c #fc1010", "z c #fc2020", "x c #fc2f2f", "c c #fd4242", "v c #fd5252", "b c #fd6262", "n c #fd7171", "m c #8571f9", "M c #868282", "N c #8c8787", "B c #8f8a8a", "V c #948f8f", "C c #979292", "Z c #9b9595", "A c #9f9a9a", "S c #a59f9f", "D c #a7a1a1", "F c #aaa4a4", "G c #aea8a8", "H c #b5aeae", "J c #beb7b7", "K c #9080e4", "L c #9785f8", "P c #9d8bf8", "I c #a493f7", "U c #a594f8", "Y c #aa9af8", "T c #b3a3f7", "R c #c6bfbf", "E c #fd8585", "W c #fd9494", "Q c #fda3a3", "! c #fdb4b4", "~ c #c2b4f7", "^ c #c0c0c0", "/ c #cec7c7", "( c #d7cfcf", ") c #dfd7d7", "_ c #d4c7f6", "` c #e7dede", "' c #fec7c7", "] c #fed6d6", "[ c #e2d6f6", "{ c #eee6e6", "} c #efe5f5", "| c #f7efef", " . c #fee6e6", ".. c #f8efef", "X. c #f0e6f5", "o. c #fef5f5", "O. c Gray100", "+. c None", /* pixels */ "F R ( ) ` { | | ................................................................o.o.O.O.O.O.| ` ", "V D J +.) | O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.) / ", "7 V S H J R / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ) ` ` / R J ", "2 8 V A D H H J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J H H J H G ", ", 3 j B / ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( S F S S ", ": 1 6 V ) { | ..| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ` D A A Z ", ": < 4 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` D Z Z C ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C C ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.] E c k k k l b Q o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.E k k k k k k k k k x ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.b k k k k k k k k k k k l ' o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.W k k k k v E E v k k k k k c o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.v k k l ' o.o.o.o.' k k k k k ] o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.k k k W o.o.o.o.o.o.b k k k k ! o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.k k k .o.o.o.o.o.o.E k k k k .o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .z k k k b o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.' ! ! E z k k k x .o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.c k k k k k l E .o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.c k k k k k k x W o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W E E c k k k k k x .o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.' l k k k k b o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o. .n c E o.o.o.o.o.o.o.Q k k k k k .o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 2 V ) | o.o.o.o.o.o.o.o.o.o.v k k k E o.o.o.o.o.o.o.k k k k k ! o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k k l o.o.o.o.o.o.o.k k k k k ! o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.z k k k k Q o.o.o.o.o.Q k k k k l o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.E k k k k x .o.o.o.' z k k k k E o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.c k k k k l b E b k k k k k x o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o. .n k k k k k k k k k k k b .o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.] n z k k k k k l b ! o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .! ! ! ] o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o._ f e _ o.o.o.o.o.o.o.o.o.o.o.o.o.p h o.o.o.o.o.o.L u o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.~ u d U o.o.o.o.o.o.o.o.o.o.o.o.o.U e T o.o.o.o.o.} u h o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.[ u h o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.a i o.o.o.o.o.o.h e ~ o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.h u X.o.o.o.o.o.o.o.o.o.o.o.o.o.o._ e L o.o.o.o.o.[ e i o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.u h ~ T Y L u o.o.o.o.T a i o.o.o.L e [ _ d d o.o.h e L U i d o.| ` S C C V ", ": , 3 B ) | o.o._ u e e i L P u d m o.o.U e a a m o.o.d a [ u L [ o.o.e e a d d e o.| ` S C C V ", ": , 3 B ) | o.o.o.h e [ o.X.i L L e o.X.i i X.L e o.o.e m a m o.o.o.T e u T o.f a o.| ` S V Z V ", ": , 2 V ) | o.o.o.f a o.o.L e X.h i o.L e ~ o.d i o.~ e a u X.o.o.o.m e _ o.U e I o.| ` S C C V ", ": , 3 B ) | o.o.o.u m o.o.i a X.u L o.i a o.~ e L o.L e e u X.o.o.U p h o.U e h o.o.| ` S C C V ", ": , 3 B ) | o.o.[ e T o.o.e a h d o.o.e a T u h o.o.d i [ a a ~ h h e d f e h o.o.o.| ` S V C V ", "- , 2 N ) | o.o.I e } o.o.m u m } o.o.m e d T o.o.o.u L o.[ i i L o.m u d I o.o.o.o.| ) A V V V ", "- > 1 j ( { | | g d | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ) C B B B ", "% : , 1 J ( ) ) y K ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ( J 8 j M M ", "$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ", "@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ", ". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ", " w 9 X O # " }; ./fookb-3.0/LICENSE0100644000175000017500000001471207366350555012356 0ustar wartwartLicense is "Artistic". Debian GNU/Linux may redistribute this program under GPL. Yes, I understand what does it mean (it means that anyone who get this program from Debian project can redistribute fookb under GPL). But do you understand what does this mean? It means that if you downloaded fookb from my site you cannot use GPL :) P.S. Yes, Debian is the best. P.P.S. No, there's no sense in this license. P.P.P.S. The "Artistic License" Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the Package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. It also grants you the rights to reuse parts of a Package in your own programs without transferring this License to those programs, provided that you meet some reasonable requirements. Definitions: "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder as specified below. "Copyright Holder" is whoever is named in the copyright or copyrights for the package. "You" is you, if you're thinking about copying or distributing this Package. "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) give non-standard executables non-standard names, and clearly document the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. If such scripts or library files are aggregated with this Package via the so-called "undump" or "unexec" methods of producing a binary executable image, then distribution of such an image shall neither be construed as a distribution of this Package nor shall it fall under the restrictions of Paragraphs 3 and 4, provided that you do not represent such an executable image as a Standard Version of this Package. 7. You may reuse parts of this Package in your own programs, provided that you explicitly state where you got them from, in the source code (and, left to your courtesy, in the documentation), duplicating all the associated copyright notices and disclaimers. Besides your changes, if any, must be clearly marked as such. Parts reused that way will no longer fall under this license if, and only if, the name of your program(s) have no immediate connection with the name of the Package itself or its associated programs. You may then apply whatever restrictions you wish on the reused parts or choose to place them in the Public Domain--this will apply only within the context of your package. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End ./fookb-3.0/fookb.h0100644000175000017500000000057407417146154012616 0ustar wartwart/* * fookb.h * * (c) 1998-2002 Alexey Vyskubov * */ #ifndef FOOKB_H #define FOOKB_H /* void getGC(Window, GC *); */ void update_window(Window, GC, unsigned int); extern Display *dpy; /* X display */ extern int scr; /* X screen */ extern Window root; /* X root window */ extern char mydispname[256]; /* X display name */ #endif /* FOOKB_H */ ./fookb-3.0/VERSION0100644000175000017500000000303607417146154012411 0ustar wartwart3.0-unstable configure.in rewritten almost from scratch. Starting from version 0.70 Window Maker does not contain libproplist anymore; so fookb now DOES NOT SUPPORT libproplist. You will get the same functionality with libWUtil (part of Window Maker). lint is still unhappy. And the most important thing -- author's email was changed everywhere. 2.21-unstable One more step to the lint happiness. Some #include:s added. Why did it work before??? 2.20-unstable LICENSE was changed! Please read. --enable/disable-libproplist/wmaker options for configure. Some cosmetic changes to make lint happy (he's still very sad). Makefile.in was simplified (of course configure.in has some complex changes). 2.13 Seems to be stable version. Minor cosmetic changes. 2.12-unstable Final (I hope) fixes in Makefile.in for non-proplist version. 2.11-unstable Small error in Makefine.in for non-proplist version was fixed. 2.1-unstable libPropList-free version. Command line parameters. X resource management. ``configure'' script. I hope non-WindowMaker version still work? 0.9 New icons for Xkb groups. Nasty bug was fixed: fookb plays sound twice if you change locked Xkb group with mouse. Documentation updates. 0.8 Fookb now can play sounds. 0.7 No more #define pixmaps. Configuration file in use. 0.6 No more #define NUMG 0.5 XpmReadFileToImage error check added. 0.4 No more ass. Window Maker support happened. I hope fookb still work w/o -DWMAKER. 0.3 The ass. Intended to be Window Maker support. 0.2 Support for all 4 Xkb groups 0.1 Basic functionality ./fookb-3.0/copyright0100644000175000017500000000026607417146154013276 0ustar wartwart(c) 1998-2002 Alexey Vyskubov Icons (c) 1999 LionN If you want to distribute, use or modificate this program, please look in file "LICENSE". ./fookb-3.0/lat.xpm0100644000175000017500000002122306773400155012643 0ustar wartwart/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "48 48 247 2", " c #080000", ". c Gray3", "X c #100808", "o c #180000", "O c #080821", "+ c #000031", "@ c #080831", "# c #101029", "$ c #181831", "% c #210000", "& c #210810", "* c #290810", "= c #211010", "- c #291010", "; c #310008", ": c #390008", "> c #291821", ", c #292129", "< c #292939", "1 c #312929", "2 c #313131", "3 c #000042", "4 c #000052", "5 c #00005a", "6 c #080852", "7 c #08085a", "8 c #180042", "9 c #101042", "0 c #181842", "q c #181852", "w c #00006b", "e c #000073", "r c #00007b", "t c #080873", "y c #18006b", "u c #181063", "i c #181863", "p c #101073", "a c #10107b", "s c #181873", "d c #18187b", "f c #21005a", "g c #29184a", "h c #311852", "j c #290073", "k c #290873", "l c #21187b", "z c #39106b", "x c #21214a", "c c #393942", "v c #313152", "b c #393952", "n c #212163", "m c #21216b", "M c #21296b", "N c #292963", "B c #21217b", "V c #292973", "C c #29317b", "Z c #31216b", "A c #39396b", "S c #31317b", "D c #39397b", "F c #420818", "G c #4a0010", "H c #520818", "J c #5a0010", "K c #5a0818", "L c #5a0821", "P c #4a2931", "I c #5a3139", "U c #6b0010", "Y c #730010", "T c #730018", "R c #7b0018", "E c #630821", "W c #631021", "Q c #6b1021", "! c #6b1029", "~ c #730031", "^ c #731029", "/ c #7b1829", "( c #732939", ") c #4a2973", "_ c #52397b", "` c Gray29", "' c #42425a", "] c #4a4a5a", "[ c #5a525a", "{ c #42426b", "} c #42427b", "| c #525263", " . c #52526b", ".. c #5a6373", "X. c #734252", "o. c #7b4a5a", "O. c Gray39", "+. c #63636b", "@. c Gray42", "#. c #7b6b73", "$. c #7b737b", "%. c #000084", "&. c #080884", "*. c #000094", "=. c #101084", "-. c #10108c", ";. c #18188c", ":. c #182184", ">. c #212184", ",. c #292984", "<. c #21219c", "1. c #293194", "2. c #29319c", "3. c #313184", "4. c #39398c", "5. c #313194", "6. c #393994", "7. c #39399c", "8. c #3131a5", "9. c #424284", "0. c #4a4a84", "q. c #424294", "w. c #4a4a9c", "e. c #4a529c", "r. c #525284", "t. c #52529c", "y. c #525a94", "u. c #5a5a9c", "i. c #4242bd", "p. c #4a4abd", "a. c #5252a5", "s. c #5a5aa5", "d. c #5252b5", "f. c #5a63b5", "g. c #636384", "h. c #636394", "j. c #73738c", "k. c #6363a5", "l. c #6b6bad", "z. c #7373a5", "x. c #7373ad", "c. c #7b7bad", "v. c #7373b5", "b. c #4a4ac6", "n. c #7373c6", "m. c #7b84b5", "M. c #840018", "N. c #8c0018", "B. c #940018", "V. c #941031", "C. c #842131", "Z. c #ad0021", "A. c #a51839", "S. c #b50021", "D. c #b50829", "F. c #bd0021", "G. c #bd0831", "H. c #b51839", "J. c #8c1852", "K. c #940842", "L. c #9c0042", "P. c #94185a", "I. c #9c185a", "U. c #9c2163", "Y. c #ad0852", "T. c #a5215a", "R. c #845263", "E. c #8c5263", "W. c #847b7b", "Q. c #a5424a", "!. c #ad4a5a", "~. c #bd5a6b", "^. c #b5637b", "/. c #ce0018", "(. c #c60021", "). c #c60029", "_. c #ce0021", "`. c #d60021", "'. c #d60029", "]. c #de0029", "[. c #de0031", "{. c #c61842", "}. c #ce1842", "|. c #ff4a73", " X c #9c73ad", ".X c #ad7394", "XX c #bd7384", "oX c #bd738c", "OX c #bd73a5", "+X c #d64a84", "@X c #c67384", "#X c #c6738c", "$X c #ce738c", "%X c #ce7b94", "&X c #ff5a84", "*X c #848484", "=X c #8c8484", "-X c Gray55", ";X c #94848c", ":X c Gray58", ">X c #8484ad", ",X c #8484b5", "Xz.7 4.z.0X1X3.e w S 0XpX3.r e 4.uXqXD e e 3.iX0XD r %.s .X@XXXXXoXoXoXXXXXR.E.R.R.", "O + 3 3 0.SXjXt %.r y.SXjXa %.*.t 0XDXm %.%.t 0XtXt &.r B DX5Xt *.*.=.SXDXSXDXSXDXSXCXNX9X8X7X7X", "O @ x 9 A c.l.d w.,.} ,Xh.d >.9.s 3XrXd s.tXD >X4XM c.k.s 6XrXB q.>.l vXmXmXmXZXmXmXmXzX7X;X;X-X", "# c @.*X9.r a 6XDXNXw.e r v.SXDXz.e %.4.fXDXl.%.r l.DXiX3.r e rXDXcX_ P.H.H.H.H.A.H.A.A.^ ! ! Q ", "O # #.| 5 %.r m CX1X5 %.r m SXCXs %.%.5 rXjX9.e r a CXtXw %.e s CXm.f Y.].].].[.[.[.).).N.R R R ", "O < < .S 0Xs.6.:.7.=.c.l.:.3.3.w.rXtX,Xw.a v.rX3Xw.3.9.a.4XtXz.p 8.z Y.].].].[.[.[.[.).B.M.M.M.", "O + + 3 g.DXjX3.%.%.6.DXfX3.%.%.=.kXDXy.e *.a xXcXp %.e 0.DXDXe.%.*.k Y.].].].'.[.'.).).N.R M.R ", "O + 3 3 D iX6Xw %.r t CXtXw =.5.w h.iX9.t q.w h.l.p >.q.i 6X6Xt 7.-.y U.{.H.{.H.H.H.H.A./ ! ! ! ", "# < ] .l.t w.>XtX4Xw.S 4.q.iXkXk.-.a l.uXSXl.&.r x.SXDXl.e e z.DXyX9.vXZXMXZXSXVXSXZXkX7X;X:X;X", "O $ #.@.t %.%.u.DXkXa r %.a 6XDXD %.*.t 6XSX} %.*.>.CXCX>.*.%.3.DX5Xq SXDXDXDXDXDXDXSXNX8X:X:X:X", "O $ b b 5 w.:.r 0Xh.r 5.=.&.,Xh.k.t 5.t ,Xy.x.V :.>.4.D d >.9.k.t.m.Z OXsXsX$XsXsX%X%XXXE.o.o.o.", "O @ + 6 g.CXuX6.%.*.6.kXiX4.%.%.4.iXkXh.&.r q.BXBX6.%.%.l.SXDXx.e *.k L././.(.(.F.F.F.Z.Y Y Y Y ", "O + 3 3 A CX0Xt %.%.B DXtXt %.%.t 0XDXS w &.5 6XrXw %.r p SXCXi %.*.j Y.].].].].[.'.'.).B.M.M.M.", "# # ] v h.u.2XC c.l.m rX4X:.k.c.,.2Xy.0X2XyX,X3.3.a.4XtXt.4.9.1.yXl.z Y.].].'.].[.[.).).N.R R M.", "O < @.@.S r t l.DXpX4.r r 3.fXDXh.=.r d kXDXu.%.%.e.DXDXy.%.%.z.DXiX) I.{.H.{.H.H.H.H.A./ ^ ! ! ", "O $ [ .5 %.*.7 CXtXw %.%.t 6XjX0.e %.&.k.,X>.r %.t rX0Xt %.w 4.jX4Xu bXZXMXZXVXAXVXZXzX7X;X;X;X", "O $ @ x m 6.>.;.5.q.>.c.l.;.6.t w.h.,Xa *.r w.rX4X6.e w q.uX4Xx.a 7.>.SXDXDXDXDXDXDXSXNX8X:X7X:X", "O + 3 3 ,XDXcX7.%.e h.DXfX1.%.%.,.jXDX3.*.*.a hXkX:.%.r y.DXjXa *.*.=.vXmXmXmXmXmXmXvXzX7X-X-X=X", "O + x 3 i cX1Xu >.4.r.jX6Xs ,.q.i tXCXm C q.s 0XtXp k.c.n tXk.m q.1.z J.A.A.A.V.A.A.A.V.Q E E E ", "# # @.| D a ,.s.DXDX4Xt 5.w.lXDX1Xw.1.w.kXDX3Xq.7.q.lXDXl.%.a m.DXkX_ L.`.`.`.'._.).(.S.M.R Y T ", "O < [ ..t *.*.-.6XrX&.*.*.&.l..-.;.-.d p >.;.-.:.p p ;.-.=.>.t d z T.{.{.{.{.{.{.H.A./ ^ ^ ! ", ", [ +.*XxXBXCXVXVXCXCXCXCXCXCXCXCXCXCXCXCXBXCXCXCXCXCXCXCXCXCXCXCXCXCXSXZXZXZXZXBXZXZXkX7X;X;X;X", "1 O.@.:XxXSXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X:X:X:X", "2 [ @.:XxXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X7X:X:X", "> P I X.^.@X@X@X#X@X#X@X$X@X@X$X@X$X@X@X@X@X@X$X@X@X@X@X@X@X$X@X#X$X#X$X@X$X@X$X#X#X@X^.o.X.X.X.", "= G G U B.S.F.F.S.F.S.F.S.F.S.F.S.S.F.F.S.F.S.S.F.F.F.S.F.S.S.S.S.Z.S.S.S.Z.S.Z.S.Z.Z.B.Y U U J ", "- G J Y F._._.`.`.`.).`.`.`.).`.`.`._.`.'.`.`.`.`._.`.'.`._.`.`.'.).`.'._.'.).`.'.).).).N.R R R ", "* G J R ).'.'.[.[.[.'.].'.[.].[.[.[.'.'.].'.[.[.[.[.'.'.[.'.].[.[.].'.].[.'.].[.'.].'.(.N.R M.M.", "- F L ! A.{.{.{.H.{.{.{.{.{.{.{.H.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.H.A./ ^ ^ ! ", "2 [ O.-XzXmXZXZXVXZXVXZXVXBXZXZXVXZXVXBXZXVXZXBXZXVXZXBXZXVXZXBXZXVXBXZXVXZXZXVXZXVXZXkX7X;X;X;X", "2 [ #.;XcXSXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X:X:X:X", "1 [ @.*XzXmXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXmXzX7X;X:X;X", "= F F W V.A.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.A.H.H.H.H.A.H.H.A.A.A.Q Q Q W ", "- G J Y S.(._._._.).)._._.)._._._.).).)._.)._._.).).)._.)._._._.).).)._.)._._._._.)._.S.M.R Y Y ", "- G J T F.).).'.).'.).'.).'.).).'.)._.'.'.'.).).'.).'.'.'.).).'.'.'.'.'.'.).).'.'.).(.).N.R R R ", "* G G U Z.S.F.F.F.F.F.F.F.S.).F.F.F.F.S.F.S.).F.F.S.F.F.S.).F.F.S.S.S.F.S.).F.F.S.F.S.Z.T T U T ", "> I I X.XX%X%XaXsX%XaXaXsXaXaXaX%XaX%XaXaXaXaXaXsX%XaXaXaXaXaXaXsX%XaXaXaXaXaXaXsX%X%XXXR.X.o.o.", ", [ +.*XxXSXSXSXSXSXDXSXSXSXSXDXSXDXSXDXSXDXSXSXSXDXSXDXSXSXDXSXSXDXSXDXSXSXDXSXDXSXCXxX7X-X:X-X", ", ` [ [ wXgXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXwX#.$.W.W.", "= * * F F H K L L L K L L L L L L L K L L L L L L K L L L L L L L K L L L L L L L H H H F L L L ", "X ; ; ; ; ; : ; : ; : ; : ; : ; : ; : ; ; : ; : ; : ; : ; : ; : ; : ; : ; : ; : ; : : G G : G J ", "X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o % ; ; : ", "= . . X X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X X & * " }; ./fookb-3.0/rus.xpm0100644000175000017500000002145206773400155012700 0ustar wartwart/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "48 48 256 2", " c Gray0", ". c #070000", "X c #0c0000", "o c #130000", "O c #1d0001", "+ c #150c27", "@ c #1f1234", "# c #1c1927", "$ c #270002", "% c #3d0002", "& c #330002", "* c #362b2b", "= c #3d3838", "- c #00034c", "; c #00045e", ": c #1b0756", "> c #1b084a", ", c #00056e", "< c #1b0676", "1 c #1e086a", "2 c #321f5c", "3 c #271456", "4 c #2f1b6b", "5 c #311d6e", "6 c #382b55", "7 c #3d3a4a", "8 c #372270", "9 c #410003", "0 c #450003", "q c #4c0003", "w c #42080a", "e c #5d0004", "r c #550004", "t c #5c1c1f", "y c #481214", "u c #4e3e3e", "i c #592526", "p c #5e3436", "a c #6d0005", "s c #670205", "d c #660e11", "f c #730005", "g c #780005", "h c #7e0005", "j c #7b181b", "k c #733739", "l c #433858", "z c #412e7d", "x c #4a3a75", "c c #4c4a4a", "v c #564040", "b c #544e58", "n c #5b595a", "m c #4a4757", "M c #4a4163", "N c #534d65", "B c #554778", "V c #5b5a69", "C c #684f50", "Z c #675a5b", "A c #775556", "S c #764345", "D c #6e5f60", "F c #635a7d", "G c #6d6b6b", "H c #646367", "J c #696877", "K c #716d6d", "L c #7c6565", "P c #716e7c", "I c #747373", "U c #7c7b7b", "Y c #72737e", "T c #000796", "R c #000690", "E c #1c099f", "W c #190785", "Q c #0007a5", "! c #180aba", "~ c #1808a8", "^ c #210d9a", "/ c #2a14a8", "( c #2e18b2", ") c #3c238b", "_ c #3e26af", "` c #3323bc", "' c #0e0adc", "] c #140ac8", "[ c #140cd7", "{ c #1f1adb", "} c #000ae2", "| c #0c0ce9", " . c #000bf7", ".. c #040bf7", "X. c #000bfd", "o. c #010cfd", "O. c #1111eb", "+. c #2114d2", "@. c #3827c4", "#. c #432b97", "$. c #4f368e", "%. c #51348f", "&. c #553d97", "*. c #48318f", "=. c #553aa1", "-. c #4636c5", ";. c #59458a", ":. c #5d499d", ">. c #4a41bc", ",. c #614e8a", "<. c #6a5495", "1. c #735d9e", "2. c #654dab", "3. c #755ea5", "4. c #6e6587", "5. c #7a689b", "6. c #7e7d8c", "7. c #777686", "8. c #7d7793", "9. c #7f8585", "0. c #850006", "q. c #8e0006", "w. c #960007", "e. c #910006", "r. c #940309", "t. c #9e1f24", "y. c #97292c", "u. c #a40007", "i. c #ab0107", "p. c #b60209", "a. c #b01015", "s. c #ba1d23", "d. c #9d3f42", "f. c #9b4649", "g. c #9d5c5e", "h. c #816767", "j. c #857b7b", "k. c #957879", "l. c #916668", "z. c #a27779", "x. c #c6020a", "c. c #d5000a", "v. c #dc000a", "b. c #db000a", "n. c #d21017", "m. c #d0282e", "M. c #c7282e", "N. c #e2000a", "B. c #e0040d", "V. c #ea010a", "C. c #f7000b", "Z. c #f5010b", "A. c #f2010c", "S. c #fd000b", "D. c #fe010c", "F. c #fc020d", "G. c #fa010c", "H. c #d04045", "J. c #837b8c", "K. c #827993", "L. c #887ba7", "P. c #83838e", "I. c #8f8c8c", "U. c #8d8d8d", "Y. c #888586", "T. c #848592", "R. c #878994", "E. c #888796", "W. c #898a95", "Q. c #8f8e9c", "!. c #8c8c9a", "~. c #8d9094", "^. c #8d9099", "/. c #918e8e", "(. c #9a8787", "). c #908f9d", "_. c #9c8f90", "`. c #929191", "'. c #969393", "]. c #969797", "[. c #91919f", "{. c #93959d", "}. c #959a9c", "|. c #9a9595", " X c #9c9a9a", ".X c #928aa4", "XX c #9495a2", "oX c #9798a4", "OX c #999aa6", "+X c #9a9ba8", "@X c #9f9fad", "#X c #9c9daa", "$X c #9a95a9", "%X c #9ca2a5", "&X c #9fa0ab", "*X c #a48a8a", "=X c #aa8d8d", "-X c #a59b9b", ";X c #aa9596", ":X c #ab9c9c", ">X c #a29495", ",X c #ba9b9b", "X;XeXu I.`.I U yX*XL u A rXY.K U.wXL + # 7.T.#X&XE.7.5 E ] W l OX+XXXQ.3X.X1...o...} Q T T R ", "- ; , R } .o.o.o.! 4.3XW.3X3X@X3XoX( ' W + Y P.XXXXP.7./ o.| 5 ~.3X6X3X6X!.%X2.| o...} Q T T T ", "- ; , R } .o.o...*.}.3XXX[.+XOX#X0X&.o.~ V #XoXOX@X+X%X<.| ~ N 8X3XOX#X[.[.1XK.-.o. .} Q T T T ", "- ; , R ' .o.o.' 4 XXW.P.+X+XXX6X%X;.[ z T.8XtXXXoX@X8XXX;.3 N OX6XXXOX#XE.P..X{ o. .} Q T T T ", "- ; , R } .o.o.[ F T.XXXX[.#X+X#X@XQ.7.{.oX8X9XR.P E.XXoX{.9.E.@X3XoX#XoXQ.W.J.>.o. .} Q T T T ", "- ; , R } .o...! M R.T.9XoXoXXX#X@X6X3X&XQ.#X7X@X!.OXE.Q.@X7X6X6X#XXXOXOXQ.W.OX-.o. .} Q T T T ", "- ; , R } .o.o.! 6 {.8X3XOX+X#X#X#X6X@XXX6.[.sX7XXX@XQ.6.Q.+X@X#X+X@X@X).6.W.J.` o. .} Q T T R ", "- ; , R } .o.o.] x R.#XoXoXOX3X#X+XOX[.W.T.XX#XoXQ.Q.XXR.T.T.).[.XX#X#XXXQ.XX5.@.o. .} Q T T T ", "- ; , R ' .o.o.' 1 7 T.Q.[.[.XX[.oXXX[.6.[.Q.!.+XQ.T.XXQ.T.[.XXXX[.Q.XXXXQ.3X=...o. .} Q T T T ", "- ; , R } .o.o.o.^ J XXXX6.T.T.[.Q.Q.oX7.6X#XW.OX3XoX6XOX6.Q.XXQ.XXE.Q.Q.oX.X3.| o. .} Q T T T ", "- ; , R } .o.o.o.] : 7 P.6X3XQ.T.6.T.#X3X[.7.E.Q.[.W.J H oXXXE.E.@XE.E.8X9.%.| o.o. .} Q T T T ", "- ; , R } .o.o.o...~ 6 J 7.bXoXP.oXW.6XsXQ.Q.8XT.T.7XE.6.sX7X@XE.E.7X%X8.2._ o.o.o. .} Q T T T ", "- ; , R ' .o.o.o.o.| ~ : m P.oX7.4.N b +X+X9X8X@X@X8X9XOX+XV m !.VXsX5.&.o.o.o.o.o. .} Q T T T ", "- ; , R } .o.o.o.o.o.o.] : @ 7.*.~ : V XX+X3XoX#X3XoX6X#XXX7.V #XtX@X( ..o.o.o.o.o. .} Q T T T ", "- ; , R } .o.o.o.o.o.o.o.' < B L.:.B tXtX3XQ.P T.7.Y [.6X8XtX7X#X{.$X+.o.o.o.o.o.o. .} Q T T T ", "q e a e.v.C.S.S.D.D.D.D.D.D.p.L ~.0XpX(.p S h.L -X>Xj.Y.A i j.5X2X XH.G.D.D.D.D.S.S.C.N.u.w.w.w.", "q e a e.N.C.S.S.D.D.D.D.S.S.u.b I.;Xs.p.k *X(.:XiXwX:X(.=XS w t y.n.D.D.D.D.D.D.S.S.C.N.u.w.w.w.", "q e a e.N.C.S.S.D.D.D.D.S.S.x.y A z.M.a.wX;X4X:X>X:X:X4XfXgXs.N.G.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.", "q e a e.N.C.S.S.D.D.D.D.S.D.C.p.g f.z.k J.C -X_.:XeX;XjXf.g.m.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.", "q e a e.N.C.S.S.D.D.D.D.D.D.D.D.c.x.a.d A Z k.h.(.j.j.;XA d.A.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.", "q e a e.N.C.S.S.D.D.D.D.D.D.D.D.D.G.V.i.r.a i K /.j.l.t.x.G.D.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.", "q e a e.v.C.S.S.D.D.D.D.D.D.D.D.D.D.D.G.Z.c.q.d j a.B.G.D.D.D.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.", "q e a q.v.C.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.A.v.V.G.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.C.N.u.w.w.w.", "q r a q.v.C.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.C.v.u.e.w.e.", "0 r s 0.b.A.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.A.b.w.q.q.q.", "9 q r s p.c.b.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.b.c.x.h 0.0.0.", "& % q r r f g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g s a f g g ", "$ $ & % % % 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 0 q r e s ", "X o o o O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O $ $ $ & % q ", " X o O $ " }; ./fookb-3.0/xrmdb.h0100644000175000017500000000033007255416320012613 0ustar wartwartextern XrmDatabase cmdlineDB; /* Database for resources from command line */ extern XrmDatabase finalDB; /* Database for resources from other sources -- app-defaults and X Window resources */ ./fookb-3.0/2.xpm0100644000175000017500000001450606773400154012231 0ustar wartwart/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "48 48 98 2", " c #070606", ". c #0c0b0b", "X c #100f0f", "o c Gray9", "O c #1f1d1d", "+ c #211f1f", "@ c #242323", "# c #2b2929", "$ c #343232", "% c #3f3d3d", "& c #1c1074", "* c #3c3656", "= c #413f3f", "- c #464444", "; c #4a4747", ": c #4f4c4c", "> c #575454", ", c #5f5b5b", "< c #615e5e", "1 c #666363", "2 c #6b6767", "3 c #6f6b6b", "4 c #726e6e", "5 c #726d7d", "6 c #777373", "7 c #7b7777", "8 c #7e7a7a", "9 c #1500b8", "0 c #302295", "q c #1d05d1", "w c #1900db", "e c #1d00fc", "r c #240cd7", "t c #2308f3", "y c #2a0ef9", "u c #2c10fc", "i c #3a20fb", "p c #4329fb", "a c #482ffb", "s c #5a4da1", "d c #5a42fa", "f c #6852fa", "g c #745ff6", "h c #7762f9", "j c #837e7e", "k c #fc0000", "l c #fc1010", "z c #fc2020", "x c #fc2f2f", "c c #fd4242", "v c #fd5252", "b c #fd6262", "n c #fd7171", "m c #8571f9", "M c #868282", "N c #8c8787", "B c #8f8a8a", "V c #948f8f", "C c #979292", "Z c #9b9595", "A c #9f9a9a", "S c #a59f9f", "D c #a7a1a1", "F c #aaa4a4", "G c #aea8a8", "H c #b5aeae", "J c #beb7b7", "K c #9080e4", "L c #9785f8", "P c #9d8bf8", "I c #a493f7", "U c #a594f8", "Y c #aa9af8", "T c #b3a3f7", "R c #c6bfbf", "E c #fd8585", "W c #fd9494", "Q c #fda3a3", "! c #fdb4b4", "~ c #c2b4f7", "^ c #c0c0c0", "/ c #cec7c7", "( c #d7cfcf", ") c #dfd7d7", "_ c #d4c7f6", "` c #e7dede", "' c #fec7c7", "] c #fed6d6", "[ c #e2d6f6", "{ c #eee6e6", "} c #efe5f5", "| c #f7efef", " . c #fee6e6", ".. c #f8efef", "X. c #f0e6f5", "o. c #fef5f5", "O. c Gray100", "+. c None", /* pixels */ "F R ( ) ` { | | ................................................................o.o.O.O.O.O.| ` ", "V D J +.) | O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.) / ", "7 V S H J R / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ) ` ` / R J ", "2 8 V A D H H J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J H H J H G ", ", 3 j B / ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( S F S S ", ": 1 6 V ) { | ..| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ` D A A Z ", ": < 4 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` D Z Z C ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C C ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.] b c k k k l b Q o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o. .b k k k k k k k k k x ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.' k k k k k k k k k k k k l ! o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o. .z k k k z n E n z k k k k k l .o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.E k k k E o.o.o.o.o.n k k k k k E o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.c k k n o.o.o.o.o.o.o.c k k k k c o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k ] o.o.o.o.o.o.o.E k k k k c o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.k k k o.o.o.o.o.o.o.o.n k k k k n o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.v b E o.o.o.o.o.o.o.o.z k k k k Q o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.E k k k k c o.o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W k k k k l ] o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W k k k k l ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.n k k k k x ] o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .v k k k k E o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 2 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.' x k k k c ' o.o.o.c k k ' o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.W l k k l E o.o.o.o. .l k k o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o. .b k k k k n E E E E E c k k x o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.! z k k k k k k k k k k k k k k b o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 V ) | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k E o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k ! o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k ] o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.] c c o.o.o.o.o.o.o.o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.o.o._ f e _ o.o.o.o.o.o.o.o.o.o.o.o.o.p h o.o.o.o.o.o.L u o.o.o.| ` S C C V ", ": , 3 B ) | o.o.o.o.o.~ u d U o.o.o.o.o.o.o.o.o.o.o.o.o.U e T o.o.o.o.o.} u h o.o.o.| ` S C C V ", ": , 3 B ` | o.o.o.o.[ u h o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.a i o.o.o.o.o.o.h e ~ o.o.o.| ` S V Z V ", ": , 3 B ) | o.o.o.o.h u X.o.o.o.o.o.o.o.o.o.o.o.o.o.o._ e L o.o.o.o.o.[ e i o.o.o.o.| ` S C C V ", ": , 3 V ) | o.o.o.o.u h ~ T Y L u o.o.o.o.T a i o.o.o.L e [ _ d d o.o.h e L U i d o.| ` S C C V ", ": , 3 B ) | o.o._ u e e i L P u d m o.o.U e a a m o.o.d a [ u L [ o.o.e e a d d e o.| ` S C C V ", ": , 3 B ) | o.o.o.h e [ o.X.i L L e o.X.i i X.L e o.o.e m a m o.o.o.T e u T o.f a o.| ` S V Z V ", ": , 2 V ) | o.o.o.f a o.o.L e X.h i o.L e ~ o.d i o.~ e a u X.o.o.o.m e _ o.U e I o.| ` S C C V ", ": , 3 B ) | o.o.o.u m o.o.i a X.u L o.i a o.~ e L o.L e e u X.o.o.U p h o.U e h o.o.| ` S C C V ", ": , 3 B ) | o.o.[ e T o.o.e a h d o.o.e a T u h o.o.d i [ a a ~ h h e d f e h o.o.o.| ` S V C V ", "- , 2 N ) | o.o.I e } o.o.m u m } o.o.m e d T o.o.o.u L o.[ i i L o.m u d I o.o.o.o.| ) A V V V ", "- > 1 j ( { | | g d | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ) C B B B ", "% : , 1 J ( ) ) y K ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ( J 8 j M M ", "$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ", "@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ", ". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ", " w 9 X O # " }; ./fookb-3.0/KNOWN_BUGS0100644000175000017500000000072107417146154012776 0ustar wartwart* If configuration parameter 'sound' is not defined, fookb will not die, but will print error message and kill new-born child every time you switch keyboard layout. Well, it's not a bug, it's a feature. * Sometimes fookb receives message about changing XKB group, but message.state.group does not point to any existing XKB group. In this case fookb will show IconBoom (from config file) picture. As far as I know the only way to look at this bug is to run vmware. ./fookb-3.0/4.xpm0100644000175000017500000001440606773400154012232 0ustar wartwart/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "48 48 94 2", " c #070606", ". c #0c0b0b", "X c #100f0f", "o c Gray9", "O c #1f1d1d", "+ c #211f1f", "@ c #242323", "# c #2b2929", "$ c #343232", "% c #3f3d3d", "& c #1c1074", "* c #3c3656", "= c #413f3f", "- c #464444", "; c #4a4747", ": c #4f4c4c", "> c #575454", ", c #5f5b5b", "< c #615e5e", "1 c #666363", "2 c #6b6767", "3 c #6f6b6b", "4 c #726e6e", "5 c #726d7d", "6 c #777373", "7 c #7b7777", "8 c #7e7a7a", "9 c #1500b8", "0 c #302295", "q c #1d05d1", "w c #1900db", "e c #1d00fc", "r c #240cd7", "t c #2308f3", "y c #2a0ef9", "u c #2c10fc", "i c #3a20fb", "p c #4329fb", "a c #482ffb", "s c #5a4da1", "d c #5a42fa", "f c #6852fa", "g c #745ff6", "h c #7762f9", "j c #837e7e", "k c #fc0000", "l c #fc1010", "z c #fc2020", "x c #fd4242", "c c #fd6262", "v c #8571f9", "b c #868282", "n c #8c8787", "m c #8f8a8a", "M c #948f8f", "N c #979292", "B c #9b9595", "V c #9f9a9a", "C c #a59f9f", "Z c #a7a1a1", "A c #aaa4a4", "S c #aea8a8", "D c #b5aeae", "F c #beb7b7", "G c #9080e4", "H c #9785f8", "J c #9d8bf8", "K c #a493f7", "L c #a594f8", "P c #aa9af8", "I c #b3a3f7", "U c #c6bfbf", "Y c #fd8585", "T c #fd9494", "R c #fdb4b4", "E c #c2b4f7", "W c #c0c0c0", "Q c #cec7c7", "! c #d7cfcf", "~ c #dfd7d7", "^ c #d4c7f6", "/ c #e7dede", "( c #fec7c7", ") c #fed6d6", "_ c #e2d6f6", "` c #eee6e6", "' c #efe5f5", "] c #f7efef", "[ c #fee6e6", "{ c #f8efef", "} c #f0e6f5", "| c #fef5f5", " . c Gray100", ".. c None", /* pixels */ "A U ! ~ / ` ] ] { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | | . . . .] / ", "M Z F ..~ ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .~ Q ", "7 M C D F U Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q ~ / / Q U F ", "2 8 M V Z D D F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F D D F D S ", ", 3 j m Q / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ! C A C C ", ": 1 6 M ~ ` ] { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` / Z V V B ", ": < 4 M ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / Z B B N ", ": , 3 M ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C N N N ", ": , 3 m / ] | | | | | | | | | | | | | | | | | | c k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | | | | | | | | | T k k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 M ~ ] | | | | | | | | | | | | | | | | T k k k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | | | | | | | T k k k k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m / ] | | | | | | | | | | | | | | T k k k k k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | | | | | R k k k l Y k k k k Y | | | | | | | | | | | | ] / C M B M ", ": , 3 m ~ ] | | | | | | | | | | | | ( l k k k ( R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 M ~ ] | | | | | | | | | | | ( l k k k T | R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | | ( l k k k T | | R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m / ] | | | | | | | | | ( l k k k T | | | R k k k k Y | | | | | | | | | | | | ] / C M B M ", ": , 3 m ~ ] | | | | | | | | | z k k k T | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 M ~ ] | | | | | | | | | k k k l Y Y Y Y Y c k k k k x Y Y Y ) | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C M B M ", ": , 2 M ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | R R R R R R R R R Y k k k k c R R R [ | | | | | | | | ] / C N N M ", ": , 3 m / ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C M B M ", ": , 3 M ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m / ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ", ": , 3 m ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C M B M ", ": , 3 m ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C N N M ", ": , 3 M ~ ] | | | | | | ^ f e ^ | | | | | | | | | | | | | p h | | | | | | H u | | | ] / C N N M ", ": , 3 m ~ ] | | | | | E u d L | | | | | | | | | | | | | L e I | | | | | ' u h | | | ] / C N N M ", ": , 3 m / ] | | | | _ u h | | | | | | | | | | | | | | | a i | | | | | | h e E | | | ] / C M B M ", ": , 3 m ~ ] | | | | h u } | | | | | | | | | | | | | | ^ e H | | | | | _ e i | | | | ] / C N N M ", ": , 3 M ~ ] | | | | u h E I P H u | | | | I a i | | | H e _ ^ d d | | h e H L i d | ] / C N N M ", ": , 3 m ~ ] | | ^ u e e i H J u d v | | L e a a v | | d a _ u H _ | | e e a d d e | ] / C N N M ", ": , 3 m ~ ] | | | h e _ | } i H H e | } i i } H e | | e v a v | | | I e u I | f a | ] / C M B M ", ": , 2 M ~ ] | | | f a | | H e } h i | H e E | d i | E e a u } | | | v e ^ | L e K | ] / C N N M ", ": , 3 m ~ ] | | | u v | | i a } u H | i a | E e H | H e e u } | | L p h | L e h | | ] / C N N M ", ": , 3 m ~ ] | | _ e I | | e a h d | | e a I u h | | d i _ a a E h h e d f e h | | | ] / C M N M ", "- , 2 n ~ ] | | K e ' | | v u v ' | | v e d I | | | u H | _ i i H | v u d K | | | | ] ~ V M M M ", "- > 1 j ! ` ] ] g d ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ~ N m m m ", "% : , 1 F ! ~ ~ y G ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! F 8 j b b ", "$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ", "@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ", ". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ", " w 9 X O # " }; ./fookb-3.0/globals.c0100644000175000017500000000103207417146154013122 0ustar wartwart/* * File: globals.c * * (c) 1998-2002 Alexey Vyskubov * */ #include #include Display *dpy; /* X Window display */ int scr; /* X Window screen */ Window root; /* X root window */ char mydispname[256]; /* X display name */ XImage *stupid_picture[5]; /* Icons for fookb */ XrmDatabase cmdlineDB; /* X resource database generated from command line */ XrmDatabase finalDB; /* X resource database generated from app-defaults and X resource database */ ./fookb-3.0/README.russian.koi8-r0100644000175000017500000000044307417146154015013 0ustar wartwart***** README! ***** , - ( ), , fookb, , ! , INSTALL. ./fookb-3.0/boom.xpm0100644000175000017500000001465206773400155013027 0ustar wartwart/* XPM */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "48 48 104 2", " c Gray0", ". c #080000", "X c #080800", "o c #100800", "O c #101000", "+ c #181000", "@ c #181008", "# c #181808", "$ c #211808", "% c #291808", "& c #292108", "* c #312108", "= c #312908", "- c #312910", "; c #392910", ": c #393110", "> c #423110", ", c #4a3910", "< c #523910", "1 c #4a4218", "2 c #524218", "3 c #5a4218", "4 c #5a4a18", "5 c #634a18", "6 c #6b5218", "7 c #735221", "8 c #735a21", "9 c #7b5a21", "0 c #7b6321", "q c #846321", "w c #846b21", "e c #8c6b29", "r c #946b29", "t c #947329", "y c #9c7329", "u c #9c7b29", "i c #a56b29", "p c #a57b29", "a c #ce6b31", "s c #ce7331", "d c #ce7b31", "f c #d67331", "g c #a58429", "h c #ad8431", "j c #b58431", "k c #b58c31", "l c #bd8431", "z c #bd8c31", "x c #bd8c39", "c c #bd9431", "v c #bd9439", "b c #bd9c39", "n c #c68431", "m c #ce8c31", "M c #c69431", "N c #c69439", "B c #c69c39", "V c #ce9439", "C c #ce9c39", "Z c #d68431", "A c #d68c39", "S c #de8c31", "D c #d6a539", "F c #dea539", "G c #dead39", "H c #e79439", "J c #e79c31", "K c #e79c39", "L c #e7a539", "P c #e7ad39", "I c #efa539", "U c #c69c42", "Y c #ce9442", "T c #cea542", "R c #d6a542", "E c #d6ad42", "W c #dead42", "Q c #dead4a", "! c #e7ad42", "~ c #e7b542", "^ c #efb542", "/ c #efbd42", "( c #efbd4a", ") c #e7b552", "_ c #f7b542", "` c #f7bd42", "' c #f7bd4a", "] c #ffb542", "[ c #ffbd42", "{ c #ffc642", "} c #ffc64a", "| c #f7c652", " . c #f7c65a", ".. c #ffc652", "X. c #ffd65a", "o. c #ffde73", "O. c #ffe773", "+. c #ffe77b", "@. c #ffef84", "#. c #fff784", "$. c #ffff94", "%. c #ffff9c", "&. c #ffffbd", "*. c Gray100", /* pixels */ "h M C G ~ ( ' | ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ....X.O.$.#.' ! ", "t h v C E .o.+.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.%.&.*.*.%.W C ", "9 e h k x N B C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y T Q ) ) D B c ", "6 0 e u h k c v c c c v c c c v c c c v c c c v c c c v c c c v c c c v c c c v c c c k k k k h ", "3 7 q e C ! ~ ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! D h h h u ", "2 5 8 t G / ' ` ` ' ` ' ` ' ` ` ' ` ' ` ` ' ` ' ` ' ` ` ' ` ' ` ` ' ` ' ` ' ` ` } ` ` W h u u y ", "1 5 8 t W ` { } { } } { } { } } { } { } { } } { } { } } { } { } { } } { } { } } [ } ` W h y u t ", "< 4 8 e G ' } { } } { [ } [ } [ } [ } [ } [ } / z u j G } } ' [ } { [ } } [ } ` { ' ` ! p t y t ", "1 5 7 e ! ` { } } [ ' } } ' { } ' } ` } } } ~ 7 7 e 0 3 e ` } } } ` } } ` } } } } { ' G h t t t ", ", 4 7 e W ` } [ } } [ } [ } } } [ } } [ ' } q 9 ` } } W 5 e } [ } } [ } [ } [ ` } [ ' W p t y t ", "1 4 6 t W ` } } } [ } ` } [ ' { ' [ } } { } 7 c } } } } / 2 h } [ ` } } } ` } } { ' ` G h t t t ", ", 4 7 r W ` } [ } ` } } ' [ } [ } } } [ } } 8 p } [ } [ } z 2 ^ } } } } [ } [ ~ / } ` ~ p t t t ", ", 5 7 e P ' } { } } [ ' { } } } } ` } ' ! W y t ~ ' } ` } } 7 q } } [ ' ` ` ( v W } ` W p t y t ", "1 4 6 t W ` } } [ } } [ } [ ` [ } [ } G t 9 7 9 t C } } [ } ~ 1 j } ` } [ H R b _ [ ` W h t t t ", ", 4 8 e G ' { { } } ` } ' } } ' } } ' h 3 & $ & 2 q ! } } [ } N < ! _ H L H x S H } ` ! p t y t ", "1 4 7 e ! ` } } } } [ } [ } } { [ } [ t - @ @ @ $ 2 k ` } } [ } e 3 W H V A a H E N N D h y t t ", ", 5 7 e G ' { } [ } [ ' } [ ' } } } } y - @ O @ $ , p ' } [ ' } ` 0 1 8 0 n f x U U R G p t t t ", "1 3 6 t W ` } { } [ } { } } [ } [ ! N 0 & @ o X @ - e ^ } } } [ } } D l i m s Z J { ` ! h t y t ", ", 4 7 r W ` } } } } [ ' } { } ~ h 6 : $ @ X X X o - 7 k C ~ } } } } ] d a s n U ^ [ ` W p t t t ", "1 4 8 e G ' } [ } ` } } [ } C 7 - X X . X o # ; > 8 M } [ } ' K A Y A N x / ' G h y t t ", ", 5 7 e ! ` { } } } [ } } W 7 # . X o o X X X X X X o @ 2 k ` } } } ! Y I I / ' ` W p t t t ", "1 3 6 t W ` } [ } [ ' } D e : + X . X @ $ & & @ o X . X X @ 1 z _ } } ^ U ' } } { ` W g t y t ", ", 4 7 e G ' { } } } } ! t 3 - $ @ & - & $ & & @ X X X . . X X @ 5 c ` } ( x ` { [ ` ` ! p y t t ", "1 4 8 e ! ` } } [ } ` h 1 & % - 2 7 5 & @ o @ o X X X X X . X & e _ } ` ^ ' } } } ' G h t t t ", ", 5 7 e G ' { } } } D 9 - $ $ 1 q t 7 : $ X @ @ o X X . X X . X X 2 W } } } } [ ` { ` W p t y t ", "1 3 6 t W ` } [ } } N 3 % $ % 5 h t 8 3 - @ @ # @ o X . X X X & h [ } [ } } } ' ` ~ p t t t ", ", 4 7 r G ' } { } ` h > @ @ - 5 u t 7 7 ; # @ $ $ o X X X . X @ q ' } [ } ` [ } ` W h t y t ", "1 4 8 e W ' { } } ` t - # # & : 7 7 1 : & $ $ - # X X X X X 3 G } ' [ } } ` ` W p t t t ", ", 5 7 e P ` } } [ ' e * @ @ & - - = - % $ - * * @ X . . X . X X X > C } { } [ ` } ' G h t y t ", "1 3 6 t W ` { } } ` e - @ @ ; ; $ % - & & & # X . X X X . & k } } } } [ ` ` W p t t t ", ", 4 7 e G ' } { } ' h > @ $ : , - > > - $ @ . X X X X @ r } } [ ' } } ` W h t y t ", "1 4 8 e ! ` } [ } } D 2 @ $ - - % - - - @ X o X X o X $ y } [ } } ` { ` ! p t t t ", ", 5 7 e G ' { } } [ / q $ @ # $ @ o @ @ O o X X X X . X X . : v } } ` } [ ' ` W g t y t ", "1 3 6 t W ` } [ } } } v > @ o # $ @ O X X X X . . . X X 7 ! } [ } [ } { ' G p t t t ", ", 4 7 r W ' { } } [ } ^ q & O @ $ $ @ . X X X X ; h ` } ' } } ` } ` W h t y t ", "1 4 8 e G ` { } [ } } } N 1 @ o # $ @ X . X o X X $ e ` } } [ } [ ` } ` ! p t t t ", ", 5 7 e ! ' } { } ` [ } ` h ; o X @ O o o X o # @ O o X X . $ q ^ } [ ` } } ` } [ ` W h t y t ", "1 3 6 t G ' { } } } ' { } ^ p 1 @ X X X @ o @ @ @ X X . X @ > u ~ } } } } [ } } ` } ` G p t t t ", ", 4 7 e W ` } [ } } [ } [ } ' h 5 & @ . X X X @ & 7 N ' } } [ [ } ' } [ } { ' W h t y t ", "1 4 8 e ! ` } { } ' [ } ' [ } [ R u 4 ; $ @ X @ @ & : 7 h W } { } [ } ' [ } { ' [ ' ` ! p t t t ", ", 5 7 e G ' { } [ { } ` { } ` } } } W v t e 7 6 q h C / } { } ` } ` } [ ' { ' { { } ` G p t y t ", "1 3 6 e W ` } } } ` } [ ' } { ` { [ } { } ` / ^ ` } } { } } [ } [ ' { } { ` } } ` ` ' W p t t t ", "> 2 5 q D ^ ` ` ` ' ` ' ` ` ' ' ' ' ` ' ` ' ` ' ' ` ` ' ` ` ' ` ' ` ` ' ` ' ` ` ' ` / W t e e e ", "> 2 4 5 c D W F W G W G W F W G G G F W F W G W G F W W F W F W G W F W F W F W F W D v 0 q e w ", "- : 1 2 3 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 7 7 8 9 ", "$ % - ; ; : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , 1 2 4 5 ", "X o @ + @ $ # @ $ @ # $ @ # $ # @ $ # # $ # # $ @ # $ # @ $ # # $ # # $ # # $ # # $ $ $ & - > , ", " . o @ & " }; ./fookb-3.0/configure0100755000175000017500000021347707417146323013262 0ustar wartwart#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Defaults: ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help --with-x use the X Window System" ac_help="$ac_help --enable-libWUtil try to use property lists handling in libWUtil" ac_help="$ac_help --enable-wmaker create windowmaker dockable application" # Initialize some variables set by options. # The variables have the same names as the options, with # dashes changed to underlines. build=NONE cache_file=./config.cache exec_prefix=NONE host=NONE no_create= nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= target=NONE verbose= x_includes=NONE x_libraries=NONE bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi case "$ac_option" in -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) ac_optarg= ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case "$ac_option" in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir="$ac_optarg" ;; -build | --build | --buil | --bui | --bu) ac_prev=build ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build="$ac_optarg" ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file="$ac_optarg" ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir="$ac_optarg" ;; -disable-* | --disable-*) ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` eval "enable_${ac_feature}=no" ;; -enable-* | --enable-*) ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "enable_${ac_feature}='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he) # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat << EOF Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] --libexecdir=DIR program executables in DIR [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data in DIR [PREFIX/share] --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data in DIR [PREFIX/com] --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] --libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include] --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] --infodir=DIR info documentation in DIR [PREFIX/info] --mandir=DIR man documentation in DIR [PREFIX/man] --srcdir=DIR find the sources in DIR [configure dir or ..] --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names EOF cat << EOF Host type: --build=BUILD configure for building on BUILD [BUILD=HOST] --host=HOST configure for HOST [guessed] --target=TARGET configure for TARGET [TARGET=HOST] Features and packages: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR EOF if test -n "$ac_help"; then echo "--enable and --with options recognized:$ac_help" fi exit 0 ;; -host | --host | --hos | --ho) ac_prev=host ;; -host=* | --host=* | --hos=* | --ho=*) host="$ac_optarg" ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir="$ac_optarg" ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir="$ac_optarg" ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir="$ac_optarg" ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir="$ac_optarg" ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir="$ac_optarg" ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir="$ac_optarg" ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir="$ac_optarg" ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix="$ac_optarg" ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix="$ac_optarg" ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix="$ac_optarg" ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name="$ac_optarg" ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir="$ac_optarg" ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir="$ac_optarg" ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site="$ac_optarg" ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir="$ac_optarg" ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir="$ac_optarg" ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target="$ac_optarg" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers) echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "with_${ac_package}='$ac_optarg'" ;; -without-* | --without-*) ac_package=`echo $ac_option|sed -e 's/-*without-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` eval "with_${ac_package}=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes="$ac_optarg" ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries="$ac_optarg" ;; -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; *) if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then echo "configure: warning: $ac_option: invalid host type" 1>&2 fi if test "x$nonopt" != xNONE; then { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } fi nonopt="$ac_option" ;; esac done if test -n "$ac_prev"; then { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } fi trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 # File descriptor usage: # 0 standard input # 1 file creation # 2 errors and warnings # 3 some systems may open it to /dev/tty # 4 used on the Kubota Titan # 6 checking for... messages and results # 5 compiler messages saved in config.log if test "$silent" = yes; then exec 6>/dev/null else exec 6>&1 fi exec 5>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. " 1>&5 # Strip out --no-create and --no-recursion so they do not pile up. # Also quote any args containing shell metacharacters. ac_configure_args= for ac_arg do case "$ac_arg" in -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ac_configure_args="$ac_configure_args '$ac_arg'" ;; *) ac_configure_args="$ac_configure_args $ac_arg" ;; esac done # NLS nuisances. # Only set these to C if already set. These must not be set unconditionally # because not all systems understand e.g. LANG=C (notably SCO). # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! # Non-C LC_CTYPE values break the ctype check. if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. ac_unique_file=fookb.c # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } else { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } fi fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" . "$ac_site_file" fi done if test -r "$cache_file"; then echo "loading cache $cache_file" . $cache_file else echo "creating cache $cache_file" > $cache_file fi ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross ac_exeext= ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ac_n= ac_c=' ' ac_t=' ' else ac_n=-n ac_c= ac_t= fi else ac_n= ac_c='\c' ac_t= fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:535: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:565: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" break fi done IFS="$ac_save_ifs" if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# -gt 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift set dummy "$ac_dir/$ac_word" "$@" shift ac_cv_prog_CC="$@" fi fi fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$CC"; then case "`uname -s`" in *win32* | *WIN32*) # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:616: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="cl" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi ;; esac fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 echo "configure:648: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF #line 659 "configure" #include "confdefs.h" main(){return(0);} EOF if { (eval echo configure:664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then ac_cv_prog_cc_cross=no else ac_cv_prog_cc_cross=yes fi else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_works=no fi rm -fr conftest* ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 echo "configure:690: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 echo "configure:695: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no fi fi echo "$ac_t""$ac_cv_prog_gcc" 1>&6 if test $ac_cv_prog_gcc = yes; then GCC=yes else GCC= fi ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 echo "configure:723: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then ac_cv_prog_cc_g=yes else ac_cv_prog_cc_g=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 if test "$ac_test_CFLAGS" = set; then CFLAGS="$ac_save_CFLAGS" elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi WUTIL_LIB="-lWUtil" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 echo "configure:761: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and "${CC-cc}" will confuse make. CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP=/lib/cpp fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* ac_cv_prog_CPP="$CPP" fi CPP="$ac_cv_prog_CPP" else ac_cv_prog_CPP="$CPP" fi echo "$ac_t""$CPP" 1>&6 # If we find X, set shell vars x_includes and x_libraries to the # paths, otherwise set no_x=yes. # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 echo "configure:845: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" : fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then # Both variables are already set. have_x=yes else if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=NO ac_x_libraries=NO rm -fr conftestdir if mkdir conftestdir; then cd conftestdir # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat > Imakefile <<'EOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' EOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && test -f $ac_im_libdir/libX11.$ac_extension; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case "$ac_im_incroot" in /usr/include) ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; esac case "$ac_im_usrlibdir" in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; esac fi cd .. rm -fr conftestdir fi if test "$ac_x_includes" = NO; then # Guess where to find include files, by looking for this one X11 .h file. test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:912: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* # We can compile using X headers with no special include directory. ac_x_includes= else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* # Look for the header file in a standard set of common directories. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in \ /usr/X11/include \ /usr/X11R6/include \ /usr/X11R5/include \ /usr/X11R4/include \ \ /usr/include/X11 \ /usr/include/X11R6 \ /usr/include/X11R5 \ /usr/include/X11R4 \ \ /usr/local/X11/include \ /usr/local/X11R6/include \ /usr/local/X11R5/include \ /usr/local/X11R4/include \ \ /usr/local/include/X11 \ /usr/local/include/X11R6 \ /usr/local/include/X11R5 \ /usr/local/include/X11R4 \ \ /usr/X386/include \ /usr/x386/include \ /usr/XFree86/include/X11 \ \ /usr/include \ /usr/local/include \ /usr/unsupported/include \ /usr/athena/include \ /usr/local/x11r5/include \ /usr/lpp/Xamples/include \ \ /usr/openwin/include \ /usr/openwin/share/include \ ; \ do if test -r "$ac_dir/$x_direct_test_include"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest* fi # $ac_x_includes = NO if test "$ac_x_libraries" = NO; then # Check for the libraries. test -z "$x_direct_test_library" && x_direct_test_library=Xt test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. ac_x_libraries= else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* LIBS="$ac_save_LIBS" # First see if replacing the include by lib works. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ /usr/X11/lib \ /usr/X11R6/lib \ /usr/X11R5/lib \ /usr/X11R4/lib \ \ /usr/lib/X11 \ /usr/lib/X11R6 \ /usr/lib/X11R5 \ /usr/lib/X11R4 \ \ /usr/local/X11/lib \ /usr/local/X11R6/lib \ /usr/local/X11R5/lib \ /usr/local/X11R4/lib \ \ /usr/local/lib/X11 \ /usr/local/lib/X11R6 \ /usr/local/lib/X11R5 \ /usr/local/lib/X11R4 \ \ /usr/X386/lib \ /usr/x386/lib \ /usr/XFree86/lib/X11 \ \ /usr/lib \ /usr/local/lib \ /usr/unsupported/lib \ /usr/athena/lib \ /usr/local/x11r5/lib \ /usr/lpp/Xamples/lib \ /lib/usr/lib/X11 \ \ /usr/openwin/lib \ /usr/openwin/share/lib \ ; \ do for ac_extension in a so sl; do if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f conftest* fi # $ac_x_libraries = NO if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then # Didn't find X anywhere. Cache the known absence of X. ac_cv_have_x="have_x=no" else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi fi eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then echo "$ac_t""$have_x" 1>&6 no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. cat >> confdefs.h <<\EOF #define X_DISPLAY_MISSING 1 EOF X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else if test -n "$x_includes"; then X_CFLAGS="$X_CFLAGS -I$x_includes" fi # It would also be nice to do this for all -L options, not just this one. if test -n "$x_libraries"; then X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 echo "configure:1094: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_R_nospace=no fi rm -f conftest* if test $ac_R_nospace = yes; then echo "$ac_t""no" 1>&6 X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_R_space=no fi rm -f conftest* if test $ac_R_space = yes; then echo "$ac_t""yes" 1>&6 X_LIBS="$X_LIBS -R $x_libraries" else echo "$ac_t""neither works" 1>&6 fi fi LIBS="$ac_xsave_LIBS" esac fi # Check for system-dependent libraries X programs must link with. # Do this before checking for the system-independent R6 libraries # (-lICE), since we may need -lsocket or whatever for X linking. if test "$ISC" = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" else # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 echo "configure:1159: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" else echo "$ac_t""no" 1>&6 fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 echo "configure:1200: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" else echo "$ac_t""no" 1>&6 fi fi # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, # to get the SysV transport functions. # chad@anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4) # needs -lnsl. # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 echo "configure:1248: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else gethostbyname(); #endif ; return 0; } EOF if { (eval echo configure:1276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_gethostbyname=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 echo "configure:1297: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" else echo "$ac_t""no" 1>&6 fi fi # lieder@skyler.mavd.honeywell.com says without -lsocket, # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary # on later versions), says simon@lia.di.epfl.ch: it contains # gethostby* variants that don't use the nameserver (or something). # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 echo "configure:1346: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_connect) || defined (__stub___connect) choke me #else connect(); #endif ; return 0; } EOF if { (eval echo configure:1374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_connect=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 echo "configure:1395: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" else echo "$ac_t""no" 1>&6 fi fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 echo "configure:1438: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_remove) || defined (__stub___remove) choke me #else remove(); #endif ; return 0; } EOF if { (eval echo configure:1466: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_remove=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 echo "configure:1487: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" else echo "$ac_t""no" 1>&6 fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 echo "configure:1530: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shmat) || defined (__stub___shmat) choke me #else shmat(); #endif ; return 0; } EOF if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_shmat=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 echo "configure:1579: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" else echo "$ac_t""no" 1>&6 fi fi fi # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS="$LDFLAGS" test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 echo "configure:1631: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" else echo "$ac_t""no" 1>&6 fi LDFLAGS="$ac_save_LDFLAGS" fi echo $ac_n "checking for XkbOpenDisplay in -lX11""... $ac_c" 1>&6 echo "configure:1676: checking for XkbOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XkbOpenDisplay | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lX11 $X_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_lib=HAVE_LIB`echo X11 | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >> confdefs.h <&6 { echo "configure: error: Fatal: no libX11 or no XkbOpenDisplay() in libX11" 1>&2; exit 1; } fi echo $ac_n "checking for XpmReadFileToImage in -lXpm""... $ac_c" 1>&6 echo "configure:1726: checking for XpmReadFileToImage in -lXpm" >&5 ac_lib_var=`echo Xpm'_'XpmReadFileToImage | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lXpm $X_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_lib=HAVE_LIB`echo Xpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >> confdefs.h <&6 { echo "configure: error: Fatal: no libXpm found!" 1>&2; exit 1; } fi # Check whether --enable-libWUtil or --disable-libWUtil was given. if test "${enable_libWUtil+set}" = set; then enableval="$enable_libWUtil" if test $enable_libWUtil = yes ; then echo $ac_n "checking for WMReadPropListFromFile in -lWUtil""... $ac_c" 1>&6 echo "configure:1784: checking for WMReadPropListFromFile in -lWUtil" >&5 ac_lib_var=`echo WUtil'_'WMReadPropListFromFile | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lWUtil $X_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 for ac_hdr in WINGs/WUtil.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo "configure:1824: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1834: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` cat >> confdefs.h <&6 echo "configure: warning: No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb" 1>&2 WUTIL_LIB="" fi done else echo "$ac_t""no" 1>&6 echo "configure: warning: No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb" 1>&2 WUTIL_LIB="" fi fi WUTIL_LIB="" else echo $ac_n "checking for WMReadPropListFromFile in -lWUtil""... $ac_c" 1>&6 echo "configure:1880: checking for WMReadPropListFromFile in -lWUtil" >&5 ac_lib_var=`echo WUtil'_'WMReadPropListFromFile | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lWUtil $X_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 for ac_hdr in WINGs/WUtil.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo "configure:1920: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1930: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` cat >> confdefs.h <&6 echo "configure: warning: No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb" 1>&2 WUTIL_LIB="" fi done else echo "$ac_t""no" 1>&6 echo "configure: warning: No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb" 1>&2 WUTIL_LIB="" fi fi # Check whether --enable-wmaker or --disable-wmaker was given. if test "${enable_wmaker+set}" = set; then enableval="$enable_wmaker" if test $enable_wmaker = yes ; then cat >> confdefs.h <<\EOF #define WMAKER 1 EOF fi else # Extract the first word of "wmaker", so it can be a program name with args. set dummy wmaker; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1993: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_HAVE_WMAKER'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$HAVE_WMAKER"; then ac_cv_prog_HAVE_WMAKER="$HAVE_WMAKER" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_HAVE_WMAKER="yes" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_HAVE_WMAKER" && ac_cv_prog_HAVE_WMAKER="no" fi fi HAVE_WMAKER="$ac_cv_prog_HAVE_WMAKER" if test -n "$HAVE_WMAKER"; then echo "$ac_t""$HAVE_WMAKER" 1>&6 else echo "$ac_t""no" 1>&6 fi if test $HAVE_WMAKER = yes ; then cat >> confdefs.h <<\EOF #define WMAKER 1 EOF fi fi trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # EOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). sed -n \ -e "s/'/'\\\\''/g" \ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ;; esac >> confcache if cmp -s $cache_file confcache; then : else if test -w $cache_file; then echo "updating cache $cache_file" cat confcache > $cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Any assignment to VPATH causes Sun make to only execute # the first set of double-colon rules, so remove it if not needed. # If there is a colon in the path, we need to keep it. if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. cat > conftest.defs <<\EOF s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g s%\[%\\&%g s%\]%\\&%g s%\$%$$%g EOF DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` rm -f conftest.defs # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} echo creating $CONFIG_STATUS rm -f $CONFIG_STATUS cat > $CONFIG_STATUS </dev/null | sed 1q`: # # $0 $ac_configure_args # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" for ac_option do case "\$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; *) echo "\$ac_cs_usage"; exit 1 ;; esac done ac_given_srcdir=$srcdir trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF $ac_vpsub $extrasub s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g s%@exec_prefix@%$exec_prefix%g s%@prefix@%$prefix%g s%@program_transform_name@%$program_transform_name%g s%@bindir@%$bindir%g s%@sbindir@%$sbindir%g s%@libexecdir@%$libexecdir%g s%@datadir@%$datadir%g s%@sysconfdir@%$sysconfdir%g s%@sharedstatedir@%$sharedstatedir%g s%@localstatedir@%$localstatedir%g s%@libdir@%$libdir%g s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g s%@CC@%$CC%g s%@WUTIL_LIB@%$WUTIL_LIB%g s%@CPP@%$CPP%g s%@X_CFLAGS@%$X_CFLAGS%g s%@X_PRE_LIBS@%$X_PRE_LIBS%g s%@X_LIBS@%$X_LIBS%g s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g s%@HAVE_WMAKER@%$HAVE_WMAKER%g CEOF EOF cat >> $CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. ac_more_lines=: ac_sed_cmds="" while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file else sed "${ac_end}q" conftest.subs > conftest.s$ac_file fi if test ! -s conftest.s$ac_file; then ac_more_lines=false rm -f conftest.s$ac_file else if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f conftest.s$ac_file" else ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" fi ac_file=`expr $ac_file + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_cmds` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` else ac_dir_suffix= ac_dots= fi case "$ac_given_srcdir" in .) srcdir=. if test -z "$ac_dots"; then top_srcdir=. else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; *) # Relative path. srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" top_srcdir="$ac_dots$ac_given_srcdir" ;; esac echo creating "$ac_file" rm -f "$ac_file" configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *Makefile*) ac_comsub="1i\\ # $configure_input" ;; *) ac_comsub= ;; esac ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` sed -e "$ac_comsub s%@configure_input@%$configure_input%g s%@srcdir@%$srcdir%g s%@top_srcdir@%$top_srcdir%g " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file fi; done rm -f conftest.s* EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF exit 0 EOF chmod +x $CONFIG_STATUS rm -fr confdefs* $ac_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 ./fookb-3.0/sound.c0100644000175000017500000000134707417146155012641 0ustar wartwart/* * File: sound.c * * (c) 1998-2002 Alexey Vyskubov */ #include /* fork() */ #include /* pid_t */ #include /* system */ #include #include /* puts() */ #include "sound.h" #include "params.h" void drip() { pid_t pid; pid = fork(); if (pid == (pid_t) (-1)) { puts("Cannot fork!"); switch (errno) { case ENOMEM: puts("Not enough memory!"); exit(22); break; case EAGAIN: puts("To many processes!"); exit(23); break; default: puts("Unknown error, please report!"); } } if (pid == (pid_t) 0) { return; } if (!strcmp(read_param("Sound"), "Yes")) { exit(system(read_param("Command"))); } else { exit(0); } } ./fookb-3.0/params.c0100644000175000017500000000603307417146155012771 0ustar wartwart#include #include /* strlen & strcat */ #include /* toupper */ #include #include "params.h" #include "opts.h" /* Let's make lint happy */ #define lputs(x) (void)puts(x) char *read_param(string) char *string; { XrmValue xvalue; #ifdef HAVE_WINGS_WUTIL_H WMPropList *pl; WMPropList *value; WMPropList *tmp; char *path; #endif char *newstring; char *newString; char *result; char *str_type[20]; /* Let's make lint happy */ xvalue.size = 0; newstring = (char *) malloc(7 + strlen(string)); newString = (char *) malloc(7 + strlen(string)); /* 7 is strlen("fookb.") + 1 */ if ((NULL == newstring) || (NULL == newString)) { lputs("Not enough memory"); exit(EXIT_FAILURE); } strcpy(newstring, "fookb."); strcpy(newString, "Fookb."); strcat(newstring, string); strcat(newString, string); newstring[6] = tolower((unsigned char)newstring[6]); newString[6] = toupper((unsigned char)newString[6]); /* Command line parameters take precedence over all */ if (XrmGetResource(cmdlineDB, newstring, newString, str_type, &xvalue) == True) { result = (char *) malloc(xvalue.size + 1); if (NULL == result) { lputs("Not enough memory"); exit(EXIT_FAILURE); } strncpy(result, xvalue.addr, (size_t)xvalue.size); result[(int) xvalue.size + 1] = '\0'; free(newstring); free(newString); return result; } #ifdef HAVE_WINGS_WUTIL_H free(newstring); free(newString); /* * Here we start the game with property lists. * pl will be property list, read from DEFAULTS_FILE. * tmp will be temporary key for this property list, * constructed using ``string'', supplied to function. * value will be property list, which contain the value * of parameter */ path = wexpandpath(DEFAULTS_FILE); pl = WMReadPropListFromFile(path); wfree(path); if (!pl) { lputs("Cannot open config file: "); lputs(DEFAULTS_FILE); exit(EXIT_FAILURE); } tmp = WMCreatePLString(string); value = WMGetFromPLDictionary(pl, tmp); WMReleasePropList(tmp); /* * pl and value objects will exist as long as fookb is running */ if (!value) { lputs("Cannot find in config file value for: "); lputs(string); exit(EXIT_FAILURE); } if (!WMIsPLString(value)) { lputs("Value for: "); lputs(string); lputs("in config file is not a string."); exit(EXIT_FAILURE); } result = WMGetFromPLString(value); if (!result) { lputs("Something wrong with libWUtils :("); lputs("Please report this error to fookb author."); exit(EXIT_FAILURE); } return result; #else /* HAVE_WINGS_WUTIL_H */ if (XrmGetResource(finalDB, newstring, newString, str_type, &xvalue) == True) { result = (char *) malloc(xvalue.size + 1); if (NULL == result) { lputs("Not enough memory"); exit(EXIT_FAILURE); } strncpy(result, xvalue.addr, (size_t)xvalue.size); result[(int) xvalue.size + 1] = '\0'; free(newstring); free(newString); return result; } else { (void)printf("Fatal error: cannot find configuration parameter %s\n", newstring); exit(EXIT_FAILURE); } #endif } ./fookb-3.0/fookb.1x0100644000175000017500000000763107417146154012720 0ustar wartwart.\" Copyright (c) 1998-2002 Alexey Vyskubov .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the Artistic License .\" This manual 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. .TH fookb 1 "10 Jan 2002" "fookb" "FOOcrosoft" .SH NAME fookb \- Xkb state indicator with optional Window Maker support .SH SYNOPSIS .B fookb [options] .SH DESCRIPTION \fBfookb\fP is a Xkb state indicator. It displays the icon corresponding to the number of Xkb locked group. You may use mouse-clicks to change Xkb locked group with mouse. Additionally, \fBfookb\fP can be configured to execute a program on changing group. .P \fBfookb\fP man page is based on \fBWMMail.app\fP man page. Program was written from scratch. .P To use \fBfookb\fP with the Window Maker Dock, simply drag the \fBfookb\fP icon to the Window Maker Dock (if \fBfookb\fP was compiled with Window Maker support). .SH OPTIONS .TP NB! Command line parameters take precedence over config file or X resources! .TP .B -icon1 .TP .B -icon2 .TP .B -icon3 .TP .B -icon4 .TP .B -iconboom .TP .B -display .SH CONFIGURATION FILE (for libWUtil-enabled version) The configuration file consist of a single PropList dictionary, which in turn is composed of several PropList key\-value pairs. The recognized keys is: .TP .B Icon1 Filename (mandatory) XPM file contains an icon (48x48) for 1st XKB group. .TP .B Icon2 Filename (mandatory) XPM file contains an icon (48x48) for 2nd XKB group. .TP .B Icon3 Filename (mandatory) XPM file contains an icon (48x48) for 3rd XKB group. .TP .B Icon4 Filename (mandatory) XPM file contains an icon (48x48) for 4th XKB group. .TP .B IconBoom Filename (mandatory) XPM file contains an icon (48x48) for "broken Xkb". Please look in BUGS section. .TP .B Sound (Yes|No) \fBfookb\fP will run command from "Command" value (see below), if this parameter is set to "Yes". You'll receive (non-fatal) error message if this parameter is not defined. In any other case command will not be run. .TP .B Command command_to_run This command will be run if XKB locked group is changed and "Sound" is set to "Yes". .SH X resources .TP NB! Parameters in PropList config file take precedence over X resources! .TP .B fookb.icon1 Filename .TP .B fookb.icon2 Filename .TP .B fookb.icon3 Filename .TP .B fookb.icon4 Filename .TP .B fookb.iconBoom Filename .TP .B fookb.sound Yes/No .TP .B fookb.command Command .SH EXAMPLES Here is an example of configuration file. .P .nf { Icon1 = "/usr/local/share/fookb/icon1.xpm"; Icon2 = "/usr/local/share/fookb/icon2.xpm"; Icon3 = "/usr/local/share/fookb/icon3.xpm"; Icon4 = "/usr/local/share/fookb/icon4.xpm"; IconBoom = "/usr/local/share/fookb/crash.xpm"; Sound = "Yes"; Command = "/usr/bin/play /usr/local/share/fookb/click.au"; } .fi Here is an example of app-defaults file. .P .nf fookb.icon1: /usr/local/share/fookb/icon1.xpm fookb.icon2: /usr/local/share/fookb/icon2.xpm fookb.icon3: /usr/local/share/fookb/icon3.xpm fookb.icon4: /usr/local/share/fookb/icon4.xpm fookb.iconBoom: /usr/local/share/fookb/crash.xpm fookb.sound: Yes fookb.command: /home/bgates/bin/playmssound .fi .SH FILES .TP .B ~/GNUstep/Defaults/FOOkb \fBfookb\fP defaults (for Window Maker enabled version). .TP .B ~/.fookb \fBfookb\fP defaults (for Window Maker disabled version). .SH BUGS Sometimes \fBfookb\fP receives message about changing XKB group, but message.state.group does not point to any existing XKB group. In this case \fBfookb\fP will show IconBoom (from config file) picture. .P As far as I know the only way to look at this bug is to run vmware. .SH VERSION This man page is [hopefully] up-to-date for version 3.0 of \fBfookb\fP. .SH AUTHORS .P \fBfookb\fP is (c) 1998-2002 Alexey Vyskubov . .P This manpage was written by Alexey Vyskubov . ./fookb-3.0/configure.in0100644000175000017500000000644407417146154013660 0ustar wartwartdnl Process this file with autoconf to produce a configure script. dnl dnl (c) 1998-2002 Alexey Vyskubov dnl dnl vim:ts=8:sts=2:shiftwidth=2:expandtab:foldmethod=marker dnl {{{1 AC_INIT(fookb.c) dnl Checks for programs. AC_PROG_CC WUTIL_LIB="-lWUtil" AC_SUBST(WUTIL_LIB) dnl }}}1 dnl Checks for libraries. {{{1 dnl Basic checks: X compilation settings and essential libraries {{{2 AC_PATH_XTRA dnl Adds C compiler flags to X_CFLAGS and X linker flags to X_CFLAGS dnl Extra libraries will be in X_EXTRA_LIBS dnl Libraries wich should be linked before -lX11 will be in X_PRE_LIBS dnl We do not check X_DISPLAY_MISSING because we need to check for dnl XkbOpenDisplay in libX11 anyway. AC_CHECK_LIB( [X11], [XkbOpenDisplay], , [AC_MSG_ERROR([[Fatal: no libX11 or no XkbOpenDisplay() in libX11]])], $X_LIBS ) AC_CHECK_LIB( [Xpm], [XpmReadFileToImage], , [AC_MSG_ERROR([[Fatal: no libXpm found!]])], $X_LIBS ) dnl }}}2 dnl --enable/disable libWUtil (property lists handling) {{{2 AC_ARG_ENABLE( [libWUtil], [ --enable-libWUtil try to use property lists handling in libWUtil], [ if test $enable_libWUtil = yes ; then dnl enabled: libWUtil and WINGs/WUtil.h check {{{3 AC_CHECK_LIB( [WUtil], [WMReadPropListFromFile], [ dnl library is found; let's check header file {{{4 AC_CHECK_HEADERS( [WINGs/WUtil.h], , [ AC_MSG_WARN([[No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb]]) WUTIL_LIB="" ] ) dnl }}}4 ], [ AC_MSG_WARN([[No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb]]) WUTIL_LIB="" ] , $X_LIBS ) dnl That's EVEN BETTER than LISP!!! dnl }}}3 fi dnl if --disable-libWUtil is given we just do almost nothing WUTIL_LIB="" ], [ dnl neither --enable nor --disable-libWUtil is not given. dnl By default we will try to search for libWUtil {{{3 AC_CHECK_LIB( [WUtil], [WMReadPropListFromFile], [ dnl library is found; let's check header file {{{4 AC_CHECK_HEADERS( [WINGs/WUtil.h], , [ AC_MSG_WARN([[No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb]]) WUTIL_LIB="" ] ) dnl }}}4 ], [ AC_MSG_WARN([[No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb]]) WUTIL_LIB="" ] , $X_LIBS ) dnl }}}3 ] ) dnl }}}2 dnl }}}1 AC_ARG_ENABLE( [wmaker], [ --enable-wmaker create windowmaker dockable application], [ if test $enable_wmaker = yes ; then AC_DEFINE(WMAKER) fi ], [ AC_CHECK_PROG(HAVE_WMAKER, wmaker, yes, no) if test $HAVE_WMAKER = yes ; then AC_DEFINE(WMAKER) fi ] ) AC_OUTPUT(Makefile) ./fookb-3.0/Makefile.in0100644000175000017500000000350407475427753013421 0ustar wartwartBIN_PATH=@prefix@/bin SHARE_PATH=@prefix@/share/fookb MAN_PATH=@prefix@/man/man1 srcdir = .. # FLAGS=-Wall -g -DDEBUG @DEFS@ FLAGS=-Wall @DEFS@ GCC=@CC@ INCLUDEDIR=@X_CFLAGS@ LIBDIR=@X_LIBS@ PRELIBS=@X_PRE_LIBS@ EXTRALIBS=@X_EXTRA_LIBS@ LIBS=@LIBS@ # DEBUG # DLIBS=-lefence DLIBS= fookb: fookb.o params.o images.o sound.o opts.o globals.o ${GCC} ${PRELIBS} ${LIBDIR} ${EXTRALIBS} ${DLIBS} ${LIBS} -o fookb fookb.o params.o images.o sound.o opts.o globals.o @WUTIL_LIB@ fookb.o: $(srcdir)/fookb.c $(srcdir)/fookb.h $(srcdir)/params.h ${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/fookb.c params.o: $(srcdir)/params.c $(srcdir)/params.h ${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/params.c images.o: $(srcdir)/images.c $(srcdir)/images.h ${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/images.c sound.o: $(srcdir)/sound.h $(srcdir)/sound.c $(srcdir)/params.h ${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/sound.c opts.o: $(srcdir)/opts.h $(srcdir)/fookb.h $(srcdir)/opts.c ${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/opts.c globals.o: $(srcdir)/globals.c ${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/globals.c clean: rm -f fookb fookb.o params.o images.o sound.o opts.o globals.o superclean: clean rm -f Makefile config.* superpuperclean: superclean rm -f configure install: fookb #mkdir -p ${BIN_PATH} #mkdir -p ${DESTDIR}${SHARE_PATH} #mkdir -p ${MAN_PATH} #cp fookb ${BIN_PATH} cp $(srcdir)/1.xpm ${DESTDIR}${SHARE_PATH} cp $(srcdir)/2.xpm ${DESTDIR}${SHARE_PATH} cp $(srcdir)/3.xpm ${DESTDIR}${SHARE_PATH} cp $(srcdir)/4.xpm ${DESTDIR}${SHARE_PATH} cp $(srcdir)/rus.xpm ${DESTDIR}${SHARE_PATH} cp $(srcdir)/lat.xpm ${DESTDIR}${SHARE_PATH} cp $(srcdir)/boom.xpm ${DESTDIR}${SHARE_PATH} cp $(srcdir)/beep_spring.au ${DESTDIR}${SHARE_PATH} #cp fookb.1x ${MAN_PATH} ./fookb-3.0/INSTALL0100644000175000017500000000437407417146154012400 0ustar wartwartHow to compile and install fookb: 0. The best way The best way is to install Debian Linux and use apt-get to install precompiled version of fookb :) 1. Generating Makefile. ./configure You may use ``./configure --prefix some_dir'' if you wish to install fookb in ``some_dir'' -- not in ``/usr/local''. Icons will be placed under ``some_dir/share/fookb'', manual page under ``some_dir/man/man1'', fookb itself under ``some_dir/bin''. E.g.: ./configure --prefix /usr/local/stow/fookb 2. Fine tuning. [Read this section only if compilation process was unsuccessful] configure tries automagically decide: do you wish to compile WindowMaker dockable version of fookb and would you like use PropList-like configuration file or X resources for configuring fookb (using libWUtil). If you have libWUtil AND WINGs/WUtil.h we will try to compile libWUtil-enabled version of fookb. If you want to compile libWUtil-free version of fookb, run configure with --disable-libWUtil argument. If you have wmaker in your $PATH, we will compile WindowMaker dockable verison of fookb. Run configure with --disable-wmaker to disable this behaviour. If you have no wmaker in your $PATH you still can compile WindowMaker dockable version of fookb. Run configure with --enable-wmaker. 3. Compiling make If compilation was unsuccessful or you can get no satisfaction, read previous section. 4. Installing make install 5. Configuring fookb IF YOU COMPILED libWUtil-version of fookb: Copy fookb.cf to ~/GNUstep/Defaults/FOOkb (for Window Maker enabled) or to ~/.fookb (for Window Maker disabled version) and edit this file according to your desire. IF YOU COMPILED non-libWUtil version of fookb: You should put the following resources in your /usr/X11R6/lib/X11/app-defaults/Fookb (or in other file which will be read by xrdb -- such as ~/.Xresources): fookb.icon1: xpm_file_with_full_path fookb.icon2: the same fookb.icon3: the same fookb.icon4: the same fookb.iconBoom: the same fookb.sound: Yes/No fookb.command: some_command (for playing sound) BOTH WAYS: Instead of putting parameter in config file you may use the following command line parameters: -icon1 xpm_file_with_full_path -icon2 the same -icon3 the same -icon4 the same -iconboom the same You may also use -display command line parameter. ./fookb-3.0/README.russian.utf-80100644000175000017500000000075607417146154014654 0ustar wartwart***** Этот текст не дублирует файл README! ***** Если вы нашли эту программу по ссылке, приведенной в какой-либо книге (мне таких известно две), то имейте в виду, что инструкции по компиляции и установке fookb, приведенные в этих книгах, УСТАРЕЛИ! Делайте все так, как написано в INSTALL. ./fookb-3.0/TODO0100644000175000017500000000072407417146154012032 0ustar wartwartTo find English-speaking editor for all documentation. ??? WINGs-based config utility for fookb. [This is a place for your suggestion.] [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] There is NO PLACE for different Xkb groups for different windows. Xkb group is the property of X server, not window. [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] There is NO PLACE for putting icon in window tilebar. Use Window Maker; it provides such facility. I'm doing nothing with windows. ./fookb-3.0/opts.c0100644000175000017500000000507307417146155012476 0ustar wartwart/* * File: opts.c * * (c) 1998-2002 Alexey Vyskubov */ #include #include #include /* X Window standard header */ #include /* X resource manager stuff */ #include "fookb.h" #include "opts.h" static int tblentr = 6; /* There are 6 recognized options */ static XrmOptionDescRec tbl[] = { {"-icon1", ".icon1", XrmoptionSepArg, (XPointer) NULL}, {"-icon2", ".icon2", XrmoptionSepArg, (XPointer) NULL}, {"-icon3", ".icon3", XrmoptionSepArg, (XPointer) NULL}, {"-icon4", ".icon4", XrmoptionSepArg, (XPointer) NULL}, {"-iconboom", ".iconBoom", XrmoptionSepArg, (XPointer) NULL}, {"-display", ".display", XrmoptionSepArg, (XPointer) NULL} }; void ParseOptions(argc, argv) int *argc; register char *argv[]; { XrmValue value; char *str_type[20]; mydispname[0] = '\0'; XrmParseCommand(&cmdlineDB, tbl, tblentr, "fookb", argc, argv); #ifdef DEBUG puts("Hereiam"); #endif if (1 != *argc) { puts("Fookb v 3.0"); puts("\tUsage: fookb [options]"); puts("Possible options:"); puts("-icon1 xpm_file\t\tIcon to show for the 1st Xkb group"); puts("-icon2 xpm_file\t\tIcon to show for the 2nd Xkb group"); puts("-icon3 xpm_file\t\tIcon to show for the 3rd Xkb group"); puts("-icon4 xpm_file\t\tIcon to show for the 4th Xkb group"); puts("-iconboom xpm_file\tIcon to show when Xkb system goes crazy"); puts("-display X_display\tX display to use (normally not needed)"); puts(""); #ifdef HAVE_WINGS_WUTIL_H puts("Command line parameters takes precedence over X resources or configuration file!"); printf("Configuration file location: "); #ifdef WMAKER puts("~/GNUstep/Defaults/FOOkb"); #else puts("~/.fookb"); #endif #else puts("Command line paramaters takes precedence over X resources!"); #endif exit(0); } /* We should get display now -- we need it for access to other databases */ if (XrmGetResource(cmdlineDB, "fookb.display", "Fookb.Display", str_type, &value) == True) { (void) strncpy(mydispname, value.addr, (size_t)value.size); #ifdef DEBUG puts(mydispname); #endif } } void MoreOptions() { XrmDatabase servDB, appDB; appDB = XrmGetFileDatabase ("/usr/X11R6/lib/X11/app-defaults/Fookb"); (void) XrmMergeDatabases(appDB, &finalDB); /* Fookb defaults file added into final database */ /* Let's look: does xrdb load server defautls? (As a property of root window.) */ if (XResourceManagerString(dpy) != NULL) { servDB = XrmGetStringDatabase(XResourceManagerString(dpy)); XrmMergeDatabases(servDB, &finalDB); } } ./fookb-3.0/README0100644000175000017500000000021306773506142012214 0ustar wartwartIcons was submitted by LionN USER GUIDE Left click - next Xkb group Middle click - previous Xkb group Right click - exit ./fookb-3.0/sound.h0100644000175000017500000000021707417146155012641 0ustar wartwart/* * File: sound.h * * (c) 1998-2002 Alexey Vyskubov * */ #ifndef SOUND_H #define SOUND_H void drip(void); #endif ./fookb-3.0/fookb-plainx.1x0100644000175000017500000000764107475431227014214 0ustar wartwart.\" Copyright (c) 1998-2002 Alexey Vyskubov .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the Artistic License .\" This manual 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. .TH fookb 1 "10 Jan 2002" "fookb" "FOOcrosoft" .SH NAME fookb-plainx \- Xkb state indicator without Window Maker support .SH SYNOPSIS .B fookb-plainx [options] .SH DESCRIPTION \fBfookb\fP is a Xkb state indicator. It displays the icon corresponding to the number of Xkb locked group. You may use mouse-clicks to change Xkb locked group with mouse. Additionally, \fBfookb\fP can be configured to execute a program on changing group. .P \fBfookb\fP man page is based on \fBWMMail.app\fP man page. Program was written from scratch. .P To use \fBfookb\fP with the Window Maker Dock, simply drag the \fBfookb\fP icon to the Window Maker Dock (if \fBfookb\fP was compiled with Window Maker support). .SH OPTIONS .TP NB! Command line parameters take precedence over config file or X resources! .TP .B -icon1 .TP .B -icon2 .TP .B -icon3 .TP .B -icon4 .TP .B -iconboom .TP .B -display .SH CONFIGURATION FILE (for libWUtil-enabled version) The configuration file consist of a single PropList dictionary, which in turn is composed of several PropList key\-value pairs. The recognized keys is: .TP .B Icon1 Filename (mandatory) XPM file contains an icon (48x48) for 1st XKB group. .TP .B Icon2 Filename (mandatory) XPM file contains an icon (48x48) for 2nd XKB group. .TP .B Icon3 Filename (mandatory) XPM file contains an icon (48x48) for 3rd XKB group. .TP .B Icon4 Filename (mandatory) XPM file contains an icon (48x48) for 4th XKB group. .TP .B IconBoom Filename (mandatory) XPM file contains an icon (48x48) for "broken Xkb". Please look in BUGS section. .TP .B Sound (Yes|No) \fBfookb\fP will run command from "Command" value (see below), if this parameter is set to "Yes". You'll receive (non-fatal) error message if this parameter is not defined. In any other case command will not be run. .TP .B Command command_to_run This command will be run if XKB locked group is changed and "Sound" is set to "Yes". .SH X resources .TP NB! Parameters in PropList config file take precedence over X resources! .TP .B fookb.icon1 Filename .TP .B fookb.icon2 Filename .TP .B fookb.icon3 Filename .TP .B fookb.icon4 Filename .TP .B fookb.iconBoom Filename .TP .B fookb.sound Yes/No .TP .B fookb.command Command .SH EXAMPLES Here is an example of configuration file. .P .nf { Icon1 = "/usr/local/share/fookb/icon1.xpm"; Icon2 = "/usr/local/share/fookb/icon2.xpm"; Icon3 = "/usr/local/share/fookb/icon3.xpm"; Icon4 = "/usr/local/share/fookb/icon4.xpm"; IconBoom = "/usr/local/share/fookb/crash.xpm"; Sound = "Yes"; Command = "/usr/bin/play /usr/local/share/fookb/click.au"; } .fi Here is an example of app-defaults file. .P .nf fookb.icon1: /usr/local/share/fookb/icon1.xpm fookb.icon2: /usr/local/share/fookb/icon2.xpm fookb.icon3: /usr/local/share/fookb/icon3.xpm fookb.icon4: /usr/local/share/fookb/icon4.xpm fookb.iconBoom: /usr/local/share/fookb/crash.xpm fookb.sound: Yes fookb.command: /home/bgates/bin/playmssound .fi .SH FILES .TP .B ~/GNUstep/Defaults/FOOkb \fBfookb\fP defaults (for Window Maker enabled version). .TP .B ~/.fookb \fBfookb\fP defaults (for Window Maker disabled version). .SH BUGS Sometimes \fBfookb\fP receives message about changing XKB group, but message.state.group does not point to any existing XKB group. In this case \fBfookb\fP will show IconBoom (from config file) picture. .P As far as I know the only way to look at this bug is to run vmware. .SH VERSION This man page is [hopefully] up-to-date for version 3.0 of \fBfookb\fP. .SH AUTHORS .P \fBfookb\fP is (c) 1998-2002 Alexey Vyskubov . .P This manpage was written by Alexey Vyskubov . ./fookb-3.0/fookb-wmaker.1x0100644000175000017500000000763607475431263014213 0ustar wartwart.\" Copyright (c) 1998-2002 Alexey Vyskubov .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the Artistic License .\" This manual 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. .TH fookb 1 "10 Jan 2002" "fookb" "FOOcrosoft" .SH NAME fookb-wmaker \- Xkb state indicator with Window Maker support .SH SYNOPSIS .B fookb-wmaker [options] .SH DESCRIPTION \fBfookb\fP is a Xkb state indicator. It displays the icon corresponding to the number of Xkb locked group. You may use mouse-clicks to change Xkb locked group with mouse. Additionally, \fBfookb\fP can be configured to execute a program on changing group. .P \fBfookb\fP man page is based on \fBWMMail.app\fP man page. Program was written from scratch. .P To use \fBfookb\fP with the Window Maker Dock, simply drag the \fBfookb\fP icon to the Window Maker Dock (if \fBfookb\fP was compiled with Window Maker support). .SH OPTIONS .TP NB! Command line parameters take precedence over config file or X resources! .TP .B -icon1 .TP .B -icon2 .TP .B -icon3 .TP .B -icon4 .TP .B -iconboom .TP .B -display .SH CONFIGURATION FILE (for libWUtil-enabled version) The configuration file consist of a single PropList dictionary, which in turn is composed of several PropList key\-value pairs. The recognized keys is: .TP .B Icon1 Filename (mandatory) XPM file contains an icon (48x48) for 1st XKB group. .TP .B Icon2 Filename (mandatory) XPM file contains an icon (48x48) for 2nd XKB group. .TP .B Icon3 Filename (mandatory) XPM file contains an icon (48x48) for 3rd XKB group. .TP .B Icon4 Filename (mandatory) XPM file contains an icon (48x48) for 4th XKB group. .TP .B IconBoom Filename (mandatory) XPM file contains an icon (48x48) for "broken Xkb". Please look in BUGS section. .TP .B Sound (Yes|No) \fBfookb\fP will run command from "Command" value (see below), if this parameter is set to "Yes". You'll receive (non-fatal) error message if this parameter is not defined. In any other case command will not be run. .TP .B Command command_to_run This command will be run if XKB locked group is changed and "Sound" is set to "Yes". .SH X resources .TP NB! Parameters in PropList config file take precedence over X resources! .TP .B fookb.icon1 Filename .TP .B fookb.icon2 Filename .TP .B fookb.icon3 Filename .TP .B fookb.icon4 Filename .TP .B fookb.iconBoom Filename .TP .B fookb.sound Yes/No .TP .B fookb.command Command .SH EXAMPLES Here is an example of configuration file. .P .nf { Icon1 = "/usr/local/share/fookb/icon1.xpm"; Icon2 = "/usr/local/share/fookb/icon2.xpm"; Icon3 = "/usr/local/share/fookb/icon3.xpm"; Icon4 = "/usr/local/share/fookb/icon4.xpm"; IconBoom = "/usr/local/share/fookb/crash.xpm"; Sound = "Yes"; Command = "/usr/bin/play /usr/local/share/fookb/click.au"; } .fi Here is an example of app-defaults file. .P .nf fookb.icon1: /usr/local/share/fookb/icon1.xpm fookb.icon2: /usr/local/share/fookb/icon2.xpm fookb.icon3: /usr/local/share/fookb/icon3.xpm fookb.icon4: /usr/local/share/fookb/icon4.xpm fookb.iconBoom: /usr/local/share/fookb/crash.xpm fookb.sound: Yes fookb.command: /home/bgates/bin/playmssound .fi .SH FILES .TP .B ~/GNUstep/Defaults/FOOkb \fBfookb\fP defaults (for Window Maker enabled version). .TP .B ~/.fookb \fBfookb\fP defaults (for Window Maker disabled version). .SH BUGS Sometimes \fBfookb\fP receives message about changing XKB group, but message.state.group does not point to any existing XKB group. In this case \fBfookb\fP will show IconBoom (from config file) picture. .P As far as I know the only way to look at this bug is to run vmware. .SH VERSION This man page is [hopefully] up-to-date for version 3.0 of \fBfookb\fP. .SH AUTHORS .P \fBfookb\fP is (c) 1998-2002 Alexey Vyskubov . .P This manpage was written by Alexey Vyskubov . ./fookb-3.0/fookb.resources0100644000175000017500000000041007475430270014365 0ustar wartwartfookb.icon1: /usr/share/fookb/1.xpm fookb.icon2: /usr/share/fookb/2.xpm fookb.icon3: /usr/share/fookb/3.xpm fookb.icon4: /usr/share/fookb/4.xpm fookb.iconBoom: /usr/share/fookb/boom.xpm fookb.sound: Yes fookb.command: /usr/bin/play /usr/share/fookb/beep_spring.au