Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Remove unnecessary XFilterEvent call.
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
7dbd87a
..
c48132a
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-419,7
+419,6
@@
static int xsetcolorname(int, const char *);
static int xgeommasktogravity(int);
static int xloadfont(Font *, FcPattern *);
static void xloadfonts(char *, double);
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);
static void xsettitle(char *);
static void xresettitle(void);
static void xsetpointermotion(int);
@@
-3116,15
+3115,6
@@
xloadfonts(char *fontstr, double fontsize) {
FcPatternDestroy(pattern);
}
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);
void
xunloadfont(Font *f) {
XftFontClose(xw.dpy, f->match);
@@
-3472,7
+3462,8
@@
xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
/* Nothing was found. */
if(i >= frclen) {
if(!font->set)
/* Nothing was found. */
if(i >= frclen) {
if(!font->set)
- xloadfontset(font);
+ font->set = FcFontSort(0, font->pattern,
+ FcTrue, 0, &fcres);
fcsets[0] = font->set;
/*
fcsets[0] = font->set;
/*
@@
-3600,15
+3591,15
@@
xdrawcursor(void) {
case 4: /* Steady Underline */
XftDrawRect(xw.draw, &dc.col[defaultcs],
borderpx + curx * xw.cw,
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],
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 {
break;
}
} else {
@@
-3926,17
+3917,13
@@
run(void) {
long deltatime;
/* Waiting for window mapping */
long deltatime;
/* Waiting for window mapping */
-
while(1)
{
+
do
{
XNextEvent(xw.dpy, &ev);
XNextEvent(xw.dpy, &ev);
- if(XFilterEvent(&ev, None))
- continue;
if(ev.type == ConfigureNotify) {
w = ev.xconfigure.width;
h = ev.xconfigure.height;
if(ev.type == ConfigureNotify) {
w = ev.xconfigure.width;
h = ev.xconfigure.height;
- } else if(ev.type == MapNotify) {
- break;
}
}
- }
+ }
while(ev.type != MapNotify);
ttynew();
cresize(w, h);
ttynew();
cresize(w, h);
@@
-4081,7
+4068,7
@@
main(int argc, char *argv[]) {
run:
setlocale(LC_CTYPE, "");
XSetLocaleModifiers("");
run:
setlocale(LC_CTYPE, "");
XSetLocaleModifiers("");
- tnew(
cols? cols : 1, rows? rows : 1
);
+ tnew(
MAX(cols, 1), MAX(rows, 1)
);
xinit();
selinit();
run();
xinit();
selinit();
run();