home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume17 / bricons / part01 < prev    next >
Encoding:
Text File  |  1992-04-13  |  50.4 KB  |  1,453 lines

  1. Newsgroups: comp.sources.x
  2. Path: uunet!zaphod.mps.ohio-state.edu!mips!msi!dcmartin
  3. From: bri@ukc.ac.uk
  4. Subject: v17i061: bricons - command panel, Part01/02
  5. Message-ID: <csx-17i061-bricons@uunet.UU.NET>
  6. Originator: dcmartin@fascet
  7. Sender: dcmartin@msi.com (David C. Martin - Moderator)
  8. Nntp-Posting-Host: fascet
  9. Organization: Molecular Simulations, Inc.
  10. Date: Tue, 14 Apr 1992 14:45:34 GMT
  11. Approved: dcmartin@msi.com
  12. Lines: 1439
  13.  
  14. The program is called bricons and allows the user to quickly start up 
  15. applications from a configured command panel on a workstation display
  16. running X.  Each button is used to execute a shell command using the Bourne 
  17. shell. Each button can be configured to display a single spring loaded popup 
  18. menu with up to ten more buttons.
  19.  
  20. - Bruce Ingram -
  21.  
  22. Submitted-by: bri@ukc.ac.uk
  23. Posting-number: Volume 17, Issue 61
  24. Archive-name: bricons/part01
  25.  
  26. #!/bin/sh
  27. # This is a shell archive (produced by shar 3.49)
  28. # To extract the files from this archive, save it to a file, remove
  29. # everything above the "!/bin/sh" line above, and type "sh file_name".
  30. #
  31. # made 04/14/1992 14:43 UTC by dcmartin@fascet
  32. # Source directory /home/fascet/dcmartin/csx/src/bricons
  33. #
  34. # existing files will NOT be overwritten unless -c is specified
  35. #
  36. # This is part 1 of a multipart archive                                    
  37. # do not concatenate these parts, unpack them in order with /bin/sh        
  38. #
  39. # This shar contains:
  40. # length  mode       name
  41. # ------ ---------- ------------------------------------------
  42. #    738 -rw-r--r-- Imakefile
  43. #  11340 -rw-r--r-- Makefile
  44. #    575 -rw-r--r-- Makefile.std
  45. #   1515 -rw-r--r-- README
  46. #    784 -rw-r--r-- Xbricons
  47. #   6041 -rw-r--r-- action.c
  48. #   1871 -rw-r--r-- bitmaps/calander
  49. #   1883 -rw-r--r-- bitmaps/letters
  50. #   2256 -rw-r--r-- bitmaps/games
  51. #   2378 -rw-r--r-- bitmaps/help
  52. #   1965 -rw-r--r-- bitmaps/dclock
  53. #   2256 -rw-r--r-- bitmaps/dragon
  54. #   1748 -rw-r--r-- bitmaps/readNews
  55. #    875 -rw-r--r-- bitmaps/load
  56. #   6362 -rw-r--r-- bricons.l
  57. #   7617 -rw-r--r-- bricons.txt
  58. #  13200 -rw-r--r-- buttons.c
  59. #   6188 -rw-r--r-- gen.c
  60. #   1642 -rw-r--r-- gen.h
  61. #   7300 -rw-r--r-- main.c
  62. #     22 -rw-r--r-- patchlevel.h
  63. #   1066 -rw-r--r-- trans.h
  64. #    162 -rw-r--r-- widgets.h
  65. #
  66. if test -r _shar_seq_.tmp; then
  67.     echo 'Must unpack archives in sequence!'
  68.     echo Please unpack part `cat _shar_seq_.tmp` next
  69.     exit 1
  70. fi
  71. # ============= Imakefile ==============
  72. if test -f 'Imakefile' -a X"$1" != X"-c"; then
  73.     echo 'x - skipping Imakefile (File already exists)'
  74.     rm -f _shar_wnt_.tmp
  75. else
  76. > _shar_wnt_.tmp
  77. echo 'x - extracting Imakefile (Text)'
  78. sed 's/^X//' << 'SHAR_EOF' > 'Imakefile' &&
  79. /**/# static char* sccs_imake = "%W%%G%";
  80. /**/#    Imakefile for bricons
  81. X
  82. X
  83. /**/# Here's what to change to customize the installation...
  84. /**/# Where do you want this stuff (if the defaults aren't okay)?
  85. BINDIR = /usr/local/bin
  86. LIBDIR = /usr/lib
  87. MANDIR = /usr/man
  88. X
  89. /**/# This is -g for debugging.
  90. CDEBUGFLAGS = -g
  91. X
  92. SRCS =  main.c \
  93. X    action.c \
  94. X    buttons.c \
  95. X    gen.c 
  96. X
  97. OBJS =  main.o \
  98. X    buttons.o \
  99. X    action.o \
  100. X    gen.o 
  101. X
  102. HDRS =     gen.h \
  103. X    trans.h \
  104. X    widgets.h
  105. X
  106. LOCAL_LIBRARIES = XawClientLibs
  107. X
  108. ComplexProgramTarget(bricons)
  109. X
  110. install::
  111. /**/# This definition installs the Xbricons resource file.
  112. /**/# the .briconsrc file & the man page bricons.l
  113. InstallAppDefaults(Xbricons)
  114. InstallNonExec(.briconsrc,$(LIBDIR))
  115. InstallManPage(bricons.l,$(MANDIR))
  116. X
  117. SHAR_EOF
  118. chmod 0644 Imakefile ||
  119. echo 'restore of Imakefile failed'
  120. Wc_c="`wc -c < 'Imakefile'`"
  121. test 738 -eq "$Wc_c" ||
  122.     echo 'Imakefile: original size 738, current size' "$Wc_c"
  123. rm -f _shar_wnt_.tmp
  124. fi
  125. # ============= Makefile ==============
  126. if test -f 'Makefile' -a X"$1" != X"-c"; then
  127.     echo 'x - skipping Makefile (File already exists)'
  128.     rm -f _shar_wnt_.tmp
  129. else
  130. > _shar_wnt_.tmp
  131. echo 'x - extracting Makefile (Text)'
  132. sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
  133. # Makefile generated by imake - do not edit!
  134. # $XConsortium: imake.c,v 1.65 91/07/25 17:50:17 rws Exp $
  135. #
  136. # The cpp used on this machine replaces all newlines and multiple tabs and
  137. # spaces in a macro expansion with a single space.  Imake tries to compensate
  138. # for this, but is not always successful.
  139. #
  140. X
  141. # -------------------------------------------------------------------------
  142. # Makefile generated from "Imake.tmpl" and <Imakefile>
  143. # $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
  144. #
  145. # Platform-specific parameters may be set in the appropriate <vendor>.cf
  146. # configuration files.  Site-specific parameters should be set in the file
  147. # site.def.  Full rebuilds are recommended if any parameters are changed.
  148. #
  149. # If your C preprocessor does not define any unique symbols, you will need
  150. # to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  151. # "make World" the first time).
  152. #
  153. X
  154. # -------------------------------------------------------------------------
  155. # site-specific configuration parameters that need to come before
  156. # the platform-specific parameters - edit site.def to change
  157. X
  158. # site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $
  159. X
  160. # -------------------------------------------------------------------------
  161. # platform-specific configuration parameters - edit sun.cf to change
  162. X
  163. # platform:  $XConsortium: sun.cf,v 1.68 91/07/30 11:34:39 rws Exp $
  164. X
  165. # operating system:  SunOS 4.1.1
  166. X
  167. # $XConsortium: sunLib.rules,v 1.6 91/03/24 17:55:58 rws Exp $
  168. X
  169. # -------------------------------------------------------------------------
  170. # site-specific configuration parameters that go after
  171. # the platform-specific parameters - edit site.def to change
  172. X
  173. # site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $
  174. X
  175. X            SHELL = /bin/sh
  176. X
  177. X              TOP = .
  178. X      CURRENT_DIR = .
  179. X
  180. X               AR = ar clq
  181. X  BOOTSTRAPCFLAGS =
  182. X               CC = cc
  183. X               AS = as
  184. X
  185. X         COMPRESS = compress
  186. X              CPP = /lib/cpp $(STD_CPP_DEFINES)
  187. X    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
  188. X          INSTALL = install
  189. X               LD = ld
  190. X             LINT = lint
  191. X      LINTLIBFLAG = -C
  192. X         LINTOPTS = -axz
  193. X               LN = ln -s
  194. X             MAKE = make
  195. X               MV = mv
  196. X               CP = cp
  197. X
  198. X           RANLIB = ranlib
  199. X  RANLIBINSTFLAGS =
  200. X
  201. X               RM = rm -f
  202. X            TROFF = psroff
  203. X         MSMACROS = -ms
  204. X              TBL = tbl
  205. X              EQN = eqn
  206. X     STD_INCLUDES =
  207. X  STD_CPP_DEFINES =
  208. X      STD_DEFINES =
  209. X EXTRA_LOAD_FLAGS =
  210. X  EXTRA_LIBRARIES =
  211. X             TAGS = ctags
  212. X
  213. X    SHAREDCODEDEF = -DSHAREDCODE
  214. X         SHLIBDEF = -DSUNSHLIB
  215. X
  216. X    PROTO_DEFINES =
  217. X
  218. X     INSTPGMFLAGS =
  219. X
  220. X     INSTBINFLAGS = -m 0755
  221. X     INSTUIDFLAGS = -m 4755
  222. X     INSTLIBFLAGS = -m 0644
  223. X     INSTINCFLAGS = -m 0444
  224. X     INSTMANFLAGS = -m 0444
  225. X     INSTDATFLAGS = -m 0444
  226. X    INSTKMEMFLAGS = -m 4755
  227. X
  228. X      PROJECTROOT = /usr/X11/R5
  229. X
  230. X     TOP_INCLUDES = -I$(INCROOT)
  231. X
  232. X      CDEBUGFLAGS = -O
  233. X        CCOPTIONS = -pipe
  234. X
  235. X      ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
  236. X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
  237. X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
  238. X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
  239. X
  240. X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  241. X
  242. X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
  243. X
  244. X   LDCOMBINEFLAGS = -X -r
  245. X      DEPENDFLAGS =
  246. X
  247. X        MACROFILE = sun.cf
  248. X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
  249. X
  250. X    IMAKE_DEFINES =
  251. X
  252. X         IRULESRC = $(CONFIGDIR)
  253. X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  254. X
  255. X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
  256. X            $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
  257. X            $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
  258. X
  259. # -------------------------------------------------------------------------
  260. # X Window System Build Parameters
  261. # $XConsortium: Project.tmpl,v 1.138 91/09/10 09:02:12 rws Exp $
  262. X
  263. # -------------------------------------------------------------------------
  264. # X Window System make variables; this need to be coordinated with rules
  265. X
  266. X          PATHSEP = /
  267. X        USRLIBDIR = /usr/X11/R5/lib
  268. X           BINDIR = /usr/X11/R5/bin
  269. X          INCROOT = /usr/X11/R5/include
  270. X     BUILDINCROOT = $(TOP)
  271. X      BUILDINCDIR = $(BUILDINCROOT)/X11
  272. X      BUILDINCTOP = ..
  273. X           INCDIR = $(INCROOT)/X11
  274. X           ADMDIR = /usr/adm
  275. X           LIBDIR = $(USRLIBDIR)/X11
  276. X        CONFIGDIR = $(LIBDIR)/config
  277. X       LINTLIBDIR = $(USRLIBDIR)/lint
  278. X
  279. X          FONTDIR = $(LIBDIR)/fonts
  280. X         XINITDIR = $(LIBDIR)/xinit
  281. X           XDMDIR = $(LIBDIR)/xdm
  282. X           TWMDIR = $(LIBDIR)/twm
  283. X          MANPATH = /usr/X11/R5/man
  284. X    MANSOURCEPATH = $(MANPATH)/man
  285. X        MANSUFFIX = n
  286. X     LIBMANSUFFIX = 3
  287. X           MANDIR = $(MANSOURCEPATH)$(MANSUFFIX)
  288. X        LIBMANDIR = $(MANSOURCEPATH)$(LIBMANSUFFIX)
  289. X           NLSDIR = $(LIBDIR)/nls
  290. X        PEXAPIDIR = $(LIBDIR)/PEX
  291. X      XAPPLOADDIR = $(LIBDIR)/app-defaults
  292. X       FONTCFLAGS = -t
  293. X
  294. X     INSTAPPFLAGS = $(INSTDATFLAGS)
  295. X
  296. X            IMAKE = imake
  297. X           DEPEND = makedepend
  298. X              RGB = rgb
  299. X
  300. X            FONTC = bdftopcf
  301. X
  302. X        MKFONTDIR = mkfontdir
  303. X        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier
  304. X
  305. X        CONFIGSRC = $(TOP)/config
  306. X       DOCUTILSRC = $(TOP)/doc/util
  307. X        CLIENTSRC = $(TOP)/clients
  308. X          DEMOSRC = $(TOP)/demos
  309. X           LIBSRC = $(TOP)/lib
  310. X          FONTSRC = $(TOP)/fonts
  311. X       INCLUDESRC = $(TOP)/X11
  312. X        SERVERSRC = $(TOP)/server
  313. X          UTILSRC = $(TOP)/util
  314. X        SCRIPTSRC = $(UTILSRC)/scripts
  315. X       EXAMPLESRC = $(TOP)/examples
  316. X       CONTRIBSRC = $(TOP)/../contrib
  317. X           DOCSRC = $(TOP)/doc
  318. X           RGBSRC = $(TOP)/rgb
  319. X        DEPENDSRC = $(UTILSRC)/makedepend
  320. X         IMAKESRC = $(CONFIGSRC)
  321. X         XAUTHSRC = $(LIBSRC)/Xau
  322. X          XLIBSRC = $(LIBSRC)/X
  323. X           XMUSRC = $(LIBSRC)/Xmu
  324. X       TOOLKITSRC = $(LIBSRC)/Xt
  325. X       AWIDGETSRC = $(LIBSRC)/Xaw
  326. X       OLDXLIBSRC = $(LIBSRC)/oldX
  327. X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
  328. X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
  329. X      BDFTOSNFSRC = $(FONTSRC)/clients/bdftosnf
  330. X      BDFTOPCFSRC = $(FONTSRC)/clients/bdftopcf
  331. X     MKFONTDIRSRC = $(FONTSRC)/clients/mkfontdir
  332. X         FSLIBSRC = $(FONTSRC)/lib/fs
  333. X    FONTSERVERSRC = $(FONTSRC)/server
  334. X     EXTENSIONSRC = $(TOP)/extensions
  335. X         XILIBSRC = $(EXTENSIONSRC)/lib/xinput
  336. X      PHIGSLIBSRC = $(EXTENSIONSRC)/lib/PEX
  337. X
  338. # $XConsortium: sunLib.tmpl,v 1.11 91/07/31 11:32:08 rws Exp $
  339. X
  340. SHLIBLDFLAGS = -assert pure-text
  341. PICFLAGS = -pic
  342. X
  343. X  DEPEXTENSIONLIB =
  344. X     EXTENSIONLIB = -lXext
  345. X
  346. X          DEPXLIB = $(DEPEXTENSIONLIB)
  347. X             XLIB = $(EXTENSIONLIB) -lX11
  348. X
  349. X        DEPXMULIB = $(USRLIBDIR)/libXmu.sa.$(SOXMUREV)
  350. X           XMULIB = -lXmu
  351. X
  352. X       DEPOLDXLIB =
  353. X          OLDXLIB = -loldX
  354. X
  355. X      DEPXTOOLLIB = $(USRLIBDIR)/libXt.sa.$(SOXTREV)
  356. X         XTOOLLIB = -lXt
  357. X
  358. X        DEPXAWLIB = $(USRLIBDIR)/libXaw.sa.$(SOXAWREV)
  359. X           XAWLIB = -lXaw
  360. X
  361. X        DEPXILIB =
  362. X           XILIB = -lXi
  363. X
  364. X        SOXLIBREV = 4.10
  365. X          SOXTREV = 4.10
  366. X         SOXAWREV = 5.0
  367. X        SOOLDXREV = 4.10
  368. X         SOXMUREV = 4.10
  369. X        SOXEXTREV = 4.10
  370. X      SOXINPUTREV = 4.10
  371. X
  372. X      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
  373. X         XAUTHLIB =  -lXau
  374. X      DEPXDMCPLIB = $(USRLIBDIR)/libXdmcp.a
  375. X         XDMCPLIB =  -lXdmcp
  376. X
  377. X        DEPPHIGSLIB = $(USRLIBDIR)/libphigs.a
  378. X           PHIGSLIB =  -lphigs
  379. X
  380. X       DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a
  381. X          XBSDLIB =  -lXbsd
  382. X
  383. X LINTEXTENSIONLIB = $(LINTLIBDIR)/llib-lXext.ln
  384. X         LINTXLIB = $(LINTLIBDIR)/llib-lX11.ln
  385. X          LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln
  386. X        LINTXTOOL = $(LINTLIBDIR)/llib-lXt.ln
  387. X          LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln
  388. X           LINTXI = $(LINTLIBDIR)/llib-lXi.ln
  389. X        LINTPHIGS = $(LINTLIBDIR)/llib-lphigs.ln
  390. X
  391. X          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
  392. X
  393. X         DEPLIBS1 = $(DEPLIBS)
  394. X         DEPLIBS2 = $(DEPLIBS)
  395. X         DEPLIBS3 = $(DEPLIBS)
  396. X
  397. # -------------------------------------------------------------------------
  398. # Imake rules for building libraries, programs, scripts, and data files
  399. # rules:  $XConsortium: Imake.rules,v 1.123 91/09/16 20:12:16 rws Exp $
  400. X
  401. # -------------------------------------------------------------------------
  402. # start of Imakefile
  403. X
  404. # static char* sccs_imake = "%W%%G%";
  405. #    Imakefile for bricons
  406. X
  407. # Here's what to change to customize the installation...
  408. # Where do you want this stuff (if the defaults aren't okay)?
  409. BINDIR = /usr/local/bin
  410. LIBDIR = /usr/lib
  411. MANDIR = /usr/man
  412. X
  413. # This is -g for debugging.
  414. CDEBUGFLAGS = -g
  415. X
  416. SRCS =  main.c \
  417. X    action.c \
  418. X    buttons.c \
  419. X    gen.c
  420. X
  421. OBJS =  main.o \
  422. X    buttons.o \
  423. X    action.o \
  424. X    gen.o
  425. X
  426. HDRS =     gen.h \
  427. X    trans.h \
  428. X    widgets.h
  429. X
  430. LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
  431. X
  432. X PROGRAM = bricons
  433. X
  434. all:: bricons
  435. X
  436. bricons: $(OBJS) $(DEPLIBS)
  437. X    $(RM) $@
  438. X    $(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS)
  439. X
  440. saber_bricons:: $(SRCS)
  441. X    # load $(ALLDEFINES) $(SRCS) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  442. X
  443. osaber_bricons:: $(OBJS)
  444. X    # load $(ALLDEFINES) $(OBJS) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  445. X
  446. install:: bricons
  447. X    @if [ -d $(DESTDIR)$(BINDIR) ]; then set +x; \
  448. X    else (set -x; $(MKDIRHIER) $(DESTDIR)$(BINDIR)); fi
  449. X    $(INSTALL) -c $(INSTPGMFLAGS)  bricons $(DESTDIR)$(BINDIR)
  450. X
  451. install.man:: bricons.man
  452. X    @if [ -d $(DESTDIR)$(MANDIR) ]; then set +x; \
  453. X    else (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); fi
  454. X    $(INSTALL) -c $(INSTMANFLAGS) bricons.man $(DESTDIR)$(MANDIR)/bricons.$(MANSUFFIX)
  455. X
  456. depend::
  457. X    $(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
  458. X
  459. lint:
  460. X    $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS)
  461. lint1:
  462. X    $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS)
  463. X
  464. clean::
  465. X    $(RM) $(PROGRAM)
  466. X
  467. install::
  468. # This definition installs the Xbricons resource file.
  469. # the .briconsrc file & the man page bricons.l
  470. X
  471. install:: Xbricons.ad
  472. X    @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then set +x; \
  473. X    else (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); fi
  474. X    $(INSTALL) -c $(INSTAPPFLAGS) Xbricons.ad $(DESTDIR)$(XAPPLOADDIR)/Xbricons
  475. X
  476. install:: .briconsrc
  477. X    $(INSTALL) -c $(INSTDATFLAGS) .briconsrc $(DESTDIR)$(LIBDIR)
  478. X
  479. install.man:: bricons.l.man
  480. X    @if [ -d $(DESTDIR)$(MANDIR) ]; then set +x; \
  481. X    else (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); fi
  482. X    $(INSTALL) -c $(INSTMANFLAGS) bricons.l.man $(DESTDIR)$(MANDIR)/bricons.l.$(MANSUFFIX)
  483. X
  484. # -------------------------------------------------------------------------
  485. # common rules for all Makefiles - do not edit
  486. X
  487. emptyrule::
  488. X
  489. clean::
  490. X    $(RM_CMD) "#"*
  491. X
  492. Makefile::
  493. X    -@if [ -f Makefile ]; then set -x; \
  494. X    $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
  495. X    else exit 0; fi
  496. X    $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
  497. X
  498. tags::
  499. X    $(TAGS) -w *.[ch]
  500. X    $(TAGS) -xw *.[ch] > TAGS
  501. X
  502. saber:
  503. X    # load $(ALLDEFINES) $(SRCS)
  504. X
  505. osaber:
  506. X    # load $(ALLDEFINES) $(OBJS)
  507. X
  508. # -------------------------------------------------------------------------
  509. # empty rules for directories that do not have SUBDIRS - do not edit
  510. X
  511. install::
  512. X    @echo "install in $(CURRENT_DIR) done"
  513. X
  514. install.man::
  515. X    @echo "install.man in $(CURRENT_DIR) done"
  516. X
  517. Makefiles::
  518. X
  519. includes::
  520. X
  521. # -------------------------------------------------------------------------
  522. # dependencies generated by makedepend
  523. X
  524. SHAR_EOF
  525. chmod 0644 Makefile ||
  526. echo 'restore of Makefile failed'
  527. Wc_c="`wc -c < 'Makefile'`"
  528. test 11340 -eq "$Wc_c" ||
  529.     echo 'Makefile: original size 11340, current size' "$Wc_c"
  530. rm -f _shar_wnt_.tmp
  531. fi
  532. # ============= Makefile.std ==============
  533. if test -f 'Makefile.std' -a X"$1" != X"-c"; then
  534.     echo 'x - skipping Makefile.std (File already exists)'
  535.     rm -f _shar_wnt_.tmp
  536. else
  537. > _shar_wnt_.tmp
  538. echo 'x - extracting Makefile.std (Text)'
  539. sed 's/^X//' << 'SHAR_EOF' > 'Makefile.std' &&
  540. X
  541. OBJS=main.o gen.o action.o buttons.o
  542. X
  543. #CC=gcc
  544. CC=cc
  545. #CFLAGS= -ansi -pedantic -Wall
  546. CFLAGS= -g
  547. #CFLAGS= -O2
  548. X
  549. LIBS= -lXaw -lXmu -lXt -lXext -lX11 
  550. X
  551. TARGET= bricons
  552. X
  553. X
  554. all:    $(OBJS)
  555. X    $(CC) $(CFLAGS) -o $(TARGET) $(OBJS) $(LIBS)
  556. X
  557. main.o:        gen.h widgets.h trans.h main.c
  558. X        $(CC) $(CFLAGS) -c main.c
  559. X
  560. gen.o:        gen.h gen.c
  561. X        $(CC) $(CFLAGS) -c gen.c
  562. X
  563. action.o:    gen.h widgets.h action.c
  564. X        $(CC) $(CFLAGS) -c action.c
  565. X
  566. buttons.o:    gen.h widgets.h trans.h buttons.c
  567. X        $(CC) $(CFLAGS) -c buttons.c
  568. X
  569. install:
  570. X    strip $(TARGET)
  571. X    mv $(TARGET) /s/bri/bin/mbins/$Mbin
  572. X
  573. clean:
  574. X    rm $(TARGET) *.o
  575. X
  576. SHAR_EOF
  577. chmod 0644 Makefile.std ||
  578. echo 'restore of Makefile.std failed'
  579. Wc_c="`wc -c < 'Makefile.std'`"
  580. test 575 -eq "$Wc_c" ||
  581.     echo 'Makefile.std: original size 575, current size' "$Wc_c"
  582. rm -f _shar_wnt_.tmp
  583. fi
  584. # ============= README ==============
  585. if test -f 'README' -a X"$1" != X"-c"; then
  586.     echo 'x - skipping README (File already exists)'
  587.     rm -f _shar_wnt_.tmp
  588. else
  589. > _shar_wnt_.tmp
  590. echo 'x - extracting README (Text)'
  591. sed 's/^X//' << 'SHAR_EOF' > 'README' &&
  592. PROGRAM
  593. X    bricons
  594. X
  595. DESCRIPTION
  596. X    The bricons program allows the user to start up applications 
  597. X    from a configured command panel on a workstation display 
  598. X    running X.  The bricons interface can consist of up to sixteen
  599. X    buttons which can display some text or an icon. Each button is 
  600. X    used to execute a shell command using the Bourne shell.
  601. X    Each button can be configured to display a single spring 
  602. X    loaded popup menu with up to ten more buttons.
  603. X
  604. COMPILATION
  605. X    Assuming a good X installation at your site, simply:
  606. X
  607. X        xmkmf ; make
  608. X
  609. X    Otherwise use the Makefile provided.
  610. X
  611. CONFIGURATION
  612. X    Once the bricons program has been successfully compiled it can
  613. X    be executed straight away it should display some example buttons
  614. X    one of which is a sub menu.
  615. X
  616. X    The bricons program looks for a .briconsrc configuration file in
  617. X    your home directory otherwise it looks in the current directory
  618. X    for the file.
  619. X
  620. PORTABILITY
  621. X    The bricons program has been compiled and tested on the following:
  622. X
  623. X    machine         SPARC workstation1     SPARC workstation2 
  624. X    operating system    SunOS 4.1.1        SunOS 4.1.2_ER
  625. X
  626. X    machine            DEC3100         VAX station
  627. X    operating system    Ultrix Worksystem V2.1    Ultrix-32 V3.1
  628. X                (Rev 14)        (Rev. 9)
  629. X
  630. X    machine            Sun3
  631. X    operating system    SunOS 4.1.1    
  632. X
  633. ACKNOWLEDGEMENTS
  634. X    Many thanks go to Richard Hesketh and Martin Davy for all their
  635. X    help and advice.
  636. X
  637. ___________________________________________________________________________
  638. X    Bruce Ingram    email    bri@ukc.ac.uk
  639. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  640. SHAR_EOF
  641. chmod 0644 README ||
  642. echo 'restore of README failed'
  643. Wc_c="`wc -c < 'README'`"
  644. test 1515 -eq "$Wc_c" ||
  645.     echo 'README: original size 1515, current size' "$Wc_c"
  646. rm -f _shar_wnt_.tmp
  647. fi
  648. # ============= Xbricons ==============
  649. if test -f 'Xbricons' -a X"$1" != X"-c"; then
  650.     echo 'x - skipping Xbricons (File already exists)'
  651.     rm -f _shar_wnt_.tmp
  652. else
  653. > _shar_wnt_.tmp
  654. echo 'x - extracting Xbricons (Text)'
  655. sed 's/^X//' << 'SHAR_EOF' > 'Xbricons' &&
  656. ! Application resources file for bricons program
  657. ! B.R. Ingram 9th Sept 1991
  658. *no_of_cols:             16
  659. *icon_file:             /home/cur/bri/.briconsrc
  660. *help_file:            /home/cur/bri/Man/bricons.l
  661. *borderColor:            yellow
  662. *popup_layout*.borderColor:    black
  663. *background:            #ffd28e
  664. *box.background:        gray
  665. *action0.background:        #fafbc6
  666. *action1.background:        #fadde8
  667. *action2.background:        #d9fedd
  668. *action3.background:        #ececc9
  669. *action4.background:        #ffffff
  670. *action5.background:        #feffc5
  671. *action6.background:        #feff99
  672. *action7.background:        #fedcff
  673. *action8.background:        #febeff
  674. *action9.background:        #bfffff
  675. *action10.background:        #8bffff
  676. *action11.background:        #8bfd8e
  677. *action12.background:        #cdebef
  678. *action13.background:        #f3ea8a
  679. *action14.background:        #f3eae6
  680. *font: -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-*
  681. SHAR_EOF
  682. chmod 0644 Xbricons ||
  683. echo 'restore of Xbricons failed'
  684. Wc_c="`wc -c < 'Xbricons'`"
  685. test 784 -eq "$Wc_c" ||
  686.     echo 'Xbricons: original size 784, current size' "$Wc_c"
  687. rm -f _shar_wnt_.tmp
  688. fi
  689. # ============= action.c ==============
  690. if test -f 'action.c' -a X"$1" != X"-c"; then
  691.     echo 'x - skipping action.c (File already exists)'
  692.     rm -f _shar_wnt_.tmp
  693. else
  694. > _shar_wnt_.tmp
  695. echo 'x - extracting action.c (Text)'
  696. sed 's/^X//' << 'SHAR_EOF' > 'action.c' &&
  697. #include "gen.h"
  698. #include "widgets.h"
  699. #include <signal.h>
  700. #include <sys/wait.h>
  701. X
  702. /* 
  703. X * Copyright 1992 Bruce. R. Ingram.
  704. X * University of Kent at Canterbury, UK
  705. X *
  706. X * Permission  to   use, copy, modify  and  distribute  this  software  and its
  707. X * documentation   for any purpose is hereby granted without fee, provided that
  708. X * the   above  copyright  notice  appear  in  all  copies  and  that both that
  709. X * copyright  notice   and  this   permission   notice  appear  in   supporting
  710. X * documentation,  and  that  the name  of the author and The University  of
  711. X * Kent  at  Canterbury  not be  used in advertising or publicity pertaining to
  712. X * distribution  of  the  software  without specific, written prior permission.
  713. X * The   author  and   The   University   of   Kent at   Canterbury   make  no
  714. X * representations  about  the  suitability  of this  software for any purpose.
  715. X * It is provided "as is" without express or implied warranty.
  716. X *
  717. X * THE   AUTHOR  AND  THE  UNIVERSITY  OF KENT  AT   CANTERBURY  DISCLAIMS ALL
  718. X * WARRANTIES  WITH  REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED  WARRANTIES
  719. X * OF   MERCHANTABILITY  AND  FITNESS,  IN NO  EVENT  SHALL THE AUTHOR  OR THE
  720. X * UNIVERSITY  OF KENT  AT  CANTERBURY  BE LIABLE FOR ANY SPECIAL, INDIRECT  OR
  721. X * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS  OF USE,
  722. X * DATA  OR  PROFITS,  WHETHER  IN  AN ACTION OF CONTRACT, NEGLIGENCE  OR OTHER
  723. X * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
  724. X * OF THIS SOFTWARE.
  725. X *
  726. X * Author:
  727. X *
  728. X * Mr  B. R. Ingram email bri@ukc.ac.uk
  729. */
  730. X
  731. extern    XtAppContext    app_context;
  732. X
  733. static void     catch_child();
  734. static void    ResetButton PROTO((XtPointer,XtIntervalId));
  735. extern  int     CreateButtons PROTO((Info *));
  736. extern  void    PositionButtons PROTO((int,int)), ManageButtons();
  737. X
  738. extern void 
  739. Quit(widget, client_data,call_data)
  740. Widget          widget;
  741. XXtPointer       client_data;
  742. XXtPointer       call_data;
  743. {
  744. X    /* exit graciously */
  745. X    XtDestroyWidget(toplevel);
  746. X        exit(0);
  747. }
  748. X
  749. X
  750. extern void 
  751. MultiAction(widget,client_data,call_data)
  752. Widget          widget;
  753. XXtPointer       client_data;
  754. XXtPointer       call_data;
  755. {
  756. X    char    *command = (char*) client_data;
  757. X    int    pid;
  758. X    static    bool_t first_time = TRUE;
  759. X    char    *exec_command;    /* for "exec " + command */
  760. X
  761. #define PREPEND "exec "
  762. X
  763. X        if (first_time) 
  764. X    {
  765. X            first_time = FALSE;
  766. X        if ((int) signal(SIGCHLD, catch_child) == -1) 
  767. X        {
  768. X            (void) fprintf(stderr,"unable to install child catcher");
  769. X            exit(1);
  770. X        }
  771. X    }
  772. X
  773. X    switch(pid = fork())
  774. X    {
  775. X        case -1:
  776. X            (void) fprintf(stderr,"ERROR: Process cannot fork\n");
  777. X            (void) fprintf(stderr,"Sorry unable to execute command\n");
  778. X            break;
  779. X        case 0:
  780. X            /* child */
  781. X            exec_command = malloc((unsigned) sizeof(PREPEND) +
  782. X                strlen(command) + 1);
  783. X            if(exec_command == NULL)
  784. X            {
  785. X                (void) fprintf(stderr,"ERROR: out of memory\n");
  786. X                exit(1);
  787. X            }
  788. X            strcpy(exec_command,PREPEND);
  789. X            strcat(exec_command,command);
  790. X            execlp("/bin/sh","sh","-c",exec_command,(char *) 0);
  791. X            exit(127);
  792. X            break;
  793. X    }
  794. }
  795. X
  796. X
  797. extern void 
  798. SingleAction(widget,client_data,call_data)
  799. Widget          widget;
  800. XXtPointer       client_data;
  801. XXtPointer       call_data;
  802. {
  803. X    char    *command = (char*) client_data;
  804. X    int    pid;
  805. X    int    i = 0;
  806. X    static    bool_t first_time = TRUE;
  807. X    char    *exec_command;    /* for "exec " + command */
  808. X
  809. #define PREPEND "exec "
  810. X
  811. /*
  812. X    This section of code was taken from xalias written by Godfrey Paul
  813. X        First time only, arrange for SIGCHLD to be called.
  814. */
  815. X        if (first_time) 
  816. X    {
  817. X            first_time = FALSE;
  818. X        if ((int) signal(SIGCHLD, catch_child) == -1) 
  819. X        {
  820. X            (void) fprintf(stderr,"unable to install child catcher");
  821. X            exit(1);
  822. X        }
  823. X    }
  824. X
  825. X    switch(pid = fork())
  826. X    {
  827. X        case -1:
  828. X            (void) fprintf(stderr,"ERROR: Process cannot fork\n");
  829. X            (void) fprintf(stderr,"Sorry unable to execute command\n");
  830. X            break;
  831. X        case 0:
  832. X            /* child */
  833. X            exec_command = malloc((unsigned) sizeof(PREPEND) +
  834. X                strlen(command) + 1);
  835. X            if(exec_command == NULL)
  836. X            {
  837. X                (void) fprintf(stderr,"ERROR: out of memory\n");
  838. X                exit(1);
  839. X            }
  840. X            strcpy(exec_command,PREPEND);
  841. X            strcat(exec_command,command);
  842. X            execlp("/bin/sh","sh","-c",exec_command,(char *) 0);
  843. X            exit(127);
  844. X            break;
  845. X    }
  846. X    while((ci_ptr[i].child_id != 0) && (i < MAXPROCS))
  847. X            i++;
  848. X    if(i < MAXPROCS)
  849. X    {
  850. X        ci_ptr[i].child_id = pid;
  851. X        ci_ptr[i].w_id = widget;
  852. X        XtSetSensitive(widget,False);
  853. X    }
  854. X    else
  855. X        (void) printf("\nWarning: unable to deactivate selected button\n");
  856. X
  857. }
  858. X
  859. X
  860. /*
  861. X    This section of code was taken from xalias written by Godfrey Paul
  862. */
  863. static void
  864. catch_child()
  865. {
  866. X        int         pid;
  867. X    int        i = 0;
  868. X        union wait      status;
  869. X
  870. X
  871. X        /*
  872. X         * wait3() returns -1 if the are no children left, or 0
  873. X         * if there are no exited children.
  874. X         */
  875. X        while ((pid = wait3(&status, WNOHANG, (struct rusage *) NULL)) > 0)
  876. X    {
  877. X
  878. X        while((ci_ptr[i].child_id != pid) && (i < MAXPROCS))
  879. X                i++;
  880. X        if(ci_ptr[i].child_id == pid)
  881. X        {
  882. X            XtAppAddTimeOut(app_context,50,ResetButton,pid);
  883. X        }
  884. X    }
  885. X        return;
  886. }
  887. X
  888. extern void
  889. Source(widget,client_data,call_data)
  890. Widget          widget;
  891. XXtPointer       client_data;
  892. XXtPointer       call_data;
  893. {
  894. X    Info    *data = (Info*) client_data;
  895. X
  896. X    int        x = 0;
  897. X    WidgetList    w_list;
  898. X    Cardinal    num_childern, i;
  899. X    if(data->no_of_buttons >= 0)
  900. X    {
  901. X        while(x < MAXPROCS)
  902. X        {
  903. X            ci_ptr[x].child_id = 0;
  904. X            ci_ptr[x].w_id = NULL;
  905. X            x++;
  906. X        }
  907. X        XtUnmanageChild(box);
  908. X        XtVaGetValues(
  909. X            box,
  910. X            XtNchildren,
  911. X            &w_list,
  912. X            XtNnumChildren,
  913. X            &num_childern,
  914. X            NULL);
  915. X
  916. X        for(i = 0; i < num_childern; i++)
  917. X        {
  918. X            XtDestroyWidget(w_list[i]);
  919. X        }
  920. X        data->no_of_buttons = 0;
  921. X        data->no_of_buttons = CreateButtons(data);
  922. X        PositionButtons(data->no_of_buttons,data->no_of_columns);
  923. X        ManageButtons();
  924. X        XtManageChild(box);
  925. X    }
  926. }
  927. X
  928. static void
  929. ResetButton(client_data,id)
  930. XXtPointer       client_data;
  931. XXtIntervalId    *id;
  932. {
  933. X    int    c_pid = (int) client_data;
  934. X    int    i = 0;
  935. X    while((ci_ptr[i].child_id != c_pid) && (i < MAXPROCS))
  936. X            i++;
  937. X    if(ci_ptr[i].child_id == c_pid)
  938. X    {
  939. X        XtSetSensitive(ci_ptr[i].w_id,True);
  940. X        ci_ptr[i].child_id = 0;
  941. X    }
  942. }
  943. SHAR_EOF
  944. chmod 0644 action.c ||
  945. echo 'restore of action.c failed'
  946. Wc_c="`wc -c < 'action.c'`"
  947. test 6041 -eq "$Wc_c" ||
  948.     echo 'action.c: original size 6041, current size' "$Wc_c"
  949. rm -f _shar_wnt_.tmp
  950. fi
  951. # ============= bitmaps/calander ==============
  952. if test ! -d 'bitmaps'; then
  953.     echo 'x - creating directory bitmaps'
  954.     mkdir 'bitmaps'
  955. fi
  956. if test -f 'bitmaps/calander' -a X"$1" != X"-c"; then
  957.     echo 'x - skipping bitmaps/calander (File already exists)'
  958.     rm -f _shar_wnt_.tmp
  959. else
  960. > _shar_wnt_.tmp
  961. echo 'x - extracting bitmaps/calander (Text)'
  962. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/calander' &&
  963. #define cal_width 48
  964. #define cal_height 48
  965. static char cal_bits[] = {
  966. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0xf8, 0x07, 0xfc, 0x01,
  967. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  968. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  969. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  970. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  971. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  972. X   0xa8, 0x2a, 0x54, 0x01, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  973. X   0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  974. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0xf8, 0x07, 0xfc, 0x01,
  975. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  976. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  977. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  978. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  979. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  980. X   0xa8, 0x2a, 0x54, 0x01, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  981. X   0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  982. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0xf8, 0x07, 0xfc, 0x01,
  983. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  984. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  985. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  986. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  987. X   0xa8, 0x2a, 0x54, 0x15, 0xaa, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  988. X   0xa8, 0x2a, 0x54, 0x01, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  989. X   0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  990. SHAR_EOF
  991. chmod 0644 bitmaps/calander ||
  992. echo 'restore of bitmaps/calander failed'
  993. Wc_c="`wc -c < 'bitmaps/calander'`"
  994. test 1871 -eq "$Wc_c" ||
  995.     echo 'bitmaps/calander: original size 1871, current size' "$Wc_c"
  996. rm -f _shar_wnt_.tmp
  997. fi
  998. # ============= bitmaps/letters ==============
  999. if test -f 'bitmaps/letters' -a X"$1" != X"-c"; then
  1000.     echo 'x - skipping bitmaps/letters (File already exists)'
  1001.     rm -f _shar_wnt_.tmp
  1002. else
  1003. > _shar_wnt_.tmp
  1004. echo 'x - extracting bitmaps/letters (Text)'
  1005. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/letters' &&
  1006. #define letters_width 48
  1007. #define letters_height 48
  1008. static char letters_bits[] = {
  1009. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1010. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1011. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1012. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1013. X   0x00, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20,
  1014. X   0x00, 0xfa, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2a,
  1015. X   0x00, 0x3a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2e,
  1016. X   0xe0, 0xff, 0xff, 0xff, 0xff, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x21,
  1017. X   0xa0, 0x03, 0x00, 0x00, 0x70, 0x21, 0x20, 0x00, 0x00, 0x00, 0x50, 0x21,
  1018. X   0xa0, 0x1f, 0x00, 0x00, 0x50, 0x21, 0x20, 0x00, 0x00, 0x00, 0x70, 0x21,
  1019. X   0xfe, 0xff, 0xff, 0xff, 0x0f, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21,
  1020. X   0xfa, 0x01, 0x00, 0x80, 0x0b, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0a, 0x21,
  1021. X   0xba, 0x01, 0x00, 0x80, 0x0a, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0b, 0x21,
  1022. X   0x3a, 0x00, 0x00, 0x00, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21,
  1023. X   0x02, 0xc0, 0xfb, 0x03, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x3f,
  1024. X   0x02, 0xc0, 0xbd, 0x0f, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
  1025. X   0x02, 0xc0, 0x7f, 0x7b, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
  1026. X   0x02, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00,
  1027. X   0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00,
  1028. X   0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00,
  1029. X   0xfe, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1030. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1031. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1032. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  1033. SHAR_EOF
  1034. chmod 0644 bitmaps/letters ||
  1035. echo 'restore of bitmaps/letters failed'
  1036. Wc_c="`wc -c < 'bitmaps/letters'`"
  1037. test 1883 -eq "$Wc_c" ||
  1038.     echo 'bitmaps/letters: original size 1883, current size' "$Wc_c"
  1039. rm -f _shar_wnt_.tmp
  1040. fi
  1041. # ============= bitmaps/games ==============
  1042. if test -f 'bitmaps/games' -a X"$1" != X"-c"; then
  1043.     echo 'x - skipping bitmaps/games (File already exists)'
  1044.     rm -f _shar_wnt_.tmp
  1045. else
  1046. > _shar_wnt_.tmp
  1047. echo 'x - extracting bitmaps/games (Text)'
  1048. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/games' &&
  1049. #define dragon2.icon_width 50
  1050. #define dragon2.icon_height 48
  1051. #define dragon2.icon_x_hot 0
  1052. #define dragon2.icon_y_hot 0
  1053. static char dragon2.icon_bits[] = {
  1054. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1055. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1056. X   0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
  1057. X   0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xef, 0x01, 0x00,
  1058. X   0x00, 0x00, 0xe0, 0xc0, 0x10, 0x01, 0x00, 0x00, 0x00, 0x20, 0x41, 0x89,
  1059. X   0xe0, 0x01, 0x00, 0x00, 0xa0, 0xe2, 0x41, 0x1c, 0x03, 0x00, 0x00, 0x20,
  1060. X   0x1c, 0x61, 0x83, 0x02, 0x00, 0x00, 0x60, 0x00, 0xe0, 0x40, 0x00, 0x00,
  1061. X   0x00, 0xc0, 0x03, 0x34, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x14, 0x40,
  1062. X   0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0x78, 0x00, 0x00, 0x00, 0x20, 0xc0,
  1063. X   0x61, 0x48, 0x00, 0x00, 0x00, 0x20, 0x87, 0x50, 0x10, 0x00, 0x00, 0x00,
  1064. X   0xb0, 0x58, 0x48, 0x1f, 0x00, 0x00, 0x00, 0x70, 0x30, 0x24, 0x11, 0x00,
  1065. X   0x00, 0x00, 0xf8, 0x60, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xd6,
  1066. X   0x78, 0x00, 0x00, 0x00, 0x00, 0x88, 0x59, 0x86, 0x00, 0x00, 0x00, 0x00,
  1067. X   0x04, 0xf3, 0x01, 0x01, 0x00, 0x00, 0x00, 0x42, 0x06, 0x00, 0x02, 0x00,
  1068. X   0x00, 0x70, 0x49, 0x06, 0x00, 0x02, 0x00, 0x00, 0xf8, 0x4f, 0x8c, 0x03,
  1069. X   0x02, 0x00, 0x00, 0xe8, 0x40, 0x54, 0x00, 0x02, 0x00, 0x00, 0xa8, 0x23,
  1070. X   0x28, 0x00, 0x01, 0x00, 0x00, 0xa8, 0x1c, 0xd0, 0x83, 0x07, 0x00, 0x00,
  1071. X   0x80, 0x00, 0x20, 0x7c, 0x04, 0x00, 0x00, 0x80, 0x00, 0xc3, 0x01, 0x04,
  1072. X   0x00, 0x00, 0xc0, 0x81, 0x7c, 0x06, 0x04, 0x00, 0x00, 0x20, 0x42, 0x01,
  1073. X   0x38, 0x02, 0x00, 0x00, 0xd0, 0x4e, 0x15, 0xc0, 0x01, 0x00, 0x00, 0xf8,
  1074. X   0xf3, 0xef, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1075. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1076. X   0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x06,
  1077. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x6a, 0x9c, 0x01, 0x00, 0x00,
  1078. X   0x60, 0xd7, 0xfe, 0xd6, 0x00, 0x00, 0x00, 0x60, 0xe6, 0xd6, 0xde, 0x01,
  1079. X   0x00, 0x00, 0x60, 0x96, 0xd6, 0x86, 0x01, 0x00, 0x00, 0xc0, 0xf3, 0xd7,
  1080. X   0xdd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1081. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  1082. SHAR_EOF
  1083. chmod 0644 bitmaps/games ||
  1084. echo 'restore of bitmaps/games failed'
  1085. Wc_c="`wc -c < 'bitmaps/games'`"
  1086. test 2256 -eq "$Wc_c" ||
  1087.     echo 'bitmaps/games: original size 2256, current size' "$Wc_c"
  1088. rm -f _shar_wnt_.tmp
  1089. fi
  1090. # ============= bitmaps/help ==============
  1091. if test -f 'bitmaps/help' -a X"$1" != X"-c"; then
  1092.     echo 'x - skipping bitmaps/help (File already exists)'
  1093.     rm -f _shar_wnt_.tmp
  1094. else
  1095. > _shar_wnt_.tmp
  1096. echo 'x - extracting bitmaps/help (Text)'
  1097. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/help' &&
  1098. #define help2.icon_width 52
  1099. #define help2.icon_height 51
  1100. #define help2.icon_x_hot 0
  1101. #define help2.icon_y_hot 0
  1102. static char help2.icon_bits[] = {
  1103. X   0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xc0, 0x03,
  1104. X   0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x70, 0x00,
  1105. X   0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
  1106. X   0x0e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x80, 0x07,
  1107. X   0x00, 0x80, 0x3f, 0x80, 0x08, 0xc0, 0x0f, 0x00, 0xc0, 0x7f, 0x10, 0x22,
  1108. X   0xe1, 0x1f, 0x00, 0xe0, 0xff, 0x40, 0x55, 0xf2, 0x3f, 0x00, 0xf0, 0xff,
  1109. X   0xa9, 0xaa, 0xf8, 0x3f, 0x00, 0xf0, 0xff, 0x57, 0x55, 0xfd, 0x7f, 0x00,
  1110. X   0xc8, 0xff, 0xef, 0xbf, 0xfe, 0xff, 0x00, 0x88, 0xff, 0x3f, 0xe0, 0xff,
  1111. X   0x9f, 0x00, 0x0c, 0xff, 0x0f, 0x80, 0xff, 0x8f, 0x00, 0x04, 0xfe, 0x07,
  1112. X   0x00, 0xff, 0x07, 0x01, 0x04, 0xfc, 0x03, 0x00, 0xfe, 0x03, 0x01, 0x02,
  1113. X   0xf8, 0x01, 0x00, 0xfc, 0x01, 0x02, 0x02, 0xf4, 0x00, 0x00, 0xf8, 0x00,
  1114. X   0x02, 0x02, 0x68, 0x00, 0x00, 0x70, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00,
  1115. X   0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x9c,
  1116. X   0xfb, 0x3b, 0xfc, 0x00, 0x04, 0x01, 0x08, 0x11, 0x12, 0x88, 0x01, 0x04,
  1117. X   0x01, 0x08, 0x11, 0x10, 0x08, 0x01, 0x04, 0x01, 0x08, 0x11, 0x11, 0x88,
  1118. X   0x01, 0x04, 0x01, 0xf8, 0xf1, 0x11, 0xf8, 0x00, 0x04, 0x01, 0x08, 0x11,
  1119. X   0x11, 0x08, 0x00, 0x04, 0x01, 0x08, 0x11, 0x10, 0x08, 0x00, 0x04, 0x01,
  1120. X   0x08, 0x11, 0x12, 0x09, 0x00, 0x04, 0x02, 0x9c, 0xfb, 0xfb, 0x1d, 0x00,
  1121. X   0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00,
  1122. X   0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0xf8,
  1123. X   0x03, 0x00, 0xfe, 0x01, 0x01, 0x04, 0xfc, 0x07, 0x00, 0xff, 0x03, 0x01,
  1124. X   0x08, 0xfe, 0x0f, 0x80, 0xff, 0x87, 0x00, 0x08, 0xff, 0x3f, 0xe0, 0xff,
  1125. X   0x4f, 0x00, 0x98, 0xff, 0xef, 0x1f, 0xff, 0x5f, 0x00, 0xd0, 0xff, 0x07,
  1126. X   0x00, 0xfe, 0x3f, 0x00, 0xf0, 0xff, 0x03, 0x00, 0xfc, 0x3f, 0x00, 0xe0,
  1127. X   0xff, 0x01, 0x00, 0xf8, 0x1f, 0x00, 0xc0, 0xff, 0x00, 0x00, 0xf0, 0x1f,
  1128. X   0x00, 0x80, 0x7f, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x3f, 0x00, 0x00,
  1129. X   0xc0, 0x03, 0x00, 0x00, 0x1e, 0x01, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x5c,
  1130. X   0x48, 0x84, 0x68, 0x00, 0x00, 0x00, 0x70, 0x15, 0x51, 0x15, 0x00, 0x00,
  1131. X   0x00, 0x80, 0xab, 0xaa, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x5c, 0xd5, 0x01,
  1132. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  1133. SHAR_EOF
  1134. chmod 0644 bitmaps/help ||
  1135. echo 'restore of bitmaps/help failed'
  1136. Wc_c="`wc -c < 'bitmaps/help'`"
  1137. test 2378 -eq "$Wc_c" ||
  1138.     echo 'bitmaps/help: original size 2378, current size' "$Wc_c"
  1139. rm -f _shar_wnt_.tmp
  1140. fi
  1141. # ============= bitmaps/dclock ==============
  1142. if test -f 'bitmaps/dclock' -a X"$1" != X"-c"; then
  1143.     echo 'x - skipping bitmaps/dclock (File already exists)'
  1144.     rm -f _shar_wnt_.tmp
  1145. else
  1146. > _shar_wnt_.tmp
  1147. echo 'x - extracting bitmaps/dclock (Text)'
  1148. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/dclock' &&
  1149. #define dclock_width 49
  1150. #define dclock_height 42
  1151. #define dclock_x_hot 0
  1152. #define dclock_y_hot 0
  1153. static char dclock_bits[] = {
  1154. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1155. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1156. X   0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88,
  1157. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
  1158. X   0x00, 0x08, 0xa2, 0x06, 0x00, 0x00, 0x00, 0x00, 0x70, 0xa2, 0x09, 0x00,
  1159. X   0x00, 0x00, 0x00, 0x80, 0xa2, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa2,
  1160. X   0x08, 0x00, 0x00, 0x00, 0x00, 0x88, 0xb2, 0x08, 0x00, 0x00, 0x00, 0x00,
  1161. X   0x70, 0xac, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1162. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1163. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1164. X   0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00,
  1165. X   0x00, 0x00, 0xc0, 0x1f, 0x00, 0x48, 0x10, 0x00, 0x00, 0x60, 0x18, 0x00,
  1166. X   0x6c, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x6c, 0x18, 0x00, 0x00, 0x60,
  1167. X   0x18, 0x00, 0x6c, 0x18, 0x00, 0x00, 0x60, 0x98, 0x01, 0x6c, 0x18, 0x00,
  1168. X   0x00, 0x60, 0x98, 0x01, 0x6c, 0x18, 0x00, 0x00, 0x60, 0x98, 0x01, 0x6c,
  1169. X   0x18, 0x00, 0x00, 0xe0, 0x0f, 0x01, 0xe6, 0x0f, 0x00, 0x00, 0xe0, 0x07,
  1170. X   0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0xc4, 0x0f, 0x00, 0x00,
  1171. X   0x30, 0x0c, 0x00, 0x06, 0x0c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x06, 0x0c,
  1172. X   0x00, 0x00, 0x30, 0x8c, 0x00, 0x06, 0x0c, 0x00, 0x00, 0x30, 0xcc, 0x00,
  1173. X   0x06, 0x0c, 0x00, 0x00, 0x30, 0xcc, 0x00, 0x06, 0x0c, 0x00, 0x00, 0x30,
  1174. X   0x8c, 0x00, 0x06, 0x0c, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x02, 0x04, 0x00,
  1175. X   0x00, 0xe0, 0x07, 0x00, 0x02, 0x04, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00,
  1176. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1177. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1178. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  1179. SHAR_EOF
  1180. chmod 0644 bitmaps/dclock ||
  1181. echo 'restore of bitmaps/dclock failed'
  1182. Wc_c="`wc -c < 'bitmaps/dclock'`"
  1183. test 1965 -eq "$Wc_c" ||
  1184.     echo 'bitmaps/dclock: original size 1965, current size' "$Wc_c"
  1185. rm -f _shar_wnt_.tmp
  1186. fi
  1187. # ============= bitmaps/dragon ==============
  1188. if test -f 'bitmaps/dragon' -a X"$1" != X"-c"; then
  1189.     echo 'x - skipping bitmaps/dragon (File already exists)'
  1190.     rm -f _shar_wnt_.tmp
  1191. else
  1192. > _shar_wnt_.tmp
  1193. echo 'x - extracting bitmaps/dragon (Text)'
  1194. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/dragon' &&
  1195. #define dragon2.icon_width 50
  1196. #define dragon2.icon_height 48
  1197. #define dragon2.icon_x_hot 0
  1198. #define dragon2.icon_y_hot 0
  1199. static char dragon2.icon_bits[] = {
  1200. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1201. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1202. X   0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
  1203. X   0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xef, 0x01, 0x00,
  1204. X   0x00, 0x00, 0xe0, 0xc0, 0x10, 0x01, 0x00, 0x00, 0x00, 0x20, 0x41, 0x89,
  1205. X   0xe0, 0x01, 0x00, 0x00, 0xa0, 0xe2, 0x41, 0x1c, 0x03, 0x00, 0x00, 0x20,
  1206. X   0x1c, 0x61, 0x83, 0x02, 0x00, 0x00, 0x60, 0x00, 0xe0, 0x40, 0x00, 0x00,
  1207. X   0x00, 0xc0, 0x03, 0x34, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x14, 0x40,
  1208. X   0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0x78, 0x00, 0x00, 0x00, 0x20, 0xc0,
  1209. X   0x61, 0x48, 0x00, 0x00, 0x00, 0x20, 0x87, 0x50, 0x10, 0x00, 0x00, 0x00,
  1210. X   0xb0, 0x58, 0x48, 0x1f, 0x00, 0x00, 0x00, 0x70, 0x30, 0x24, 0x11, 0x00,
  1211. X   0x00, 0x00, 0xf8, 0x60, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xd6,
  1212. X   0x78, 0x00, 0x00, 0x00, 0x00, 0x88, 0x59, 0x86, 0x00, 0x00, 0x00, 0x00,
  1213. X   0x04, 0xf3, 0x01, 0x01, 0x00, 0x00, 0x00, 0x42, 0x06, 0x00, 0x02, 0x00,
  1214. X   0x00, 0x70, 0x49, 0x06, 0x00, 0x02, 0x00, 0x00, 0xf8, 0x4f, 0x8c, 0x03,
  1215. X   0x02, 0x00, 0x00, 0xe8, 0x40, 0x54, 0x00, 0x02, 0x00, 0x00, 0xa8, 0x23,
  1216. X   0x28, 0x00, 0x01, 0x00, 0x00, 0xa8, 0x1c, 0xd0, 0x83, 0x07, 0x00, 0x00,
  1217. X   0x80, 0x00, 0x20, 0x7c, 0x04, 0x00, 0x00, 0x80, 0x00, 0xc3, 0x01, 0x04,
  1218. X   0x00, 0x00, 0xc0, 0x81, 0x7c, 0x06, 0x04, 0x00, 0x00, 0x20, 0x42, 0x01,
  1219. X   0x38, 0x02, 0x00, 0x00, 0xd0, 0x4e, 0x15, 0xc0, 0x01, 0x00, 0x00, 0xf8,
  1220. X   0xf3, 0xef, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1221. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1222. X   0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x06,
  1223. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x6a, 0x9c, 0x01, 0x00, 0x00,
  1224. X   0x60, 0xd7, 0xfe, 0xd6, 0x00, 0x00, 0x00, 0x60, 0xe6, 0xd6, 0xde, 0x01,
  1225. X   0x00, 0x00, 0x60, 0x96, 0xd6, 0x86, 0x01, 0x00, 0x00, 0xc0, 0xf3, 0xd7,
  1226. X   0xdd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1227. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  1228. SHAR_EOF
  1229. chmod 0644 bitmaps/dragon ||
  1230. echo 'restore of bitmaps/dragon failed'
  1231. Wc_c="`wc -c < 'bitmaps/dragon'`"
  1232. test 2256 -eq "$Wc_c" ||
  1233.     echo 'bitmaps/dragon: original size 2256, current size' "$Wc_c"
  1234. rm -f _shar_wnt_.tmp
  1235. fi
  1236. # ============= bitmaps/readNews ==============
  1237. if test -f 'bitmaps/readNews' -a X"$1" != X"-c"; then
  1238.     echo 'x - skipping bitmaps/readNews (File already exists)'
  1239.     rm -f _shar_wnt_.tmp
  1240. else
  1241. > _shar_wnt_.tmp
  1242. echo 'x - extracting bitmaps/readNews (Text)'
  1243. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/readNews' &&
  1244. #define unnamed_width 41
  1245. #define unnamed_height 43
  1246. #define unnamed_x_hot 0
  1247. #define unnamed_y_hot 0
  1248. static char unnamed_bits[] = {
  1249. X   0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
  1250. X   0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa,
  1251. X   0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x30, 0x00, 0x00, 0x00, 0xfa,
  1252. X   0x00, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x30, 0x03, 0x00, 0x00, 0xfa,
  1253. X   0x00, 0x18, 0x03, 0x00, 0x00, 0xfa, 0x00, 0x18, 0x03, 0x00, 0x00, 0xfe,
  1254. X   0x00, 0xfc, 0x01, 0x00, 0x00, 0xfa, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xfa,
  1255. X   0x00, 0x67, 0x6c, 0x00, 0x00, 0xbe, 0x00, 0xcc, 0x4c, 0x00, 0x00, 0xba,
  1256. X   0x00, 0xc0, 0x7e, 0x04, 0x00, 0xba, 0x00, 0xc0, 0x66, 0x1a, 0x00, 0xba,
  1257. X   0x00, 0x00, 0x06, 0x10, 0x18, 0xba, 0x00, 0x00, 0xb8, 0x1f, 0x19, 0xba,
  1258. X   0x00, 0x00, 0x80, 0xd9, 0x0e, 0xba, 0x80, 0x01, 0x80, 0xcd, 0x0c, 0xba,
  1259. X   0xc0, 0x01, 0x00, 0x6a, 0x06, 0xbe, 0xc0, 0x11, 0x00, 0x68, 0x06, 0xbe,
  1260. X   0xa0, 0x31, 0x00, 0x60, 0x03, 0xba, 0x20, 0x11, 0x00, 0x80, 0x02, 0xba,
  1261. X   0x90, 0x09, 0x00, 0x00, 0x02, 0xba, 0x10, 0x0b, 0x00, 0x00, 0x00, 0xbe,
  1262. X   0x18, 0xb7, 0x01, 0x00, 0x00, 0xba, 0x00, 0x36, 0x01, 0x00, 0x00, 0xbe,
  1263. X   0x00, 0xfa, 0x19, 0x00, 0x00, 0xba, 0x00, 0x9a, 0x6d, 0x00, 0x00, 0xba,
  1264. X   0x00, 0x18, 0xd8, 0x00, 0x00, 0xbe, 0x00, 0xe0, 0x6c, 0x03, 0x00, 0xba,
  1265. X   0x00, 0x00, 0x7c, 0x09, 0x00, 0xe0, 0x00, 0x00, 0x6c, 0x36, 0x00, 0xe0,
  1266. X   0x00, 0x00, 0x60, 0x2c, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xe0,
  1267. X   0x00, 0x00, 0x00, 0x0d, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x0f, 0x00, 0xe0,
  1268. X   0x00, 0x00, 0x00, 0x04, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0,
  1269. X   0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
  1270. X   0x00, 0x00, 0x00, 0x00, 0x00, 0xa0,  };
  1271. SHAR_EOF
  1272. chmod 0644 bitmaps/readNews ||
  1273. echo 'restore of bitmaps/readNews failed'
  1274. Wc_c="`wc -c < 'bitmaps/readNews'`"
  1275. test 1748 -eq "$Wc_c" ||
  1276.     echo 'bitmaps/readNews: original size 1748, current size' "$Wc_c"
  1277. rm -f _shar_wnt_.tmp
  1278. fi
  1279. # ============= bitmaps/load ==============
  1280. if test -f 'bitmaps/load' -a X"$1" != X"-c"; then
  1281.     echo 'x - skipping bitmaps/load (File already exists)'
  1282.     rm -f _shar_wnt_.tmp
  1283. else
  1284. > _shar_wnt_.tmp
  1285. echo 'x - extracting bitmaps/load (Text)'
  1286. sed 's/^X//' << 'SHAR_EOF' > 'bitmaps/load' &&
  1287. #define load_width 32
  1288. #define load_height 32
  1289. static char load_bits[] = {
  1290. X   0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x02, 0x00, 0x00, 0x40,
  1291. X   0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x04, 0x00, 0x40,
  1292. X   0x02, 0x0e, 0x00, 0x40, 0x02, 0x0e, 0x00, 0x40, 0x02, 0x0f, 0x00, 0x40,
  1293. X   0x02, 0x1f, 0x00, 0x40, 0x02, 0x1f, 0x00, 0x40, 0xfe, 0xff, 0xff, 0x7f,
  1294. X   0x02, 0x1f, 0x00, 0x40, 0x02, 0x1f, 0x00, 0x40, 0x92, 0x3f, 0x00, 0x40,
  1295. X   0xb2, 0x3f, 0x00, 0x40, 0xf2, 0x3f, 0x00, 0x40, 0xfa, 0x7f, 0x00, 0x40,
  1296. X   0xfa, 0x7f, 0x00, 0x40, 0xfa, 0xff, 0x00, 0x40, 0xfe, 0xff, 0x00, 0x40,
  1297. X   0xfe, 0xff, 0x01, 0x40, 0xfe, 0xff, 0x09, 0x40, 0xfe, 0xff, 0x2d, 0x62,
  1298. X   0xfe, 0xff, 0x7f, 0x73, 0xfe, 0xff, 0x7f, 0x77, 0xfe, 0xff, 0xff, 0x7f,
  1299. X   0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f,
  1300. X   0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};
  1301. SHAR_EOF
  1302. chmod 0644 bitmaps/load ||
  1303. echo 'restore of bitmaps/load failed'
  1304. Wc_c="`wc -c < 'bitmaps/load'`"
  1305. test 875 -eq "$Wc_c" ||
  1306.     echo 'bitmaps/load: original size 875, current size' "$Wc_c"
  1307. rm -f _shar_wnt_.tmp
  1308. fi
  1309. # ============= bricons.l ==============
  1310. if test -f 'bricons.l' -a X"$1" != X"-c"; then
  1311.     echo 'x - skipping bricons.l (File already exists)'
  1312.     rm -f _shar_wnt_.tmp
  1313. else
  1314. > _shar_wnt_.tmp
  1315. echo 'x - extracting bricons.l (Text)'
  1316. sed 's/^X//' << 'SHAR_EOF' > 'bricons.l' &&
  1317. .\" static char* sccs_bricons_c = "%W%%G%";
  1318. .\"  bricons.l  B. Ingram version 1.0 24th June 1991
  1319. .TH BRICONS l "28th March 1992"
  1320. .SH NAME
  1321. bricons \- quick start up utility for applications using text, icons and pop-up
  1322. menus
  1323. an X display
  1324. .SH SYNOPSIS
  1325. .B bricons
  1326. \ [options]
  1327. .br
  1328. [\fB\-file\fP] [\fB\-col\fP] [\fB\-help\fP] [\fB\-sensitive\fP]
  1329. .br
  1330. .SH DESCRIPTION
  1331. .LP
  1332. Bricons program allows the user to quickly start up applications
  1333. by selecting the appropriate button from the display and pressing the left 
  1334. mouse button.  A maximum of up to sixteen main menu buttons can be displayed.  
  1335. Each main menu button can launch an application or pop-up a sub menu containing 
  1336. more buttons. The buttons can be represented as a bitmap or as text.
  1337. .LP
  1338. Information on how the program is to present each button (either as a bitmap 
  1339. or text) and the application that is to be executed if that button is selected 
  1340. is contained in script file called .briconsrc.  This file should be stored in 
  1341. the user's home directory.
  1342. .LP
  1343. The \&.briconsrc file contains a number of key words which are used to
  1344. indicate if the button label is some text or a bitmap and if the button is to
  1345. pop-up a sub menu or launch a program.  These key words are explained below:
  1346. .LP
  1347. The .briconsrc file should start with the keyword
  1348. .B %icon
  1349. or
  1350. .B %text
  1351. The key word %icon indicates that the button label is a bitmap.  This should be
  1352. followed by the file name containing the bitmap.  For example:
  1353. .sp
  1354. .ce
  1355. %icon clock.icon
  1356. .LP
  1357. The key word %text indicates that the button label is some text.  The text can
  1358. be split over three lines by using the new line character \\n.  For 
  1359. example:
  1360. .sp
  1361. .ce
  1362. %text Line1\\nLine2\\nLine3
  1363. .LP
  1364. would be presented as:
  1365. .ce 3
  1366. Line1
  1367. Line2
  1368. Line3
  1369. .LP
  1370. Once a button has been selected it is prevented from accidentally being 
  1371. re-selected by "graying out" the button (default action).  Sometimes however 
  1372. it maybe desirable to allow the button to be selected more than once.  This
  1373. can be done be using the keyword
  1374. .B %icon+
  1375. or 
  1376. .B %text+
  1377. .LP
  1378. The next line in the \&.briconsrc file should either contain the key word
  1379. %sub_menu or the application to be started.  If the name of an 
  1380. application  is given then a check is made to see if such an program can be 
  1381. executed.  If the program does not exist or is not in the users path then an 
  1382. error message is printed and the button associated with the application is 
  1383. ignored.
  1384. .LP
  1385. If the key word %sub_menu is used then a pop-up sub menu is created.  Any
  1386. further buttons defined in the briconsrc file will appear in the sub menu for
  1387. that button until the key word %end_sub_menu is found.  A maximum of
  1388. ten buttons are allowed in a single pop-up sub menu.
  1389. .LP
  1390. Any line in the \&.briconsrc file starting with a # character is 
  1391. treated as a comment and will be ignored.  
  1392. .LP
  1393. This program has four default buttons labelled source, edit, help and quit.
  1394. The edit button allows the user to edit there icon file (default being an empty
  1395. ./briconsrc file) and to add or delete buttons from the script file.  The 
  1396. source button causes the program to distory all the current buttons being 
  1397. displayed and re-read the icon file and display the new buttons.
  1398. .SH OPTIONS
  1399. .LP
  1400. bricons accepts all of the standard X  Toolkit  command  line options along 
  1401. with the additional options listed below:
  1402. .TP
  1403. -file
  1404. Tells the program to read this file instead of the default file.
  1405. .TP
  1406. -col
  1407. Indicates the number of buttons in a column before starting a new row.  The 
  1408. default number of columns is 15.
  1409. .TP
  1410. -help
  1411. Tells the program the path for the help file.
  1412. .TP
  1413. -sensitive
  1414. Toggle used for default "graying out" of selected buttons.  If set to TRUE 
  1415. then buttons will "gray out" unless specifically requested not to.
  1416. .SH X DEFAULTS
  1417. .LP
  1418. The bricons program reads the .Xdefaults file and Xbricons resource file
  1419. during startup and uses the appropriate resource specification to
  1420. customise the appearance or characteristics of its display.  This program 
  1421. understands all of the core resource names and classes as well as:
  1422. .TP
  1423. no_of_cols
  1424. Specifies the number of buttons in a column.
  1425. .TP
  1426. icon_file
  1427. Specifies path name for icon file to be read.
  1428. .TP
  1429. help_file
  1430. Specifies path name for help file.
  1431. .SH "SETTING BITMAP DIRECTORIES"
  1432. .LP
  1433. This program will search the default bitmap directory for any bitmaps that
  1434. are to be used to represent buttons. If the user wishes the program to
  1435. search other directories for bitmap files then this should be specified in
  1436. the users .X11defaults file.  *BitmapFilePath: should be added followed by
  1437. colon separated path names where the bitmap files can be found.  For example:
  1438. .sp
  1439. .ce
  1440. *BitmapFilePath:    /usr/local/include/X11/bitmaps:/usr/mydir/bitmaps
  1441. SHAR_EOF
  1442. true || echo 'restore of bricons.l failed'
  1443. fi
  1444. echo 'End of  part 1'
  1445. echo 'File bricons.l is continued in part 2'
  1446. echo 2 > _shar_seq_.tmp
  1447. exit 0
  1448. -- 
  1449. --
  1450. Molecular Simulations, Inc.            mail: dcmartin@msi.com
  1451. 796 N. Pastoria Avenue                uucp: uunet!dcmartin
  1452. Sunnyvale, California 94086            at&t: 408/522-9236
  1453.