X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.c;h=820600185fadd6deb3c13cda099dde3bed5e6d14;hb=b7261c84aa3af984d5a7e5f5239c4173255a215d;hp=a1932dd4e69de6b0b8a9bf62981f9dbee33073e5;hpb=efd04ccad6d3c4e981b3efdb0423d8f5ca40f984;p=st.git diff --git a/st.c b/st.c index a1932dd..8206001 100644 --- a/st.c +++ b/st.c @@ -807,7 +807,6 @@ void selclear(XEvent *e) { void selrequest(XEvent *e) { - fprintf(stderr, "selrequest\n"); XSelectionRequestEvent *xsre; XSelectionEvent xev; Atom xa_targets, string; @@ -843,7 +842,6 @@ selrequest(XEvent *e) { void xsetsel(char *str) { - fprintf(stderr, "xsetsel: %s\n", str); /* register the selection for both the clipboard and the primary */ Atom clipboard; @@ -1559,9 +1557,11 @@ tsetmode(bool priv, bool set, int *args, int narg) { break; case 1000: /* 1000,1002: enable xterm mouse report */ MODBIT(term.mode, set, MODE_MOUSEBTN); + MODBIT(term.mode, 0, MODE_MOUSEMOTION); break; case 1002: MODBIT(term.mode, set, MODE_MOUSEMOTION); + MODBIT(term.mode, 0, MODE_MOUSEBTN); break; case 1006: MODBIT(term.mode, set, MODE_MOUSESGR); @@ -2277,7 +2277,7 @@ xresize(int col, int row) { XFreePixmap(xw.dpy, xw.buf); xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, DefaultDepth(xw.dpy, xw.scr)); - XSetForeground(xw.dpy, dc.gc, 0); + XSetForeground(xw.dpy, dc.gc, dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg].pixel); XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, xw.w, xw.h); } @@ -2442,7 +2442,9 @@ xloadfonts(char *fontstr, int fontsize) { xw.cw = dc.font.width; xw.ch = dc.font.height; + FcPatternDel(pattern, FC_SLANT); FcPatternDel(pattern, FC_WEIGHT); + FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD); if(xloadfont(&dc.bfont, pattern)) die("st: can't open font %s\n", fontstr); @@ -2453,6 +2455,7 @@ xloadfonts(char *fontstr, int fontsize) { die("st: can't open font %s\n", fontstr); FcPatternDel(pattern, FC_WEIGHT); + FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_MEDIUM); if(xloadfont(&dc.ifont, pattern)) die("st: can't open font %s\n", fontstr); @@ -2572,7 +2575,7 @@ xinit(void) { &gcvalues); xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, DefaultDepth(xw.dpy, xw.scr)); - XSetForeground(xw.dpy, dc.gc, 0); + XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel); XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, xw.w, xw.h); //xw.buf = xw.win; /* @@ -2896,7 +2899,7 @@ draw(void) { } else { XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w, xw.h, 0, 0); - XSetForeground(xw.dpy, dc.gc, 0); + XSetForeground(xw.dpy, dc.gc, dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg].pixel); } } @@ -2988,6 +2991,11 @@ xseturgency(int add) { void focus(XEvent *ev) { + XFocusChangeEvent *e = &ev->xfocus; + + if(e->mode == NotifyGrab) + return; + if(ev->type == FocusIn) { XSetICFocus(xw.xic); xw.state |= WIN_FOCUSED;