Merge branch 'master' of ssh://suckless.org/gitrepos/st
authorRoberto E. Vargas Caballero <k0ga@shike2.com>
Mon, 13 Apr 2015 20:01:40 +0000 (22:01 +0200)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Mon, 13 Apr 2015 20:01:40 +0000 (22:01 +0200)
1  2 
st.c

diff --combined st.c
--- 1/st.c
--- 2/st.c
+++ b/st.c
@@@ -359,7 -359,7 +359,7 @@@ static void csidump(void)
  static void csihandle(void);
  static void csiparse(void);
  static void csireset(void);
- static int eschandle(uchar ascii);
+ static int eschandle(uchar);
  static void strdump(void);
  static void strhandle(void);
  static void strparse(void);
@@@ -406,8 -406,9 +406,9 @@@ static void ttyread(void)
  static void ttyresize(void);
  static void ttysend(char *, size_t);
  static void ttywrite(const char *, size_t);
- static void tstrsequence(uchar c);
+ static void tstrsequence(uchar);
  
+ static inline ushort sixd_to_16bit(int);
  static void xdraws(char *, Glyph, int, int, int, int);
  static void xhints(void);
  static void xclear(int, int, int, int);
@@@ -418,7 -419,6 +419,6 @@@ static int xsetcolorname(int, const cha
  static int xgeommasktogravity(int);
  static int xloadfont(Font *, FcPattern *);
  static void xloadfonts(char *, double);
- static int xloadfontset(Font *);
  static void xsettitle(char *);
  static void xresettitle(void);
  static void xsetpointermotion(int);
@@@ -452,6 -452,8 +452,8 @@@ static char *getsel(void)
  static void selcopy(void);
  static void selscroll(int, int);
  static void selsnap(int, int *, int *, int);
+ static int x2col(int);
+ static int y2row(int);
  static void getbuttoninfo(XEvent *);
  static void mousereport(XEvent *);
  
@@@ -640,7 -642,7 +642,7 @@@ utf8validate(long *u, size_t i) 
        return i;
  }
  
static void
+ void
  selinit(void) {
        memset(&sel.tclick1, 0, sizeof(sel.tclick1));
        memset(&sel.tclick2, 0, sizeof(sel.tclick2));
                sel.xtarget = XA_STRING;
  }
  
static int
+ int
  x2col(int x) {
        x -= borderpx;
        x /= xw.cw;
        return LIMIT(x, 0, term.col-1);
  }
  
static int
+ int
  y2row(int y) {
        y -= borderpx;
        y /= xw.ch;
        return LIMIT(y, 0, term.row-1);
  }
  
static int tlinelen(int y) {
+ int tlinelen(int y) {
        int i = term.col;
  
        if(term.line[y][i - 1].mode & ATTR_WRAP)
        return i;
  }
  
static void
+ void
  selnormalize(void) {
        int i;
  
                sel.ne.x = term.col - 1;
  }
  
static inline bool
+ bool
  selected(int x, int y) {
        if(sel.type == SEL_RECTANGULAR)
                return BETWEEN(y, sel.nb.y, sel.ne.y)
@@@ -2390,7 -2392,7 +2392,7 @@@ tputtab(int n) 
                        for(--x; x > 0 && !term.tabs[x]; --x)
                                /* nothing */ ;
        }
 -      tmoveto(x, term.c.y);
 +      term.c.x = LIMIT(x, 0, term.col-1);
  }
  
  void
@@@ -2857,7 -2859,7 +2859,7 @@@ xresize(int col, int row) 
        xclear(0, 0, xw.w, xw.h);
  }
  
static inline ushort
+ ushort
  sixd_to_16bit(int x) {
        return x == 0 ? 0 : 0x3737 + 0x2828 * x;
  }
@@@ -3113,15 -3115,6 +3115,6 @@@ xloadfonts(char *fontstr, double fontsi
        FcPatternDestroy(pattern);
  }
  
- int
- xloadfontset(Font *f) {
-       FcResult result;
-       if(!(f->set = FcFontSort(0, f->pattern, FcTrue, 0, &result)))
-               return 1;
-       return 0;
- }
  void
  xunloadfont(Font *f) {
        XftFontClose(xw.dpy, f->match);
@@@ -3469,7 -3462,8 +3462,8 @@@ xdraws(char *s, Glyph base, int x, int 
                /* Nothing was found. */
                if(i >= frclen) {
                        if(!font->set)
-                               xloadfontset(font);
+                               font->set = FcFontSort(0, font->pattern,
+                                                      FcTrue, 0, &fcres);
                        fcsets[0] = font->set;
  
                        /*
@@@ -3597,15 -3591,15 +3591,15 @@@ xdrawcursor(void) 
                        case 4: /* Steady Underline */
                                XftDrawRect(xw.draw, &dc.col[defaultcs],
                                                borderpx + curx * xw.cw,
-                                               borderpx + (term.c.y + 1) * xw.ch - 1,
-                                               xw.cw, 1);
+                                               borderpx + (term.c.y + 1) * xw.ch - cursorthickness,
+                                               xw.cw, cursorthickness);
                                break;
                        case 5: /* Blinking bar */
                        case 6: /* Steady bar */
                                XftDrawRect(xw.draw, &dc.col[defaultcs],
-                                                               borderpx + curx * xw.cw,
-                                                               borderpx + term.c.y * xw.ch,
-                                                               1, xw.ch);
+                                               borderpx + curx * xw.cw,
+                                               borderpx + term.c.y * xw.ch,
+                                               cursorthickness, xw.ch);
                                break;
                }
        } else {
@@@ -3772,7 -3766,7 +3766,7 @@@ focus(XEvent *ev) 
        }
  }
  
static inline bool
+ bool
  match(uint mask, uint state) {
        return mask == XK_ANY_MOD || mask == (state & ~ignoremod);
  }
@@@ -4078,7 -4072,7 +4072,7 @@@ main(int argc, char *argv[]) 
  run:
        setlocale(LC_CTYPE, "");
        XSetLocaleModifiers("");
-       tnew(cols? cols : 1, rows? rows : 1);
+       tnew(MAX(cols, 1), MAX(rows, 1));
        xinit();
        selinit();
        run();