⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rxvtlib.h

📁 具有IDE功能的编辑器
💻 H
📖 第 1 页 / 共 5 页
字号:
#define COMMENT_CHAR		'#'#define DOT	"."#define DOTS	".."/* On Solaris link with -lsocket and -lnsl *//* these next two are probably only on Sun (not Solaris) */ int      cmd_fd ; pid_t    cmd_pid ; int      Xfd ; struct stat ttyfd_stat;#ifndef NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING int      scroll_arrow_delay;#endif#ifdef META8_OPTION unsigned char meta_char;#endif unsigned int ModMetaMask, ModNumLockMask; unsigned long PrivateModes ; unsigned long SavedModes ; int      refresh_count , refresh_limit , refresh_type ; Atom     wmDeleteWindow;#ifdef USE_XIM XIC      Input_Context;#endif char    *v_buffer; char    *v_bufstr ; char    *v_bufptr; char    *v_bufend;#define PTYCHAR1	"pqrstuvwxyz"#define PTYCHAR2	"0123456789abcdef"#ifdef DEBUG_TTYMODE#ifdef HAVE_TERMIOS_H# define FOO(flag,name)		\    if ((ttymode->c_iflag) & flag)	\	fprintf (stderr, "%s ", name)# undef FOO# define FOO(entry, name) \    fprintf (stderr, "%s = %#3o\n", name, ttymode->c_cc [entry])# undef FOO#endif				/* HAVE_TERMIOS_H */#endif				/* DEBUG_TTYMODE */#define FKEY(n, fkey)							\    len = 5;								\    sprintf((char *) kbuf,"\033[%02d~", (int)((n) + (keysym - fkey)))#define TIMEOUT_USEC	5000struct _MEvent {    int             clicks;    Time            time;	    unsigned int    state;	    unsigned int    button;	} MEvent;#define PrivCases(bit)							\    if (mode == 's') {							\	o->SavedModes |= (o->PrivateModes & bit);			\	break;								\    } else {								\	if (mode == 'r')						\	    state = (o->SavedModes & bit) ? 1 : 0;			\	else								\	    state = (mode == 't') ? !(o->PrivateModes & bit) : mode;	\	PrivMode(state, bit);						\    }#define MAX_PTY_WRITE 128	/* 1/2 POSIX minimum MAX_INPUT */#ifndef GRX_SCALE# define GRX_SCALE	10000#endif#ifdef UTMP_SUPPORT char     ut_id[5];# ifndef USE_SYSV_UTMP int      utmp_pos;# endif#endif#define INTERN			/* assign all global vars to me */ char *def_colorName[32] ;#ifdef MULTICHAR_SET char *def_mfontName[32] ;#endif				/* MULTICHAR_SET */ char *def_fontName[32] ;#ifdef XTERM_COLOR_CHANGE#else# define set_window_color(idx,color)	((void)0)#endif				/* XTERM_COLOR_CHANGE */#if (FONT0_IDX == 0)# define IDX2FNUM(i)	(i)# define FNUM2IDX(f)	(f)#else# define IDX2FNUM(i)	(i == 0 ? FONT0_IDX : (i <= FONT0_IDX ? (i-1) : i))# define FNUM2IDX(f)	(f == FONT0_IDX ? 0 : (f < FONT0_IDX  ? (f+1) : f))#endif#define FNUM_RANGE(i)	(i <= 0 ? 0 : (i >= NFONTS ? (NFONTS-1) : i))#ifdef MENUBAR#define Menu_PixelWidth(menu)					\    (2 * SHADOW + Width2Pixel ((menu)->width + 3 * HSPACE)) GC       topShadowGC, botShadowGC, neutralGC, menubarGC; int      menu_readonly ; int      Arrows_x ;struct _Arrows {    char            name;	    unsigned char   str[4];	}; struct _Arrows Arrows[NARROWS] ;#if (MENUBAR_MAX > 1) int      Nbars ;#else				/* (MENUBAR_MAX > 1) */ bar_t    BarList;#endif				/* (MENUBAR_MAX > 1) */ menu_t  *ActiveMenu ;#endif#define INTERN_SCREEN char     charsets[4]; short    current_screen; rend_t   rstyle; short    rvideo;#ifdef MULTICHAR_SETshort           multi_byte;short           lost_multi;enum _chstat {    SBYTE, WBYTE};enum _chstat    chstat;#define RESET_CHSTAT			\    if (chstat == WBYTE)		\	chstat = SBYTE, lost_multi = 1#else# define RESET_CHSTAT#endif#ifdef MULTICHAR_SETint      encoding_method;#endif#define PROP_SIZE		4096#define TABSIZE			8	/* default tab size */#ifdef DEBUG_SCREEN# define D_SCREEN(x)		fprintf x ; fputc('\n', stderr)#else# define D_SCREEN(x)#endif#ifdef DEBUG_SELECT# define D_SELECT(x)		fprintf x ; fputc('\n', stderr)#else# define D_SELECT(x)#endif#define ZERO_SCROLLBACK						\    if ((o->Options & Opt_scrollTtyOutput) == Opt_scrollTtyOutput)	\	o->TermWin.view_start = 0#define CHECK_SELECTION(x)					\    if (o->selection.op)					\	rxvtlib_selection_check(o, x)#define CLEAR_SELECTION						\    o->selection.beg.row = o->selection.beg.col			\	= o->selection.end.row = o->selection.end.col = 0#define CLEAR_ALL_SELECTION					\    o->selection.beg.row = o->selection.beg.col			\	= o->selection.mark.row = o->selection.mark.col		\	= o->selection.end.row = o->selection.end.col = 0#define ROW_AND_COL_IS_AFTER(A, B, C, D)				\    (((A) > (C)) || (((A) == (C)) && ((B) > (D))))#define ROW_AND_COL_IS_BEFORE(A, B, C, D)				\    (((A) < (C)) || (((A) == (C)) && ((B) < (D))))#define ROW_AND_COL_IN_ROW_AFTER(A, B, C, D)				\    (((A) == (C)) && ((B) > (D)))#define ROW_AND_COL_IN_ROW_AT_OR_AFTER(A, B, C, D)			\    (((A) == (C)) && ((B) >= (D)))#define ROW_AND_COL_IN_ROW_BEFORE(A, B, C, D)				\    (((A) == (C)) && ((B) < (D)))#define ROW_AND_COL_IN_ROW_AT_OR_BEFORE(A, B, C, D)			\    (((A) == (C)) && ((B) <= (D)))#define ROWCOL_IS_AFTER(X, Y)						\    ROW_AND_COL_IS_AFTER((X).row, (X).col, (Y).row, (Y).col)#define ROWCOL_IS_BEFORE(X, Y)						\    ROW_AND_COL_IS_BEFORE((X).row, (X).col, (Y).row, (Y).col)#define ROWCOL_IN_ROW_AFTER(X, Y)					\    ROW_AND_COL_IN_ROW_AFTER((X).row, (X).col, (Y).row, (Y).col)#define ROWCOL_IN_ROW_BEFORE(X, Y)					\    ROW_AND_COL_IN_ROW_BEFORE((X).row, (X).col, (Y).row, (Y).col)#define ROWCOL_IN_ROW_AT_OR_AFTER(X, Y)					\    ROW_AND_COL_IN_ROW_AT_OR_AFTER((X).row, (X).col, (Y).row, (Y).col)#define ROWCOL_IN_ROW_AT_OR_BEFORE(X, Y)				\    ROW_AND_COL_IN_ROW_AT_OR_BEFORE((X).row, (X).col, (Y).row, (Y).col)#if defined(XPM_BACKGROUND) && defined(XPM_BUFFERING)#define drawBuffer	(o->TermWin.buf_pixmap)#define CLEAR_ROWS(row, num)						\    if (o->TermWin.mapped)						\	XCopyArea(o->Xdisplay, o->TermWin.pixmap, drawBuffer, o->TermWin.gc,	\		  Col2Pixel(0), Row2Pixel(row),				\		  o->TermWin.width, Height2Pixel(num),			\		  Col2Pixel(0), Row2Pixel(row))#define CLEAR_CHARS(x, y, num)						\    if (o->TermWin.mapped)							\	XCopyArea(Xdisplay, TermWin.pixmap, drawBuffer, TermWin.gc,	\		  x, y, Width2Pixel(num), Height2Pixel(1), x, y)#else				/* XPM_BUFFERING && XPM_BACKGROUND */#define drawBuffer	(o->TermWin.vt)#define CLEAR_ROWS(row, num)						\    if (o->TermWin.mapped)						\	XClearArea(o->Xdisplay, drawBuffer, Col2Pixel(0), Row2Pixel(row),	\		   o->TermWin.width, Height2Pixel(num), 0)#define CLEAR_CHARS(x, y, num)						\    if (o->TermWin.mapped)						\	XClearArea(o->Xdisplay, drawBuffer, x, y,			\		   Width2Pixel(num), Height2Pixel(1), 0)#endif				/* XPM_BUFFERING && XPM_BACKGROUND */#define ERASE_ROWS(row, num)						\    XFillRectangle(o->Xdisplay, drawBuffer, o->TermWin.gc,		\		   Col2Pixel(0), Row2Pixel(row),			\		   o->TermWin.width, Height2Pixel(num)) int      prev_nrow , prev_ncol ;#ifdef MULTICHAR_SET#ifdef KANJI void     (*multichar_decode) (unsigned char *str, int len) ;#else				/* then we must be BIG5 to get in here */# ifdef ZH void     (*multichar_decode) (unsigned char *str, int len) ;# else#  ifdef ZHCN			/* The GB fonts are in iso-2022 encoding (JIS). */ void     (*multichar_decode) (unsigned char *str, int len) ;#  endif# endif#endif#endif				/* MULTICHAR_SET */#define DRAW_STRING(Func, x, y, str, len)				\    Func(o->Xdisplay, drawBuffer, o->TermWin.gc, (x), (y), (str), (len))#if defined (NO_BRIGHTCOLOR) || defined (VERYBOLD)# define MONO_BOLD(x)	((x) & (RS_Bold|RS_Blink))#else# define MONO_BOLD(x)	(((x) & RS_Bold) && fore == Color_fg)#endif#define FONT_WIDTH(X, Y)						\    (X)->per_char[(Y) - (X)->min_char_or_byte2].width#define FONT_RBEAR(X, Y)						\    (X)->per_char[(Y) - (X)->min_char_or_byte2].rbearing#define DELIMIT_TEXT(x) \    (((x) == ' ' || (x) == '\t') ? 2 : (strchr(o->rs[Rs_cutchars], (x)) != NULL))#ifdef MULTICHAR_SET# define DELIMIT_REND(x)	(((x) & RS_multiMask) ? 1 : 0)#else# define DELIMIT_REND(x)	1#endif#ifndef NEXT_SCROLLBAR GC       scrollbarGC;#ifdef XTERM_SCROLLBAR		/* bitmap scrollbar */ GC       ShadowGC; char     sb_bits[] ;#if (SB_WIDTH != 15)#error Error, check scrollbar width (SB_WIDTH).It must be 15 for XTERM_SCROLLBAR#endif#else				/* XTERM_SCROLLBAR */#ifndef MENUBAR GC       topShadowGC, botShadowGC;#endif#endif				/* ! XTERM_SCROLLBAR */#else				/* ! NEXT_SCROLLBAR */ GC       blackGC, whiteGC, grayGC, darkGC, stippleGC; Pixmap   dimple, upArrow, downArrow, upArrowHi, downArrowHi;char     *SCROLLER_DIMPLE[32];#define SCROLLER_DIMPLE_WIDTH   6#define SCROLLER_DIMPLE_HEIGHT  6char     *SCROLLER_ARROW_UP[32];char     *SCROLLER_ARROW_DOWN[32];char     *HI_SCROLLER_ARROW_UP[32];char     *HI_SCROLLER_ARROW_DOWN[32];#define ARROW_WIDTH   13#define ARROW_HEIGHT  13#define stp_width 8#define stp_height 8unsigned char stp_bits[256] ;#endif				/* ! NEXT_SCROLLBAR */#if 0#define INFO(opt, arg, desc)				\    {0, NULL, NULL, opt, arg, desc}#define STRG(p, kw, opt, arg, desc)			\    {0, &(o->rs[p]), kw, opt, arg, desc}#define RSTRG(p, kw, arg)				\    {0, &(o->rs[p]), kw, NULL, arg, NULL}#define BOOL(p, kw, opt, flag, desc)			\    {(Opt_Boolean|flag), &(o->rs[p]), kw, opt, NULL, desc}#define SWCH(opt, flag, desc)				\    {(flag), NULL, NULL, opt, NULL, desc}#else#define INFO(opt, arg, desc)				\    {0, -1, NULL, opt, arg, desc}#define STRG(p, kw, opt, arg, desc)			\    {0, p, kw, opt, arg, desc}#define RSTRG(p, kw, arg)				\    {0, p, kw, NULL, arg, NULL}#define BOOL(p, kw, opt, flag, desc)			\    {(Opt_Boolean|flag), p, kw, opt, NULL, desc}#define SWCH(opt, flag, desc)				\    {(flag), -1, NULL, opt, NULL, desc}#endif#define INDENT 30#ifndef NO_RESOURCES# ifdef KEYSYM_RESOURCE#define NEWARGLIM	500	/* `reasonable' size */# endif				/* KEYSYM_RESOURCE */#endif				/* NO_RESOURCES */struct _bgPixmap_t {    short           w, h, x, y;    Pixmap          pixmap;} bgPixmap;#ifdef XPM_BACKGROUND XpmAttributes xpmAttr;#endif#ifndef STANDALONE    XEvent xevent;    int x_events_pending;    int cmd_fd_available;    int fds_available;#endif    int old_width;    int old_height;    char *buffer;    int currmaxcol;#ifdef MULTICHAR_SET    int oldcursormulti;#endif#ifdef MENUBAR    struct menu_t *BuildMenu;#endif    Window parent_window;    int killed;};enum _sstyle_t {    OLD_SELECT, OLD_WORD_SELECT, NEW_SELECT};typedef enum _sstyle_t sstyle_t;#ifdef MULTICHAR_SETenum _ENC_METHOD {    EUCJ, SJIS,			    BIG5, CNS,			    GB				};typedef enum _ENC_METHOD ENC_METHOD;#endif#include "rxvtlibproto.h"#include "mad.h"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -