tadded/removed files, updated Makefile. - st - [fork] customized build of st, t… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 2e37752961f439c33614a9d8469d7c297f0465cb | |
parent 8b4bfe31ec1075316dbb2e7d21753771ae3e5590 | |
Author: Aurélien Aptel <[email protected]> | |
Date: Tue, 16 Jun 2009 02:33:38 +0200 | |
added/removed files, updated Makefile. | |
Diffstat: | |
M Makefile | 2 +- | |
A config.h | 39 +++++++++++++++++++++++++++++… | |
D st.h | 178 -----------------------------… | |
3 files changed, 40 insertions(+), 179 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
t@@ -18,7 +18,7 @@ options: | |
@echo CC $< | |
@${CC} -c ${CFLAGS} $< | |
-${OBJ}: config.mk | |
+${OBJ}: config.h config.mk | |
st: ${OBJ} | |
@echo CC -o $@ | |
diff --git a/config.h b/config.h | |
t@@ -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" }, | |
+}; | |
diff --git a/st.h b/st.h | |
t@@ -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 }… | |
-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); |