Tmux wants this to be mutually exclusive.
[st.git] / st.c
diff --git a/st.c b/st.c
index 08cda34..8206001 100644 (file)
--- a/st.c
+++ b/st.c
@@ -1557,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);
@@ -2440,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);
@@ -2451,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);
 
@@ -2986,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;