added/removed files, updated Makefile.
This commit is contained in:
		
							parent
							
								
									8b4bfe31ec
								
							
						
					
					
						commit
						2e37752961
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @ -18,7 +18,7 @@ options: | |||||||
| 	@echo CC $< | 	@echo CC $< | ||||||
| 	@${CC} -c ${CFLAGS} $< | 	@${CC} -c ${CFLAGS} $< | ||||||
| 
 | 
 | ||||||
| ${OBJ}: config.mk | ${OBJ}: config.h config.mk | ||||||
| 
 | 
 | ||||||
| st: ${OBJ} | st: ${OBJ} | ||||||
| 	@echo CC -o $@ | 	@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); |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user