| tUnboolify st - st - [fork] customized build of st, the simple terminal | |
| git clone git://src.adamsgaard.dk/st | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 9de853a98da8fe0f458b244970f0e0d3e9b38a50 | |
| parent abfad4c4fc69ebb22febfe32677aadd112ce375a | |
| Author: FRIGN <[email protected]> | |
| Date: Wed, 8 Jul 2015 23:56:55 +0200 | |
| Unboolify st | |
| This practice proved itself in sbase, ubase and a couple of other | |
| projects. | |
| Also remove the True and False defined in X11 and FcTrue and FcFalse | |
| defined in Fontconfig. | |
| Signed-off-by: Christoph Lohmann <[email protected]> | |
| Diffstat: | |
| M config.def.h | 2 +- | |
| M st.c | 56 +++++++++++++++--------------… | |
| 2 files changed, 28 insertions(+), 30 deletions(-) | |
| --- | |
| diff --git a/config.def.h b/config.def.h | |
| t@@ -30,7 +30,7 @@ static unsigned int doubleclicktimeout = 300; | |
| static unsigned int tripleclicktimeout = 600; | |
| /* alt screens */ | |
| -static bool allowaltscreen = true; | |
| +static int allowaltscreen = 1; | |
| /* frames per second st should at maximum draw to the screen */ | |
| static unsigned int xfps = 120; | |
| diff --git a/st.c b/st.c | |
| t@@ -6,7 +6,6 @@ | |
| #include <locale.h> | |
| #include <pwd.h> | |
| #include <stdarg.h> | |
| -#include <stdbool.h> | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <string.h> | |
| t@@ -231,7 +230,7 @@ typedef struct { | |
| int col; /* nb col */ | |
| Line *line; /* screen */ | |
| Line *alt; /* alternate screen */ | |
| - bool *dirty; /* dirtyness of lines */ | |
| + int *dirty; /* dirtyness of lines */ | |
| XftGlyphFontSpec *specbuf; /* font spec buffer used for rendering */ | |
| TCursor c; /* cursor */ | |
| int top; /* top scroll limit */ | |
| t@@ -241,8 +240,8 @@ typedef struct { | |
| char trantbl[4]; /* charset table translation */ | |
| int charset; /* current charset */ | |
| int icharset; /* selected charset for sequence */ | |
| - bool numlock; /* lock numbers in keyboard */ | |
| - bool *tabs; | |
| + int numlock; /* lock numbers in keyboard */ | |
| + int *tabs; | |
| } Term; | |
| /* Purely graphic info */ | |
| t@@ -258,7 +257,7 @@ typedef struct { | |
| Visual *vis; | |
| XSetWindowAttributes attrs; | |
| int scr; | |
| - bool isfixed; /* is fixed geometry? */ | |
| + int isfixed; /* is fixed geometry? */ | |
| int l, t; /* left and top offset */ | |
| int gm; /* geometry mask */ | |
| int tw, th; /* tty width and height */ | |
| t@@ -302,7 +301,7 @@ typedef struct { | |
| char *primary, *clipboard; | |
| Atom xtarget; | |
| - bool alt; | |
| + int alt; | |
| struct timespec tclick1; | |
| struct timespec tclick2; | |
| } Selection; | |
| t@@ -403,14 +402,14 @@ static void tsetscroll(int, int); | |
| static void tswapscreen(void); | |
| static void tsetdirt(int, int); | |
| static void tsetdirtattr(int); | |
| -static void tsetmode(bool, bool, int *, int); | |
| +static void tsetmode(int, int, int *, int); | |
| static void tfulldirt(void); | |
| static void techo(Rune); | |
| static void tcontrolcode(uchar ); | |
| static void tdectest(char ); | |
| static int32_t tdefcolor(int *, int *, int); | |
| static void tdeftran(char); | |
| -static inline bool match(uint, uint); | |
| +static inline int match(uint, uint); | |
| static void ttynew(void); | |
| static void ttyread(void); | |
| static void ttyresize(void); | |
| t@@ -459,7 +458,7 @@ static void selrequest(XEvent *); | |
| static void selinit(void); | |
| static void selnormalize(void); | |
| -static inline bool selected(int, int); | |
| +static inline int selected(int, int); | |
| static char *getsel(void); | |
| static void selcopy(Time); | |
| static void selscroll(int, int); | |
| t@@ -734,10 +733,10 @@ selnormalize(void) { | |
| sel.ne.x = term.col - 1; | |
| } | |
| -bool | |
| +int | |
| selected(int x, int y) { | |
| if(sel.mode == SEL_EMPTY) | |
| - return false; | |
| + return 0; | |
| if(sel.type == SEL_RECTANGULAR) | |
| return BETWEEN(y, sel.nb.y, sel.ne.y) | |
| t@@ -751,7 +750,7 @@ selected(int x, int y) { | |
| void | |
| selsnap(int *x, int *y, int direction) { | |
| int newx, newy, xt, yt; | |
| - bool delim, prevdelim; | |
| + int delim, prevdelim; | |
| Glyph *gp, *prevgp; | |
| switch(sel.snap) { | |
| t@@ -1143,7 +1142,7 @@ selrequest(XEvent *e) { | |
| } | |
| /* all done, send a notification to the listener */ | |
| - if(!XSendEvent(xsre->display, xsre->requestor, True, 0, (XEvent *) &xe… | |
| + if(!XSendEvent(xsre->display, xsre->requestor, 1, 0, (XEvent *) &xev)) | |
| fprintf(stderr, "Error sending SelectionNotify event\n"); | |
| } | |
| t@@ -1457,7 +1456,7 @@ tfulldirt(void) { | |
| void | |
| tcursor(int mode) { | |
| static TCursor c[2]; | |
| - bool alt = IS_SET(MODE_ALTSCREEN); | |
| + int alt = IS_SET(MODE_ALTSCREEN); | |
| if(mode == CURSOR_SAVE) { | |
| c[alt] = term.c; | |
| t@@ -1916,9 +1915,9 @@ tsetscroll(int t, int b) { | |
| } | |
| void | |
| -tsetmode(bool priv, bool set, int *args, int narg) { | |
| +tsetmode(int priv, int set, int *args, int narg) { | |
| int *lim, mode; | |
| - bool alt; | |
| + int alt; | |
| for(lim = args + narg; args < lim; ++args) { | |
| if(priv) { | |
| t@@ -2684,7 +2683,7 @@ eschandle(uchar ascii) { | |
| void | |
| tputc(Rune u) { | |
| char c[UTF_SIZ]; | |
| - bool control; | |
| + int control; | |
| int width, len; | |
| Glyph *gp; | |
| t@@ -2808,7 +2807,7 @@ tresize(int col, int row) { | |
| int i; | |
| int minrow = MIN(row, term.row); | |
| int mincol = MIN(col, term.col); | |
| - bool *bp; | |
| + int *bp; | |
| TCursor c; | |
| if(col < 1 || row < 1) { | |
| t@@ -2904,7 +2903,7 @@ sixd_to_16bit(int x) { | |
| return x == 0 ? 0 : 0x3737 + 0x2828 * x; | |
| } | |
| -bool | |
| +int | |
| xloadcolor(int i, const char *name, Color *ncolor) { | |
| XRenderColor color = { .alpha = 0xffff }; | |
| t@@ -2929,7 +2928,7 @@ xloadcolor(int i, const char *name, Color *ncolor) { | |
| void | |
| xloadcols(void) { | |
| int i; | |
| - static bool loaded; | |
| + static int loaded; | |
| Color *cp; | |
| if(loaded) { | |
| t@@ -2944,7 +2943,7 @@ xloadcols(void) { | |
| else | |
| die("Could not allocate color %d\n", i); | |
| } | |
| - loaded = true; | |
| + loaded = 1; | |
| } | |
| int | |
| t@@ -2998,7 +2997,7 @@ xhints(void) { | |
| sizeh->width_inc = xw.cw; | |
| sizeh->base_height = 2 * borderpx; | |
| sizeh->base_width = 2 * borderpx; | |
| - if(xw.isfixed == True) { | |
| + if(xw.isfixed) { | |
| sizeh->flags |= PMaxSize | PMinSize; | |
| sizeh->min_width = sizeh->max_width = xw.w; | |
| sizeh->min_height = sizeh->max_height = xw.h; | |
| t@@ -3349,7 +3348,7 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph… | |
| if(f >= frclen) { | |
| if(!font->set) | |
| font->set = FcFontSort(0, font->pattern, | |
| - FcTrue, 0, &fcres); | |
| + 1, 0, &fcres); | |
| fcsets[0] = font->set; | |
| /* | |
| t@@ -3365,8 +3364,7 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph… | |
| FcCharSetAddChar(fccharset, rune); | |
| FcPatternAddCharSet(fcpattern, FC_CHARSET, | |
| fccharset); | |
| - FcPatternAddBool(fcpattern, FC_SCALABLE, | |
| - FcTrue); | |
| + FcPatternAddBool(fcpattern, FC_SCALABLE, 1); | |
| FcConfigSubstitute(0, fcpattern, | |
| FcMatchPattern); | |
| t@@ -3664,7 +3662,7 @@ drawregion(int x1, int y1, int x2, int y2) { | |
| int i, x, y, ox, numspecs; | |
| Glyph base, new; | |
| XftGlyphFontSpec* specs; | |
| - bool ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN); | |
| + int ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN); | |
| if(!(xw.state & WIN_VISIBLE)) | |
| return; | |
| t@@ -3757,7 +3755,7 @@ focus(XEvent *ev) { | |
| } | |
| } | |
| -bool | |
| +int | |
| match(uint mask, uint state) { | |
| return mask == XK_ANY_MOD || mask == (state & ~ignoremod); | |
| } | |
| t@@ -4025,7 +4023,7 @@ main(int argc, char *argv[]) { | |
| ARGBEGIN { | |
| case 'a': | |
| - allowaltscreen = false; | |
| + allowaltscreen = 0; | |
| break; | |
| case 'c': | |
| opt_class = EARGF(usage()); | |
| t@@ -4042,7 +4040,7 @@ main(int argc, char *argv[]) { | |
| &xw.l, &xw.t, &cols, &rows); | |
| break; | |
| case 'i': | |
| - xw.isfixed = True; | |
| + xw.isfixed = 1; | |
| break; | |
| case 'o': | |
| opt_io = EARGF(usage()); |