/* $Header: /usr4/Src/emu.new/tdesc/RCS/xterm-rops,v 1.3 92/05/16 06:40:08 jkh Exp $ */

/*
 * Copyright 1990 by PCS Computer Systeme, GmbH. Munich, West Germany.
 *
 *                        All Rights Reserved
 *
 * Permission to use, copy, modify, and distribute this software and its 
 * documentation for any purpose and without fee is hereby granted, 
 * provided that the above copyright notice appear in all copies and that
 * both that copyright notice and this permission notice appear in 
 * supporting documentation, and that the names of PCS or the authors not
 * be used in advertising or publicity pertaining to distribution of the
 * software without specific, written prior permission.  
 * 
 * PCS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 * PCS, THE AUTHORS, OR THEIR HOUSEPETS BE LIABLE FOR ANY SPECIAL, INDIRECT
 * OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
 * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
 * OF THIS SOFTWARE. SO DON'T SUE US. THANK YOU.
 *
 */

/*
 * Reverse operation definitions for the emu "xterm" terminal.
 *
 * Author: Michael Elbel
 * Date: September, 30., 1991
 * Description: Various things a xterm might be expected to output
 *		plus the rops for initializing the canvas and tty for
 *		a xterm.
 *
 * Revision History:
 *
 * $Log:	xterm-rops,v $
# Revision 1.3  92/05/16  06:40:08  jkh
# Synchronization.
# 
# Revision 1.2  92/02/26  13:18:19  me
# Checkpoint
# 
# Revision 1.1  91/09/30  18:15:37  me
# Initial revision
# 
 *
 */

*term.xterm-rops:							\
ROP_INSERT_CHAR		<%gA%c>						\
ROP_SCREEN_SIZE		<\\E[%gy%d;%gx%dS>				\
ROP_CURSOR_POS		<\\E[%{gy,1,+,d};%{gx,1,+,d}R>			\
									\
/* Setup stuff */							\
									\
/* Request to initialize the emulation				*/	\
/* Initialize the tty to get the state from the caller		*/	\
/*								*/	\
/* Initialize the canvas:					*/	\
/* Preset G0 to be ASCII, G1 to be Graphics,			*/	\
/* G2 to be DEC Supplementary and G3 to be UK national;		*/	\
/* Add Translations 2 (Numeric Keypad), 4 (Normal Cursor Keys),	*/	\
/*     5 (Function Keys), 6 (misc Function Keys)		*/	\
/*     7 Umlaute and 8 (the Compose Key stuff);			*/	\
/* Set the FLUT to contain ASCII in the lower half 		*/	\
/*     and DEC supplementary characters in the upper half	*/	\
/*								*/	\
/* IF we have more than 2 colors				*/	\
/* Initialize colors 1 to 8 to be 				*/	\
/*       1 black						*/	\
/*       2 red							*/	\
/*       3 green						*/	\
/*       4 yellow						*/	\
/*       5 blue							*/	\
/*       6 magenta						*/	\
/*       7 cyan							*/	\
/*	 8 white						*/	\
/* both on background and foreground				*/	\
/*								*/	\
ROP_INIT_CANVAS		<%{						\
			"ascii" p0 "dec" p1 "graphics" p2 "uk" p3	\
			0 p5, 1 p6					\
			"numKeypad" pa OP_OVERRIDE_TRANSLATIONS C	\
			"normCKeys" pa OP_OVERRIDE_TRANSLATIONS C	\
			"fkeys" pa OP_OVERRIDE_TRANSLATIONS C		\
			"miscFkeys" pa OP_OVERRIDE_TRANSLATIONS C	\
			"multiKeys" pa OP_OVERRIDE_TRANSLATIONS C	\
			"ascii" pa  32 pb OP_CHANGE_FLUT C		\
			"dec" pa 160 pb OP_CHANGE_FLUT C		\
			0 pF						\
			OP_CANVAS_DISPLAY_CELLS C ga 2 = ! ?		\
                           1 pa "black" D pb pc OP_SET_CIT_CELL C	\
                           2 pa "red" D pb pc OP_SET_CIT_CELL C		\
                           3 pa "green" D pb pc OP_SET_CIT_CELL C	\
                           4 pa "yellow" D pb pc OP_SET_CIT_CELL C	\
                           5 pa "blue" D pb pc OP_SET_CIT_CELL C	\
                           6 pa "magenta" D pb pc OP_SET_CIT_CELL C	\
                           7 pa "cyan" D pb pc OP_SET_CIT_CELL C	\
			   8 pa "white" D pb pc OP_SET_CIT_CELL C	\
			;						\
			}>
