home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume15 / olvwm-3.0 / part21 < prev    next >
Internet Message Format  |  1992-02-03  |  27KB

  1. Path: uunet!sun-barr!ames!pasteur!nntp
  2. From: scott.oaks@East.Sun.COM (Scott Oaks)
  3. Newsgroups: comp.sources.x
  4. Subject: v15i167: OpenLook Virtual Window Mgr (3.0), Part21/21
  5. Message-ID: <1992Feb4.140141.8521@pasteur.Berkeley.EDU>
  6. Date: 4 Feb 92 14:01:41 GMT
  7. References: <csx-15i147-olvwm-3.0@uunet.UU.NET>
  8. Sender: dcmartin@msi.com (David C. Martin - Moderator)
  9. Organization: University of California, at Berkeley
  10. Lines: 932
  11. Approved: dcmartin@msi.com
  12. Nntp-Posting-Host: postgres.berkeley.edu
  13.  
  14. Submitted-by: scott.oaks@East.Sun.COM (Scott Oaks)
  15. Posting-number: Volume 15, Issue 167
  16. Archive-name: olvwm-3.0/part21
  17.  
  18. # This is a shell archive.  Remove anything before this line, then feed it
  19. # into a shell via "sh file" or similar.  To overwrite existing files,
  20. # type "sh file -c".
  21. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  22. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  23. # If this archive is complete, you will see the following message at the end:
  24. #        "End of archive 21 (of 21)."
  25. # Contents:  Debug.c cmdstream.h gettext.h group.h helpcmd.h helpsend.c
  26. #   kbdfuncs.h list.h notice.h olcursor.h olvwm.info openwin-menu
  27. #   parse.l usleep.c
  28. # Wrapped by dcmartin@fascet on Tue Jan 14 05:54:49 1992
  29. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  30. if test -f 'Debug.c' -a "${1}" != "-c" ; then 
  31.   echo shar: Will not clobber existing file \"'Debug.c'\"
  32. else
  33. echo shar: Extracting \"'Debug.c'\" \(1504 characters\)
  34. sed "s/^X//" >'Debug.c' <<'END_OF_FILE'
  35. X/*
  36. X *      (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
  37. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  38. X *      file for terms of the license.
  39. X */
  40. X
  41. X#ident    "@(#)Debug.c    26.5    91/09/14 SMI"
  42. X
  43. X#include <errno.h>
  44. X#include <stdio.h>
  45. X#include <X11/Xos.h>
  46. X#include <X11/Xlib.h>
  47. X#include <X11/Xutil.h>
  48. X
  49. X#include "i18n.h"
  50. X#include "olwm.h"
  51. X#include "win.h"
  52. X
  53. Xchar *eventNames[] = {
  54. X    "<EventZero>",
  55. X    "<EventOne>",
  56. X    "KeyPress",
  57. X    "KeyRelease",
  58. X    "ButtonPress",
  59. X    "ButtonRelease",
  60. X    "MotionNotify",
  61. X    "EnterNotify",
  62. X    "LeaveNotify",
  63. X    "FocusIn",
  64. X    "FocusOut",
  65. X    "KeymapNotify",
  66. X    "Expose",
  67. X    "GraphicsExpose",
  68. X    "NoExpose",
  69. X    "VisibilityNotify",
  70. X    "CreateNotify",
  71. X    "DestroyNotify",
  72. X    "UnmapNotify",
  73. X    "MapNotify",
  74. X    "MapRequest",
  75. X    "ReparentNotify",
  76. X    "ConfigureNotify",
  77. X    "ConfigureRequest",
  78. X    "GravityNotify",
  79. X    "ResizeRequest",
  80. X    "CirculateNotify",
  81. X    "CirculateRequest",
  82. X    "PropertyNotify",
  83. X    "SelectionClear",
  84. X    "SelectionRequest",
  85. X    "SelectionNotify",
  86. X    "ColormapNotify",
  87. X    "ClientMessage",
  88. X    "MappingNotify",
  89. X};
  90. X
  91. XDebugEvent(ep, str)
  92. X    XEvent    *ep;
  93. X    char    *str;
  94. X{
  95. X    fprintf(stderr, "%s:%s - ", str, eventNames[ep->type]);
  96. X    fflush(stderr);
  97. X}
  98. X
  99. Xstatic char *typeNames[] = {
  100. X    "Frame",
  101. X    "Icon",
  102. X    "Resize",
  103. X    "Pushpin",
  104. X    "Button",
  105. X    "Pane",
  106. X    "IconPane",
  107. X    "Colormap",
  108. X    "Menu",
  109. X    "NoFocus",
  110. X    "Root",
  111. X    "Busy",
  112. X};
  113. X
  114. XDebugWindow(win)
  115. XWinGeneric *win;
  116. X{
  117. X    if (win == NULL)
  118. X        fprintf(stderr, "other window - ");
  119. X    else
  120. X        fprintf(stderr, "win %x (self %d) %s - ",win,win->core.self,
  121. X            typeNames[win->core.kind]);
  122. X    fflush(stderr);
  123. X}
  124. END_OF_FILE
  125. if test 1504 -ne `wc -c <'Debug.c'`; then
  126.     echo shar: \"'Debug.c'\" unpacked with wrong size!
  127. fi
  128. # end of 'Debug.c'
  129. fi
  130. if test -f 'cmdstream.h' -a "${1}" != "-c" ; then 
  131.   echo shar: Will not clobber existing file \"'cmdstream.h'\"
  132. else
  133. echo shar: Extracting \"'cmdstream.h'\" \(1502 characters\)
  134. sed "s/^X//" >'cmdstream.h' <<'END_OF_FILE'
  135. X/* @(#) cmdstream.h 26.1 90/09/30 Sun Microsystems */
  136. X/*
  137. X *      (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
  138. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  139. X *      file for terms of the license.
  140. X */
  141. X/* ----------------------------------------------------------------------
  142. X *      cmdstream.h
  143. X * ---------------------------------------------------------------------*/
  144. X
  145. X#ident    "@(#)cmdstream.h    26.6    91/09/14 SMI"
  146. X
  147. X#ifndef CMDSTREAM_H
  148. X#define CMDSTREAM_H
  149. X
  150. X#ifndef TRUE
  151. X#define TRUE    1
  152. X#endif
  153. X
  154. X#ifndef FALSE
  155. X#define FALSE    0
  156. X#endif
  157. X
  158. X/* ----------------------------------------------------------------------
  159. X *      Command Data Structures
  160. X * ---------------------------------------------------------------------*/
  161. X
  162. Xtypedef enum _AttrType {
  163. X    INT, FLOAT, STRING
  164. X} AttrType;
  165. X
  166. Xtypedef union _AttrValue {
  167. X    int        ival;
  168. X    float        fval;
  169. X    char        *sval;
  170. X} AttrValue;
  171. X
  172. Xtypedef struct _CmdAttr {
  173. X    char        *name;
  174. X    AttrType    type;
  175. X    AttrValue    value;
  176. X} CmdAttr;
  177. X
  178. Xtypedef struct _Command {
  179. X    char        *keyword;
  180. X    void        (*callback)();
  181. X    int        attrLen;
  182. X    CmdAttr        *attrList;
  183. X} Command;
  184. X
  185. X/* ----------------------------------------------------------------------
  186. X *      Function Definitions
  187. X * ---------------------------------------------------------------------*/
  188. X
  189. Xextern    void    SetCmdStream(/* FILE *instream, FILE * outstream */);
  190. Xextern    int    SendCmd(/* Command* cmd */);
  191. Xextern    void    RegisterCmd(/* Command *cmd */);
  192. Xextern    int    GetCmd();
  193. Xextern    int    ParseCmd(/* char *line */);
  194. X
  195. X#endif /* CMDSTREAM_H */
  196. END_OF_FILE
  197. if test 1502 -ne `wc -c <'cmdstream.h'`; then
  198.     echo shar: \"'cmdstream.h'\" unpacked with wrong size!
  199. fi
  200. # end of 'cmdstream.h'
  201. fi
  202. if test -f 'gettext.h' -a "${1}" != "-c" ; then 
  203.   echo shar: Will not clobber existing file \"'gettext.h'\"
  204. else
  205. echo shar: Extracting \"'gettext.h'\" \(1408 characters\)
  206. sed "s/^X//" >'gettext.h' <<'END_OF_FILE'
  207. X/*
  208. X *      (c) Copyright 1989, 1990 Sun Microsystems, Inc. Sun design patents
  209. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  210. X *      file for terms of the license.
  211. X */
  212. X
  213. X#ident    "@(#)gettext.h    1.4    91/09/14 SMI"
  214. X
  215. X#define DEFAULT_DOMAIN    "default"
  216. X#define DEFAULT_BINDING "/usr/lib/locale\n"
  217. X#define COOKIE 0xFF
  218. X#define BINDINGLISTDELIM '\n'
  219. X
  220. X#define MAX_VALUE_LEN        2047
  221. X#define MAX_DOMAIN_LENGTH    255
  222. X#define LC_NAMELEN        255
  223. X
  224. X#include <ctype.h>
  225. X#include <errno.h>
  226. X#include <locale.h>
  227. X#include <stdio.h>
  228. X#include <sys/types.h>
  229. X#include <sys/param.h>
  230. Xstruct domain_binding {
  231. X    char    *domain_name;
  232. X    char    *binding;
  233. X    struct   domain_binding *nextdomain;
  234. X};
  235. X
  236. X
  237. X#include <fcntl.h> 
  238. X#include <sys/file.h> 
  239. X#include <sys/mman.h> 
  240. X#include <sys/stat.h> 
  241. X
  242. X#define MAX_MSG 64 
  243. X
  244. Xstruct struct_mo_info {
  245. X    int        message_mid;
  246. X    int        message_count;
  247. X    int        string_count_msgid;
  248. X    int        string_count_msg;
  249. X    int        message_struct_size;
  250. X} ;
  251. X
  252. Xstruct message_struct {
  253. X    int        less;
  254. X    int        more;
  255. X    int        msgid_offset;
  256. X    int        msg_offset;
  257. X};
  258. X
  259. Xstruct message_so {
  260. X    char *message_so_path;   /* name of message shared object */
  261. X    int fd;                /* file descriptor        */
  262. X    struct struct_mo_info *mess_file_info; /* information of message file */
  263. X    struct message_struct *message_list;/* message list */
  264. X    char *msg_ids;            /* actual message ids */
  265. X    char *msgs;                /* actual messages */
  266. X};
  267. END_OF_FILE
  268. if test 1408 -ne `wc -c <'gettext.h'`; then
  269.     echo shar: \"'gettext.h'\" unpacked with wrong size!
  270. fi
  271. # end of 'gettext.h'
  272. fi
  273. if test -f 'group.h' -a "${1}" != "-c" ; then 
  274.   echo shar: Will not clobber existing file \"'group.h'\"
  275. else
  276. echo shar: Extracting \"'group.h'\" \(1785 characters\)
  277. sed "s/^X//" >'group.h' <<'END_OF_FILE'
  278. X/*
  279. X *      (c) Copyright 1990 Sun Microsystems, Inc. Sun design patents
  280. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  281. X *      file for terms of the license.
  282. X */
  283. X
  284. X#ifndef _OLWM_GROUP_H
  285. X#define _OLWM_GROUP_H
  286. X
  287. X#ident    "@(#)group.h    26.6    91/09/14 SMI"
  288. X
  289. Xtypedef Window GroupID;
  290. Xtypedef void *(*GroupFunc)(/* Client *, void * */);
  291. X
  292. Xtypedef struct _group {
  293. X    GroupID groupid;
  294. X    Client *leader;
  295. X    List *dependents;     /* List of Client * */
  296. X    List *independents;     /* List of Client * */
  297. X    } Group;
  298. X
  299. X#define GROUP_LEADER 0x01
  300. X#define GROUP_DEPENDENT 0x02
  301. X#define GROUP_INDEPENDENT 0x04
  302. X
  303. Xextern void GroupInit();
  304. X    /* initialises the Group package; should be called only once 
  305. X     * at startup.
  306. X     */
  307. X
  308. Xextern void *GroupApply();    /* GroupID, GroupFunc, void *, mask */
  309. X    /* applies a function to each part of the group identified in the
  310. X     * mask; as with any apply function, when the function returns
  311. X     * a non-NULL value application stops and that value is returned.
  312. X     */
  313. X
  314. Xextern Group *GroupLookup();    /* GroupID */
  315. X    /* given a GroupID, returns the associated group structure, or NULL
  316. X     * if there is none.
  317. X     */
  318. X
  319. Xextern Bool GroupAdd();        /* GroupID, Client *, mask */
  320. X    /* adds a client to the named group, creating the group if need be.
  321. X     * The kind of client is specified in the mask field.  Returns True
  322. X     * if the client was successfully added.
  323. X     */
  324. X
  325. Xextern Bool GroupRemove();    /* GroupID, Client * */
  326. X    /* removes a client from the group.  If the group becomes empty
  327. X     * it is deleted.  Returns True if the client was successfully deleted.
  328. X     */
  329. X
  330. Xextern Bool GroupIsLeader();    /* GroupID, Client * */
  331. X    /* returns whether a particular client is the leader of
  332. X     * a group 
  333. X     */
  334. X
  335. Xextern Client *GroupLeader();    /* GroupID */
  336. X    /* returns the leader of a group */
  337. X
  338. X#endif /* _OLWM_GROUP_H */
  339. END_OF_FILE
  340. if test 1785 -ne `wc -c <'group.h'`; then
  341.     echo shar: \"'group.h'\" unpacked with wrong size!
  342. fi
  343. # end of 'group.h'
  344. fi
  345. if test -f 'helpcmd.h' -a "${1}" != "-c" ; then 
  346.   echo shar: Will not clobber existing file \"'helpcmd.h'\"
  347. else
  348. echo shar: Extracting \"'helpcmd.h'\" \(743 characters\)
  349. sed "s/^X//" >'helpcmd.h' <<'END_OF_FILE'
  350. X/*
  351. X *      (c) Copyright 1989, 1990 Sun Microsystems, Inc. Sun design patents
  352. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  353. X *      file for terms of the license.
  354. X */
  355. X
  356. X/* ----------------------------------------------------------------------
  357. X *    helpcmd.h
  358. X * ---------------------------------------------------------------------*/
  359. X
  360. X#ident    "@(#)helpcmd.h    26.6    91/09/14 SMI"
  361. X
  362. X#include "cmdstream.h"
  363. X
  364. X#define        HW_SCREEN_NO        0
  365. X#define        HW_MOUSE_X        1
  366. X#define        HW_MOUSE_Y        2
  367. X#define        HW_HELPKEY        3
  368. X#define        HW_ATTR_COUNT        4
  369. X
  370. Xstatic    CmdAttr    helpCmdAttr[] = {
  371. X    { "SCREEN_NO",    INT },
  372. X    { "MOUSE_X",    INT },
  373. X    { "MOUSE_Y",    INT },
  374. X    { "HELPKEY",    STRING }
  375. X};
  376. X
  377. Xstatic Command helpCommand = {
  378. X    "SHOWHELP", 0, HW_ATTR_COUNT, helpCmdAttr
  379. X};
  380. X
  381. END_OF_FILE
  382. if test 743 -ne `wc -c <'helpcmd.h'`; then
  383.     echo shar: \"'helpcmd.h'\" unpacked with wrong size!
  384. fi
  385. # end of 'helpcmd.h'
  386. fi
  387. if test -f 'helpsend.c' -a "${1}" != "-c" ; then 
  388.   echo shar: Will not clobber existing file \"'helpsend.c'\"
  389. else
  390. echo shar: Extracting \"'helpsend.c'\" \(908 characters\)
  391. sed "s/^X//" >'helpsend.c' <<'END_OF_FILE'
  392. X/*
  393. X *      (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
  394. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  395. X *      file for terms of the license.
  396. X */
  397. X/* ----------------------------------------------------------------------
  398. X *    helpsend.c
  399. X * ---------------------------------------------------------------------*/
  400. X
  401. X#ident    "@(#)helpsend.c    26.6    91/09/14 SMI"
  402. X
  403. X#include "helpcmd.h"
  404. X
  405. X/* ----------------------------------------------------------------------
  406. X *    ShowHelpWindow
  407. X * ---------------------------------------------------------------------*/
  408. Xint
  409. XShowHelpWindow(nscreen,mousex,mousey,helpkey)
  410. X    int    nscreen;
  411. X    int    mousex,mousey;
  412. X    char    *helpkey;
  413. X{
  414. X    helpCmdAttr[HW_SCREEN_NO].value.ival     = nscreen;
  415. X    helpCmdAttr[HW_MOUSE_X].value.ival     = mousex;
  416. X    helpCmdAttr[HW_MOUSE_Y].value.ival     = mousey;
  417. X    helpCmdAttr[HW_HELPKEY].value.sval     = helpkey;
  418. X    return (SendCmd(&helpCommand));
  419. X}
  420. END_OF_FILE
  421. if test 908 -ne `wc -c <'helpsend.c'`; then
  422.     echo shar: \"'helpsend.c'\" unpacked with wrong size!
  423. fi
  424. # end of 'helpsend.c'
  425. fi
  426. if test -f 'kbdfuncs.h' -a "${1}" != "-c" ; then 
  427.   echo shar: Will not clobber existing file \"'kbdfuncs.h'\"
  428. else
  429. echo shar: Extracting \"'kbdfuncs.h'\" \(1734 characters\)
  430. sed "s/^X//" >'kbdfuncs.h' <<'END_OF_FILE'
  431. X/*
  432. X *      (c) Copyright 1989, 1990 Sun Microsystems, Inc. Sun design patents
  433. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  434. X *      file for terms of the license.
  435. X */
  436. X
  437. X#ifndef _OLWM_KBDFUNCS_H
  438. X#define _OLWM_KBDFUNCS_H
  439. X
  440. X#ident    "@(#)kbdfuncs.h    1.1 olvwm version 1/3/92"
  441. X
  442. X/*
  443. X * Based on
  444. X#ident    "@(#)kbdfuncs.h    1.5    91/09/14 SMI"
  445. X *
  446. X */
  447. X
  448. Xextern void KeyBackFocus();
  449. Xextern void KeyBeep();
  450. Xextern void KeyFocusToPointer();
  451. Xextern void KeyRaiseLowerPointer();
  452. Xextern void KeyFrontFocus();
  453. Xextern void KeyFullRestore();
  454. Xextern void KeyLockColormap();
  455. Xextern void KeyMove();
  456. Xextern void KeyNextApp();
  457. Xextern void KeyNextWindow();
  458. Xextern void KeyOpenClosePointer();
  459. Xextern void KeyOpenCloseFocus();
  460. Xextern void KeyOwner();
  461. Xextern void KeyPrevApp();
  462. Xextern void KeyPrevWindow();
  463. Xextern void KeyProperties();
  464. Xextern void KeyQuit();
  465. Xextern void KeyRefresh();
  466. Xextern void KeyResize();
  467. Xextern void KeyToggleInput();
  468. Xextern void KeyTogglePin();
  469. Xextern void KeyUnlockColormap();
  470. Xextern void KeyWindowMenu();
  471. Xextern void KeyWorkspaceMenu();
  472. X
  473. Xextern void KeyMoveVDM();
  474. Xextern void AddKeyBinding();
  475. X
  476. Xtypedef struct {
  477. X    char *rsrc_name;
  478. X    char *dflt_binding;
  479. X    void (*function)();
  480. X    SemanticAction action;
  481. X    unsigned long flags;
  482. X} KeyDescriptor;
  483. X
  484. X/* values for flags */
  485. X#define KD_IMMUNE       (1<<0)          /* immune to suspension */
  486. X#define KD_SUNVIEW      (1<<1)          /* active if mouseless == SunView */
  487. X#define KD_BASIC        (1<<2)          /* active if mouseless == basic */
  488. X#define KD_FULL         (1<<3)          /* active if mouseless == full */
  489. X
  490. X#define KD_BASIC_FULL   (KD_BASIC | KD_FULL)
  491. X#define KD_ALWAYS       (KD_SUNVIEW | KD_BASIC_FULL)
  492. X
  493. X#define KD_DYNAMIC    KD_IMMUNE
  494. X
  495. X#endif /* _OLWM_KBDFUNCS_H */
  496. END_OF_FILE
  497. if test 1734 -ne `wc -c <'kbdfuncs.h'`; then
  498.     echo shar: \"'kbdfuncs.h'\" unpacked with wrong size!
  499. fi
  500. # end of 'kbdfuncs.h'
  501. fi
  502. if test -f 'list.h' -a "${1}" != "-c" ; then 
  503.   echo shar: Will not clobber existing file \"'list.h'\"
  504. else
  505. echo shar: Extracting \"'list.h'\" \(1625 characters\)
  506. sed "s/^X//" >'list.h' <<'END_OF_FILE'
  507. X/*
  508. X *      (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
  509. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  510. X *      file for terms of the license.
  511. X */
  512. X
  513. X#ifndef _OLWM_LIST_H
  514. X#define _OLWM_LIST_H
  515. X
  516. X#ident    "@(#)list.h    26.6    91/09/14 SMI"
  517. X
  518. Xtypedef struct _List {
  519. X    void *value;
  520. X    struct _List *next;
  521. X    } List;
  522. X
  523. X#define NULL_LIST ((List *)0)
  524. X
  525. Xextern void ListInit();
  526. X    /* initialises the List package; should be called only once 
  527. X     * at startup.
  528. X     */
  529. X
  530. Xextern List *ListCons();    /* void *val, List *next */
  531. X
  532. Xextern int ListCount();        /* List *l */
  533. X    /* returns number of items in a list 
  534. X     */
  535. X
  536. Xextern void ListDestroy();    /* List *l */
  537. X    /* destroys all list cells in a list; does not affect list values 
  538. X     */
  539. X
  540. Xextern void ListDestroyCell();    /* List **l */
  541. X    /* deletes one cell from a list; modifies the List* passed by
  542. X     * reference to point to the next cell.
  543. X     */
  544. X
  545. Xextern List *ListDestroyCellByValue();    /* void *val, List *l */
  546. X    /* deletes the given cell from the list and passes back the
  547. X     * (possibly modified) new list
  548. X     */
  549. X
  550. Xextern void *ListApply();    /* List *l, (void *)(*f)(), void *c */
  551. X    /* iteratively calls the function f with list values and the
  552. X     * closure, until it returns a non-NULL value.  Returns this non-Null
  553. X     * value, or NULL if hte end of the list is reached.
  554. X     */
  555. X
  556. Xextern void *ListEnum();    /* List **l */
  557. X    /* used for enumerating a list in a loop.  Returns the value of the
  558. X     * cell, and modifies the cell pointer to point to the next cell.
  559. X     */
  560. X
  561. Xextern Bool ListIsAMebmer();    /* void *val, List *l */
  562. X    /* used for determining if val is in the given list
  563. X     */
  564. X
  565. X#endif /* _OLWM_LIST_H */
  566. END_OF_FILE
  567. if test 1625 -ne `wc -c <'list.h'`; then
  568.     echo shar: \"'list.h'\" unpacked with wrong size!
  569. fi
  570. # end of 'list.h'
  571. fi
  572. if test -f 'notice.h' -a "${1}" != "-c" ; then 
  573.   echo shar: Will not clobber existing file \"'notice.h'\"
  574. else
  575. echo shar: Extracting \"'notice.h'\" \(691 characters\)
  576. sed "s/^X//" >'notice.h' <<'END_OF_FILE'
  577. X/*
  578. X *      (c) Copyright 1990 Sun Microsystems, Inc. Sun design patents
  579. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  580. X *      file for terms of the license.
  581. X */
  582. X
  583. X#ident    "@(#)notice.h    26.8    91/09/14 SMI"
  584. X
  585. X#define NOTICE_CANCEL    (-1)
  586. X
  587. X#define NOTICE_BUTTON_COUNT(b)    sizeof((b))/sizeof(char *)
  588. X
  589. Xtypedef struct _noticeBox {
  590. X    int    numButtons;    /* number of buttons */
  591. X    int    defaultButton;    /* index into buttonText array */
  592. X    char    **buttonText;    /* array of strings for button text */
  593. X    char    *msgText;
  594. X    int    boxX;        /* box origin (-1 =use default/centered) */
  595. X    int    boxY;        /* box origin (-1 =use default/centered) */
  596. X} NoticeBox;
  597. X
  598. X/* function declarations */
  599. Xextern int UseNoticeBox();
  600. END_OF_FILE
  601. if test 691 -ne `wc -c <'notice.h'`; then
  602.     echo shar: \"'notice.h'\" unpacked with wrong size!
  603. fi
  604. # end of 'notice.h'
  605. fi
  606. if test -f 'olcursor.h' -a "${1}" != "-c" ; then 
  607.   echo shar: Will not clobber existing file \"'olcursor.h'\"
  608. else
  609. echo shar: Extracting \"'olcursor.h'\" \(512 characters\)
  610. sed "s/^X//" >'olcursor.h' <<'END_OF_FILE'
  611. X/*
  612. X *      (c) Copyright 1990 Sun Microsystems, Inc. Sun design patents
  613. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  614. X *      file for terms of the license.
  615. X */
  616. X
  617. X#ident    "@(#)olcursor.h    26.5    91/09/14 SMI"
  618. X
  619. X#define OLC_basic 0
  620. X#define OLC_move 2
  621. X#define OLC_copy 4
  622. X#define OLC_busy 6
  623. X#define OLC_stop 8
  624. X#define OLC_panning 10
  625. X#define OLC_target 12
  626. X#define OLC_nouse 14
  627. X#define OLC_ptr 16
  628. X#define OLC_beye 18
  629. X#define OLC_rtarr 20
  630. X#define OLC_xhair 22
  631. X#define OLC_xcurs 24
  632. X#define OLC_hourg 26
  633. END_OF_FILE
  634. if test 512 -ne `wc -c <'olcursor.h'`; then
  635.     echo shar: \"'olcursor.h'\" unpacked with wrong size!
  636. fi
  637. # end of 'olcursor.h'
  638. fi
  639. if test -f 'olvwm.info' -a "${1}" != "-c" ; then 
  640.   echo shar: Will not clobber existing file \"'olvwm.info'\"
  641. else
  642. echo shar: Extracting \"'olvwm.info'\" \(1782 characters\)
  643. sed "s/^X//" >'olvwm.info' <<'END_OF_FILE'
  644. X# -----------------------------------------------
  645. X#    olvwm.info    31 October 1991
  646. X#
  647. X#    OpenWindows Version 3
  648. X# -----------------------------------------------
  649. X#    @(#)olvwm.info    1.1 1/3/92
  650. X##########################50######################
  651. X:VDM:
  652. XVirtual Desktop Manager
  653. X
  654. XThe Virtual Desktop Manager (VDM) allows you to
  655. Xhave 1 or more logical desktops one of which may
  656. Xbe viewed at any time.  Each desktop is
  657. Xrepresented by a region surrounded with
  658. Xa dashed line.
  659. X
  660. XThe background of the VDM represents the logical
  661. Xdesktops which you currently have; you can
  662. Xincrease or reduce this number simply by
  663. Xresizing the VDM.  If you make the VDM smaller, 
  664. Xthe rightmost and bottommost desktops will
  665. X"go away" and you will not be able to access
  666. Xany windows in that deskstop.  The windows
  667. Xthemselves are still active, though, and will
  668. Xappear if you again make the VDM larger.
  669. X
  670. XThe desktop boundaries are not physical
  671. Xboundaries; a window can straddle a boundary
  672. Xand you can view portions of more that one
  673. Xdesktop at a time (whatever amount that will
  674. Xfit on your screen).  Usually, though, you
  675. Xwill see a logical boundary between desktops.
  676. X
  677. XTo move to another desktop, you can use the arrow
  678. Xkeys or you can double-click the SELECT button
  679. Xinside the VDM at the location you want to go to.
  680. XPressing MENU in the VDM brings up a menu which
  681. Xalso allows you to move to a different desktop.
  682. X
  683. XThe small windows in the desktop represent each
  684. Xframe as it appears on your screen.  In terms of
  685. Xwindow manager actions, they mimic the frame they
  686. Xrepresent:  you can select and move them with
  687. Xthe SELECT button, you can bring up their
  688. Xwindow menu with the MENU button, you can drop
  689. Xitems from other tools into them, etc.  All
  690. Xactions performed on one of these little
  691. Xwindows affects the frame the window represents.
  692. END_OF_FILE
  693. if test 1782 -ne `wc -c <'olvwm.info'`; then
  694.     echo shar: \"'olvwm.info'\" unpacked with wrong size!
  695. fi
  696. # end of 'olvwm.info'
  697. fi
  698. if test -f 'openwin-menu' -a "${1}" != "-c" ; then 
  699.   echo shar: Will not clobber existing file \"'openwin-menu'\"
  700. else
  701. echo shar: Extracting \"'openwin-menu'\" \(1424 characters\)
  702. sed "s/^X//" >'openwin-menu' <<'END_OF_FILE'
  703. X#
  704. X#    @(#) openwin-menu 26.2 91/09/14
  705. X# olwmmenu - OpenLook Window Manager default root menu file.
  706. X
  707. X"Workspace Menu"    TITLE
  708. X"Programs"    MENU
  709. X    "Tools"    MENU
  710. X        "Command Tool..."    $XVIEWHOME/bin/xview/cmdtool
  711. X        "Mail Tool..."    $XVIEWHOME/bin/xview/mailtool
  712. X        "Shell Tool..."    $XVIEWHOME/bin/xview/shelltool
  713. X        "Tape Tool..."    tapetool
  714. X        "Print Tool..."    printtool
  715. X        "SunView Dbxtool..."    /usr/bin/dbxtool
  716. X    "Tools"    END
  717. X    "Text Editor..."    /bin/xview/textedit
  718. X    "File Manager..."    $XVIEWHOME/bin/xview/filemgr
  719. X    "Clock..."        $XVIEWHOME/bin/xview/clock
  720. X    "Calculator..."    xcalc
  721. X    "Snapshot..."    $XVIEWHOME/bin/xview/snapshot
  722. X    "Perf Meter..."    $XVIEWHOME/bin/xview/perfmeter
  723. X    "Icon Editor..."    $XVIEWHOME/bin/xview/iconedit
  724. X    "PostScript Shell..."    $XVIEWHOME/bin/psterm
  725. X    "Demos..."        hyperview xnewsdemo.hv
  726. X"Programs"    END    PIN
  727. X"Utilities"    MENU
  728. X    "Utilities"    TITLE
  729. X    "Refresh"        REFRESH
  730. X    "Reset Input"    kbd_mode -u
  731. X    "Save Workspace"    SAVE_WORKSPACE
  732. X    "Lock Screen"    xlock
  733. X    "Console..."    $XVIEWHOME/bin/xview/cmdtool -Wh 8 -C
  734. X    "FlipDrag"        FLIPDRAG
  735. X    "Window Controls"    WINDOW_CONTROLS
  736. X    "Clipboard..."    CLIPBOARD
  737. X    "PrintScreen"    PRINT_SCREEN
  738. X"Utilities"    END
  739. X"Xterms"    MENU
  740. X    "24 lines..."    xterm -geometry 80x24
  741. X    "34 lines..."    xterm -geometry 80x34
  742. X    "56 lines..."    xterm -geometry 80x56
  743. X    "console..."    xterm -T console -geometry 80x24 -C
  744. X"Xterms"    END    PIN
  745. X"Properties..."    PROPERTIES
  746. X"Exit..."    EXIT
  747. END_OF_FILE
  748. if test 1424 -ne `wc -c <'openwin-menu'`; then
  749.     echo shar: \"'openwin-menu'\" unpacked with wrong size!
  750. fi
  751. # end of 'openwin-menu'
  752. fi
  753. if test -f 'parse.l' -a "${1}" != "-c" ; then 
  754.   echo shar: Will not clobber existing file \"'parse.l'\"
  755. else
  756. echo shar: Extracting \"'parse.l'\" \(1757 characters\)
  757. sed "s/^X//" >'parse.l' <<'END_OF_FILE'
  758. X%{
  759. X/*
  760. X *      (c) Copyright 1991 Scott Oaks
  761. X *      See LEGAL_NOTICE file for terms of the license.
  762. X */
  763. X
  764. X#ident  "@(#)parse.l    1.1 olvwm version 1/3/92"
  765. X%}
  766. X%%
  767. X
  768. XWarp    { yylval.ival = Warp; return WARP; }
  769. XOpen    { yylval.ival = Open; return OPEN; }
  770. XRaise    { yylval.ival = Raise; return RAISE; }
  771. XExecute    { yylval.ival = Execute; return EXECUTE; }
  772. XGoto    { yylval.ival = Goto; return GOTO; }
  773. XClose    { yylval.ival = Close; return CLOSE; }
  774. XQuit    { yylval.ival = Quit; return QUIT; }
  775. X
  776. XShift    { yylval.ival = XK_Shift_L; return MODIFIER; }
  777. X"Shift Lock"    { yylval.ival = XK_Shift_Lock; return MODIFIER; }
  778. X"Caps Lock"    { yylval.ival = XK_Caps_Lock; return MODIFIER; }
  779. XControl    { yylval.ival = XK_Control_L; return MODIFIER; }
  780. XCtrl    { yylval.ival = XK_Control_L; return MODIFIER; }
  781. XCtl    { yylval.ival = XK_Control_L; return MODIFIER; }
  782. XMeta    { yylval.ival = XK_Meta_L; return MODIFIER; }
  783. XAlt    { yylval.ival = XK_Alt_L; return MODIFIER; }
  784. XSuper    { yylval.ival = XK_Super_L; return MODIFIER; }
  785. XHyper    { yylval.ival = XK_Hyper_L; return MODIFIER; }
  786. XAny    { yylval.ival = yylval.ival = -1; return MODIFIER; }
  787. XScreen    { yylval.ival = SCREEN; return SCREEN; }
  788. XWINMENU { yylval.ival = WINMENU; return WINMENU; }
  789. X"+"    { yylval.ival = PLUS; return PLUS; }
  790. X
  791. X[LRF][0-9]+    { yylval.sval = yytext; return KEY; }
  792. X
  793. X[0-9]+    { yylval.ival = atoi(yytext); return INT; }
  794. X
  795. X[A-Za-z_0-9]+    { yylval.sval = strdup(yytext); return WORD; }
  796. X
  797. X\:    { return COLON; }
  798. X\,    { return COMMA; }
  799. X
  800. X\{    { return OPENBRACE; }
  801. X\}    { return CLOSEBRACE; }
  802. X
  803. X\"[^"]*\"    {
  804. X        if (yytext[yyleng - 1] == '\\')
  805. X        yymore();
  806. X        else {
  807. X        yylval.sval = strdup(yytext);
  808. X        return WORD;
  809. X        }
  810. X    }
  811. X
  812. X\'[^']*\'    {
  813. X        if (yytext[yyleng - 1] == '\\')
  814. X        yymore();
  815. X        else {
  816. X        yylval.sval = strdup(yytext);
  817. X        return WORD;
  818. X        }
  819. X    }
  820. X
  821. X^#.*    ;
  822. X[ \t\n]    ;
  823. X
  824. X%%
  825. END_OF_FILE
  826. if test 1757 -ne `wc -c <'parse.l'`; then
  827.     echo shar: \"'parse.l'\" unpacked with wrong size!
  828. fi
  829. # end of 'parse.l'
  830. fi
  831. if test -f 'usleep.c' -a "${1}" != "-c" ; then 
  832.   echo shar: Will not clobber existing file \"'usleep.c'\"
  833. else
  834. echo shar: Extracting \"'usleep.c'\" \(1866 characters\)
  835. sed "s/^X//" >'usleep.c' <<'END_OF_FILE'
  836. X/*
  837. X *      (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
  838. X *      pending in the U.S. and foreign countries. See LEGAL_NOTICE
  839. X *      file for terms of the license.
  840. X */
  841. X
  842. X#ident    "@(#)usleep.c    26.8    91/09/14 SMI"
  843. X
  844. X/*
  845. X * usleep() compatibility function
  846. X *
  847. X * Under System V, implements usleep() using the interval timer.  Otherwise,
  848. X * simply calls the library's usleep().  To use this implementation instead of
  849. X * the library's, you must define SYSV.  If you want to this implementation
  850. X * to use BSD-style signals, you must define SYS *and* USE_BSD_SIGNALS, even 
  851. X * if you're not on System V.
  852. X */
  853. X
  854. X#include <sys/types.h>
  855. X#include <signal.h>
  856. X#include <sys/time.h>
  857. X
  858. Xvoid olwm_do_nothing() { }
  859. X
  860. Xint
  861. Xolwm_usleep(usec)
  862. X    unsigned int usec;
  863. X{
  864. X#ifdef SYSV
  865. X    struct itimerval    new, old;
  866. X#ifdef USE_BSD_SIGNALS
  867. X    struct sigvec        new_vec, old_vec;
  868. X#else
  869. X    struct sigaction    new_vec, old_vec;
  870. X#endif
  871. X
  872. X    if (usec == 0)
  873. X        return 0;
  874. X
  875. X    new.it_interval.tv_sec = 0;
  876. X    new.it_interval.tv_usec = 0; /* We only want one tick */
  877. X    new.it_value.tv_sec = usec / 1000000;
  878. X    new.it_value.tv_usec = usec % 1000000;
  879. X
  880. X#ifdef USE_BSD_SIGNALS
  881. X    new_vec.sv_handler = olwm_do_nothing;
  882. X    new_vec.sv_mask= 0;
  883. X    new_vec.sv_flags = 0;
  884. X
  885. X    sigblock(sigmask(SIGALRM));
  886. X    sigvec(SIGALRM, &new_vec, &old_vec);
  887. X#else
  888. X    new_vec.sa_handler = olwm_do_nothing;
  889. X    new_vec.sa_mask.sigbits[0]= 0;
  890. X    new_vec.sa_mask.sigbits[1]= 0;
  891. X    new_vec.sa_mask.sigbits[2]= 0;
  892. X    new_vec.sa_mask.sigbits[3]= 0;
  893. X    new_vec.sa_flags = 0;
  894. X
  895. X    sighold(SIGALRM);
  896. X    sigaction(SIGALRM, &new_vec, &old_vec);
  897. X#endif
  898. X
  899. X    setitimer(ITIMER_REAL, &new, &old);
  900. X
  901. X#ifdef USE_BSD_SIGNALS
  902. X    sigpause(0);
  903. X    sigvec(SIGALRM, &old_vec, (struct sigvec *)0);
  904. X#else
  905. X    sigpause(SIGALRM);
  906. X    sigaction(SIGALRM, &old_vec, (struct sigaction *)0);
  907. X#endif
  908. X
  909. X    setitimer(ITIMER_REAL, &old, (struct itimerval *)0);
  910. X    return 0;
  911. X
  912. X#else SYSV
  913. X
  914. X    return usleep(usec);
  915. X
  916. X#endif /* SYSV */
  917. X}
  918. END_OF_FILE
  919. if test 1866 -ne `wc -c <'usleep.c'`; then
  920.     echo shar: \"'usleep.c'\" unpacked with wrong size!
  921. fi
  922. # end of 'usleep.c'
  923. fi
  924. echo shar: End of archive 21 \(of 21\).
  925. cp /dev/null ark21isdone
  926. MISSING=""
  927. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ; do
  928.     if test ! -f ark${I}isdone ; then
  929.     MISSING="${MISSING} ${I}"
  930.     fi
  931. done
  932. if test "${MISSING}" = "" ; then
  933.     echo You have unpacked all 21 archives.
  934.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  935. else
  936.     echo You still need to unpack the following archives:
  937.     echo "        " ${MISSING}
  938. fi
  939. ##  End of shell archive.
  940. exit 0
  941. --
  942. Molecular Simulations, Inc.             mail: dcmartin@postgres.berkeley.edu
  943. 796 N. Pastoria Avenue                  uucp: uwvax!ucbvax!dcmartin
  944. Sunnyvale, California 94086             at&t: 408/522-9236
  945.