--- config.def.h | 18 +++++++++++----- st.c | 70 ++++++++++++++++++++++++++++++------------------------------ 2 files changed, 48 insertions(+), 40 deletions(-) diff --git a/config.def.h b/config.def.h index bb5596e..f0dbfa1 100644 --- a/config.def.h +++ b/config.def.h _AT_@ -87,22 +87,30 @@ static const char *colorname[] = { "#cccccc", }; +/* + * Unsigned integral type large enough to hold color indices. It should be + * capable of indexing the full range of the colorname table. By default, + * it is defined to ushort so that it can handle the default extended colors + * above index 255, but if you restrict colorname to 256 or less colors in + * length you can define it to uchar to reduce memory consumption. + */ +typedef ushort ColorIndex; /* * Default colors (colorname index) * foreground, background, cursor */ -static unsigned int defaultfg = 7; -static unsigned int defaultbg = 0; -static unsigned int defaultcs = 256; +static ColorIndex defaultfg = 7; +static ColorIndex defaultbg = 0; +static ColorIndex defaultcs = 256; /* * Colors used, when the specific fg == defaultfg. So in reverse mode this * will reverse too. Another logic would only make the simple feature too * complex. */ -static unsigned int defaultitalic = 11; -static unsigned int defaultunderline = 7; +static ColorIndex defaultitalic = 11; +static ColorIndex defaultunderline = 7; /* Internal mouse shortcuts. */ /* Beware that overloading Button1 will disable the selection. */ diff --git a/st.c b/st.c index 0204b2e..f5c78e1 100644 --- a/st.c +++ b/st.c _AT_@ -179,22 +179,6 @@ typedef unsigned short ushort; typedef XftDraw *Draw; typedef XftColor Color; -typedef struct { - char c[UTF_SIZ]; /* character code */ - ushort mode; /* attribute flags */ - uint32_t fg; /* foreground */ - uint32_t bg; /* background */ -} Glyph; - -typedef Glyph *Line; - -typedef struct { - Glyph attr; /* current char attributes */ - int x; - int y; - char state; -} TCursor; - /* CSI Escape sequence structs */ /* ESC '[' [[ [<priv>] <arg> [;]] <mode> [<mode>]] */ typedef struct { _AT_@ -216,25 +200,6 @@ typedef struct { int narg; /* nb of args */ } STREscape; -/* Internal representation of the screen */ -typedef struct { - int row; /* nb row */ - int col; /* nb col */ - Line *line; /* screen */ - Line *alt; /* alternate screen */ - bool *dirty; /* dirtyness of lines */ - TCursor c; /* cursor */ - int top; /* top scroll limit */ - int bot; /* bottom scroll limit */ - int mode; /* terminal mode flags */ - int esc; /* escape state flags */ - char trantbl[4]; /* charset table translation */ - int charset; /* current charset */ - int icharset; /* selected charset for sequence */ - bool numlock; /* lock numbers in keyboard */ - bool *tabs; -} Term; - /* Purely graphic info */ typedef struct { Display *dpy; _AT_@ -326,6 +291,41 @@ static void toggleprinter(const Arg *); /* Config.h for applying patches and the configuration. */ #include "config.h" +typedef struct { + char c[UTF_SIZ]; /* character code */ + ushort mode; /* attribute flags */ + ColorIndex fg; /* foreground */ + ColorIndex bg; /* background */ +} Glyph; + +typedef Glyph *Line; + +typedef struct { + Glyph attr; /* current char attributes */ + int x; + int y; + char state; +} TCursor; + +/* Internal representation of the screen */ +typedef struct { + int row; /* nb row */ + int col; /* nb col */ + Line *line; /* screen */ + Line *alt; /* alternate screen */ + bool *dirty; /* dirtyness of lines */ + TCursor c; /* cursor */ + int top; /* top scroll limit */ + int bot; /* bottom scroll limit */ + int mode; /* terminal mode flags */ + int esc; /* escape state flags */ + char trantbl[4]; /* charset table translation */ + int charset; /* current charset */ + int icharset; /* selected charset for sequence */ + bool numlock; /* lock numbers in keyboard */ + bool *tabs; +} Term; + /* Font structure */ typedef struct { int height; -- 2.0.5
This archive was generated by hypermail 2.3.0 : Wed Apr 22 2015 - 14:36:29 CEST