parse.h revision 3e747e6d
13e747e6dSmrg/* $XdotOrg: $ */
23e747e6dSmrg/* $XFree86: xc/programs/twm/parse.h,v 1.10 2001/09/30 17:58:19 herrb Exp $ */
33e747e6dSmrg/*****************************************************************************/
43e747e6dSmrg/*
53e747e6dSmrg
63e747e6dSmrgCopyright 1989, 1998  The Open Group
73e747e6dSmrg
83e747e6dSmrgPermission to use, copy, modify, distribute, and sell this software and its
93e747e6dSmrgdocumentation for any purpose is hereby granted without fee, provided that
103e747e6dSmrgthe above copyright notice appear in all copies and that both that
113e747e6dSmrgcopyright notice and this permission notice appear in supporting
123e747e6dSmrgdocumentation.
133e747e6dSmrg
143e747e6dSmrgThe above copyright notice and this permission notice shall be included in
153e747e6dSmrgall copies or substantial portions of the Software.
163e747e6dSmrg
173e747e6dSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
183e747e6dSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
193e747e6dSmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
203e747e6dSmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
213e747e6dSmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
223e747e6dSmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
233e747e6dSmrg
243e747e6dSmrgExcept as contained in this notice, the name of The Open Group shall not be
253e747e6dSmrgused in advertising or otherwise to promote the sale, use or other dealings
263e747e6dSmrgin this Software without prior written authorization from The Open Group.
273e747e6dSmrg
283e747e6dSmrg*/
293e747e6dSmrg/**       Copyright 1988 by Evans & Sutherland Computer Corporation,        **/
303e747e6dSmrg/**                          Salt Lake City, Utah                           **/
313e747e6dSmrg/**                        Cambridge, Massachusetts                         **/
323e747e6dSmrg/**                                                                         **/
333e747e6dSmrg/**                           All Rights Reserved                           **/
343e747e6dSmrg/**                                                                         **/
353e747e6dSmrg/**    Permission to use, copy, modify, and distribute this software and    **/
363e747e6dSmrg/**    its documentation  for  any  purpose  and  without  fee is hereby    **/
373e747e6dSmrg/**    granted, provided that the above copyright notice appear  in  all    **/
383e747e6dSmrg/**    copies and that both  that  copyright  notice  and  this  permis-    **/
393e747e6dSmrg/**    sion  notice appear in supporting  documentation,  and  that  the    **/
403e747e6dSmrg/**    name of Evans & Sutherland not be used in advertising    **/
413e747e6dSmrg/**    in publicity pertaining to distribution of the  software  without    **/
423e747e6dSmrg/**    specific, written prior permission.                                  **/
433e747e6dSmrg/**                                                                         **/
443e747e6dSmrg/**    EVANS & SUTHERLAND DISCLAIMs ALL WARRANTIES WITH REGARD    **/
453e747e6dSmrg/**    TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES  OF  MERCHANT-    **/
463e747e6dSmrg/**    ABILITY  AND  FITNESS,  IN  NO  EVENT SHALL EVANS & SUTHERLAND    **/
473e747e6dSmrg/**    BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL  DAM-    **/
483e747e6dSmrg/**    AGES OR  ANY DAMAGES WHATSOEVER  RESULTING FROM LOSS OF USE, DATA    **/
493e747e6dSmrg/**    OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER    **/
503e747e6dSmrg/**    TORTIOUS ACTION, ARISING OUT OF OR IN  CONNECTION  WITH  THE  USE    **/
513e747e6dSmrg/**    OR PERFORMANCE OF THIS SOFTWARE.                                     **/
523e747e6dSmrg/*****************************************************************************/
533e747e6dSmrg
543e747e6dSmrg
553e747e6dSmrg/**********************************************************************
563e747e6dSmrg *
573e747e6dSmrg * $Xorg: parse.h,v 1.4 2001/02/09 02:05:37 xorgcvs Exp $
583e747e6dSmrg *
593e747e6dSmrg * .twmrc parsing externs
603e747e6dSmrg *
613e747e6dSmrg *  8-Apr-88 Tom LaStrange        Initial Version.
623e747e6dSmrg *
633e747e6dSmrg **********************************************************************/
643e747e6dSmrg
653e747e6dSmrg#ifndef _PARSE_
663e747e6dSmrg#define _PARSE_
673e747e6dSmrg
683e747e6dSmrg#include "list.h"
693e747e6dSmrg
703e747e6dSmrgextern void assign_var_savecolor ( void );
713e747e6dSmrgextern int do_single_keyword ( int keyword );
723e747e6dSmrgextern int do_string_keyword ( int keyword, char *s );
733e747e6dSmrgextern int do_number_keyword ( int keyword, int num );
743e747e6dSmrgextern name_list **do_colorlist_keyword ( int keyword, int colormode,
753e747e6dSmrg					  char *s );
763e747e6dSmrgextern int do_color_keyword ( int keyword, int colormode, char *s );
773e747e6dSmrgvoid put_pixel_on_root ( Pixel pixel );
783e747e6dSmrgextern void do_string_savecolor ( int colormode, char *s );
793e747e6dSmrgextern void do_var_savecolor ( int key );
803e747e6dSmrgextern int ParseStringList ( unsigned char **sl );
813e747e6dSmrgextern int ParseTwmrc ( char *filename );
823e747e6dSmrgextern int parse_keyword ( char *s, int *nump );
833e747e6dSmrgextern void TwmOutput ( int c );
843e747e6dSmrgextern void twmUnput ( int c );
853e747e6dSmrgextern void do_squeeze_entry ( name_list **list, char *name, int justify,
863e747e6dSmrg			       int num, int denom );
873e747e6dSmrg
883e747e6dSmrg
893e747e6dSmrgextern int (*twmInputFunc)(void);
903e747e6dSmrgextern int ConstrainedMoveTime;
913e747e6dSmrgextern unsigned char *defTwmrc[];
923e747e6dSmrgextern int mods;
933e747e6dSmrg
943e747e6dSmrg#define F_NOP			0
953e747e6dSmrg#define F_BEEP			1
963e747e6dSmrg#define F_RESTART		2
973e747e6dSmrg#define F_QUIT			3
983e747e6dSmrg#define F_FOCUS			4
993e747e6dSmrg#define F_REFRESH		5
1003e747e6dSmrg#define F_WINREFRESH		6
1013e747e6dSmrg#define F_DELTASTOP		7
1023e747e6dSmrg#define F_MOVE			8
1033e747e6dSmrg#define F_POPUP			9
1043e747e6dSmrg#define F_FORCEMOVE		10
1053e747e6dSmrg#define F_AUTORAISE		11
1063e747e6dSmrg#define F_IDENTIFY		12
1073e747e6dSmrg#define F_ICONIFY		13
1083e747e6dSmrg#define F_DEICONIFY		14
1093e747e6dSmrg#define F_UNFOCUS		15
1103e747e6dSmrg#define F_RESIZE		16
1113e747e6dSmrg#define F_ZOOM			17
1123e747e6dSmrg#define F_LEFTZOOM		18
1133e747e6dSmrg#define F_RIGHTZOOM		19
1143e747e6dSmrg#define F_TOPZOOM		20
1153e747e6dSmrg#define F_BOTTOMZOOM		21
1163e747e6dSmrg#define F_HORIZOOM		22
1173e747e6dSmrg#define F_FULLZOOM		23
1183e747e6dSmrg#define F_RAISE			24
1193e747e6dSmrg#define F_RAISELOWER		25
1203e747e6dSmrg#define F_LOWER			26
1213e747e6dSmrg#define F_DESTROY		27
1223e747e6dSmrg#define F_DELETE		28
1233e747e6dSmrg#define F_SAVEYOURSELF		29
1243e747e6dSmrg#define F_VERSION		30
1253e747e6dSmrg#define F_TITLE			31
1263e747e6dSmrg#define F_RIGHTICONMGR		32
1273e747e6dSmrg#define F_LEFTICONMGR		33
1283e747e6dSmrg#define F_UPICONMGR		34
1293e747e6dSmrg#define F_DOWNICONMGR		35
1303e747e6dSmrg#define F_FORWICONMGR		36
1313e747e6dSmrg#define F_BACKICONMGR		37
1323e747e6dSmrg#define F_NEXTICONMGR		38
1333e747e6dSmrg#define F_PREVICONMGR		39
1343e747e6dSmrg#define F_SORTICONMGR		40
1353e747e6dSmrg#define F_CIRCLEUP		41
1363e747e6dSmrg#define F_CIRCLEDOWN		42
1373e747e6dSmrg#define F_CUTFILE		43
1383e747e6dSmrg#define F_SHOWLIST		44
1393e747e6dSmrg#define F_HIDELIST		45
1403e747e6dSmrg
1413e747e6dSmrg#define F_MENU			101	/* string */
1423e747e6dSmrg#define F_WARPNEXT		112	/* string */
1433e747e6dSmrg#define F_WARPPREV		113	/* string */
1443e747e6dSmrg#define F_WARPTO		102	/* string */
1453e747e6dSmrg#define F_WARPTOICONMGR		103	/* string */
1463e747e6dSmrg#define F_WARPRING		104	/* string */
1473e747e6dSmrg#define F_FILE			105	/* string */
1483e747e6dSmrg#define F_EXEC			106	/* string */
1493e747e6dSmrg#define F_CUT			107	/* string */
1503e747e6dSmrg#define F_FUNCTION		108	/* string */
1513e747e6dSmrg#define F_WARPTOSCREEN		109	/* string */
1523e747e6dSmrg#define F_COLORMAP		110	/* string */
1533e747e6dSmrg#define F_PRIORITY		111	/* string */
1543e747e6dSmrg#define F_STARTWM		114	/* string */
1553e747e6dSmrg
1563e747e6dSmrg#define D_NORTH			1
1573e747e6dSmrg#define D_SOUTH			2
1583e747e6dSmrg#define D_EAST			3
1593e747e6dSmrg#define D_WEST			4
1603e747e6dSmrg
1613e747e6dSmrg#endif /* _PARSE_ */
162