added/removed files, updated Makefile.
This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -18,7 +18,7 @@ options: | ||||
| 	@echo CC $< | ||||
| 	@${CC} -c ${CFLAGS} $< | ||||
|  | ||||
| ${OBJ}: config.mk | ||||
| ${OBJ}: config.h config.mk | ||||
|  | ||||
| st: ${OBJ} | ||||
| 	@echo CC -o $@ | ||||
|   | ||||
							
								
								
									
										39
									
								
								config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								config.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| #define SHELL "/bin/bash" | ||||
| #define TAB    8 | ||||
|  | ||||
| #define FONT "fixed" | ||||
| #define BORDER 3 | ||||
| #define LINESPACE 1 /* additional pixel between each line */ | ||||
|  | ||||
| /* Terminal colors */ | ||||
| static char* colorname[] = { | ||||
| 	"black", | ||||
| 	"red", | ||||
| 	"green", | ||||
| 	"yellow", | ||||
| 	"blue", | ||||
| 	"magenta", | ||||
| 	"cyan", | ||||
| 	"white", | ||||
| }; | ||||
|  | ||||
| /* Default colors (colorname index) */ | ||||
| /* foreground, background, cursor, visual bell */ | ||||
| #define DefaultFG 7 | ||||
| #define DefaultBG 0 | ||||
| #define DefaultCS 1 | ||||
| #define BellCol   DefaultFG | ||||
|  | ||||
|  | ||||
| /* special keys */ | ||||
| static Key key[] = { | ||||
| 	{ XK_Delete, "\033[3~" }, | ||||
| 	{ XK_Home,   "\033[1~" }, | ||||
| 	{ XK_End,    "\033[4~" }, | ||||
| 	{ XK_Prior,  "\033[5~" }, | ||||
| 	{ XK_Next,   "\033[6~" }, | ||||
| 	{ XK_Left,   "\033[D" }, | ||||
| 	{ XK_Right,  "\033[C" }, | ||||
| 	{ XK_Up,     "\033[A" }, | ||||
| 	{ XK_Down,   "\033[B" }, | ||||
| }; | ||||
							
								
								
									
										178
									
								
								st.h
									
									
									
									
									
								
							
							
						
						
									
										178
									
								
								st.h
									
									
									
									
									
								
							| @@ -1,178 +0,0 @@ | ||||
| /* See LICENSE for licence details. */ | ||||
| #define _XOPEN_SOURCE | ||||
| #include <ctype.h> | ||||
| #include <errno.h> | ||||
| #include <fcntl.h> | ||||
| #include <locale.h> | ||||
| #include <stdarg.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include <signal.h> | ||||
| #include <sys/ioctl.h> | ||||
| #include <sys/select.h> | ||||
| #include <sys/stat.h> | ||||
| #include <sys/types.h> | ||||
| #include <sys/wait.h> | ||||
| #include <unistd.h> | ||||
| #include <X11/Xlib.h> | ||||
| #include <X11/keysym.h> | ||||
| #include <X11/Xutil.h> | ||||
|  | ||||
| /* special keys */ | ||||
| #define KEYDELETE "\033[3~" | ||||
| #define KEYHOME   "\033[1~" | ||||
| #define KEYEND    "\033[4~" | ||||
| #define KEYPREV   "\033[5~" | ||||
| #define KEYNEXT   "\033[6~" | ||||
|  | ||||
| #define TNAME "st" | ||||
| #define SHELL "/bin/bash" | ||||
| #define TAB    8 | ||||
|  | ||||
| #define FONT "fixed" | ||||
| #define BORDER 3 | ||||
| #define LINESPACE 1 /* additional pixel between each line */ | ||||
|  | ||||
| /* Default colors */ | ||||
| #define DefaultFG 7 | ||||
| #define DefaultBG 0 | ||||
| #define DefaultCS 1 | ||||
| #define BellCol   DefaultFG /* visual bell color */ | ||||
|  | ||||
| static char* colorname[] = { | ||||
| 	"black", | ||||
| 	"red", | ||||
| 	"green", | ||||
| 	"yellow", | ||||
| 	"blue", | ||||
| 	"magenta", | ||||
| 	"cyan", | ||||
| 	"white", | ||||
| }; | ||||
|  | ||||
| /* Arbitrary sizes */ | ||||
| #define ESCSIZ 256 | ||||
| #define ESCARG 16 | ||||
|  | ||||
| #define SERRNO strerror(errno) | ||||
| #define MIN(a, b)  ((a) < (b) ? (a) : (b)) | ||||
| #define MAX(a, b)  ((a) < (b) ? (b) : (a)) | ||||
| #define LEN(a)     (sizeof(a) / sizeof(a[0])) | ||||
| #define DEFAULT(a, b)     (a) = (a) ? (a) : (b)     | ||||
| #define BETWEEN(x, a, b)  ((a) <= (x) && (x) <= (b)) | ||||
| #define LIMIT(x, a, b)    (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x) | ||||
|  | ||||
|  | ||||
| enum { ATnone=0 , ATreverse=1 , ATunderline=2, ATbold=4 }; /* Attribute */ | ||||
| enum { CSup, CSdown, CSright, CSleft, CShide, CSdraw, CSwrap, CSsave, CSload }; /* Cursor */ | ||||
| enum { CRset=1 , CRupdate=2 }; /* Character state */ | ||||
| enum { TMwrap=1 , TMinsert=2, TMaltcharset }; /* Terminal mode */ | ||||
| enum { SCupdate, SCredraw }; /* screen draw mode */ | ||||
|  | ||||
| typedef int Color; | ||||
|  | ||||
| typedef struct { | ||||
| 	char c;     /* character code  */ | ||||
| 	char mode;  /* attribute flags */ | ||||
| 	Color fg;   /* foreground      */ | ||||
| 	Color bg;   /* background      */ | ||||
| 	char state; /* state flag      */ | ||||
| } Glyph; | ||||
|  | ||||
| typedef Glyph* Line; | ||||
|  | ||||
| typedef struct { | ||||
| 	Glyph attr;  /* current char attributes */ | ||||
| 	char hidden; | ||||
| 	int x; | ||||
| 	int y; | ||||
| } TCursor; | ||||
|  | ||||
| /* Escape sequence structs */ | ||||
| typedef struct { | ||||
| 	char buf[ESCSIZ+1]; /* raw string */ | ||||
| 	int len;            /* raw string length */ | ||||
| 	/* ESC <pre> [[ [<priv>] <arg> [;]] <mode>] */ | ||||
| 	char pre;            | ||||
| 	char priv; | ||||
| 	int arg[ESCARG+1]; | ||||
| 	int narg;           /* nb of args */ | ||||
| 	char mode; | ||||
| } Escseq; | ||||
|  | ||||
| /* Internal representation of the screen */ | ||||
| typedef struct { | ||||
| 	int row;    /* nb row */   | ||||
| 	int col;    /* nb col */ | ||||
| 	Line* line; /* screen */ | ||||
| 	TCursor c;  /* cursor */ | ||||
| 	int top;    /* top    scroll limit */ | ||||
| 	int bot;    /* bottom scroll limit */ | ||||
| 	int mode;   /* terminal mode */ | ||||
| } Term; | ||||
|  | ||||
| /* Purely graphic info */ | ||||
| typedef struct { | ||||
| 	Display* dis; | ||||
| 	Window win; | ||||
| 	int scr; | ||||
| 	int w;  /* window width  */ | ||||
| 	int h;  /* window height */ | ||||
| 	int ch; /* char height */ | ||||
| 	int cw; /* char width  */ | ||||
| } XWindow;  | ||||
|  | ||||
| /* Drawing Context */ | ||||
| typedef struct { | ||||
| 	unsigned long col[LEN(colorname)]; | ||||
| 	XFontStruct* font; | ||||
| 	GC gc; | ||||
| } DC; | ||||
|  | ||||
|  | ||||
| void die(const char *errstr, ...); | ||||
| void draw(int); | ||||
| void execsh(void); | ||||
| void sigchld(int); | ||||
| void kpress(XKeyEvent *); | ||||
| void resize(XEvent *); | ||||
| void run(void); | ||||
|  | ||||
| int escaddc(char); | ||||
| int escfinal(char); | ||||
| void escdump(void); | ||||
| void eschandle(void); | ||||
| void escparse(void); | ||||
| void escreset(void); | ||||
|  | ||||
| void tclearregion(int, int, int, int); | ||||
| void tcpos(int); | ||||
| void tcursor(int); | ||||
| void tdeletechar(int); | ||||
| void tdeleteline(int); | ||||
| void tdump(void); | ||||
| void tinsertblank(int); | ||||
| void tinsertblankline(int); | ||||
| void tmoveto(int, int); | ||||
| void tnew(int, int); | ||||
| void tnewline(void); | ||||
| void tputc(char); | ||||
| void tputs(char*, int); | ||||
| void tresize(int, int); | ||||
| void tscroll(void); | ||||
| void tsetattr(int*, int); | ||||
| void tsetchar(char); | ||||
| void tsetscroll(int, int); | ||||
|  | ||||
| void ttynew(void); | ||||
| void ttyread(void); | ||||
| void ttyresize(int, int); | ||||
| void ttywrite(char *, size_t); | ||||
|  | ||||
| unsigned long xgetcol(const char *); | ||||
| void xclear(int, int, int, int); | ||||
| void xcursor(int); | ||||
| void xdrawc(int, int, Glyph); | ||||
| void xinit(void); | ||||
| void xscroll(void); | ||||
		Reference in New Issue
	
	Block a user