Hi, > I'm glad someone finally tried it.:)
I'm sorry. I am setting my network now, and I cannot read the mail as fast as I used to do it. BTW, the another maintainer shold have to answer, but he is a bit lazy ... > However, I wonder how you could receive this focus-in event: I mistook, I didn't receive it. > Let's make more detailed test case: > $ sudo pacman -S st dwm # Actually: st-0.6.3, dwm-6.1-3 > $ cat ~/.tmux.conf > set -g default-command /bin/bash > set -g focus-events on > > In dwm: > - A-S-<Enter> # to launch first _bare_ terminal > $ st # to launch terminal from another > $ tmux -L test # independent tmux server At this point you get a \e[?1005h in the terminal because tmux is trying to see what is the correct mode [1]. > $ printf "\e[?1004h" > - <C-v> > - A-j/k > > Results: > - cursor slightly blinks, which indicates focus lost/gain > - but nothing printed (no focus in/out events in tmux) > - however on splitting tmux C-b % those events immediately shown > The code in st that handles it is very simpe: case 1004: /* 1004: send focus events to tty */ MODBIT(term.mode, set, MODE_FOCUS); break; ----- void focus(XEvent *ev) { XFocusChangeEvent *e = &ev->xfocus; if (e->mode == NotifyGrab) return; if (ev->type == FocusIn) { XSetICFocus(xw.xic); xw.state |= WIN_FOCUSED; xseturgency(0); if (IS_SET(MODE_FOCUS)) ttywrite("\033[I", 3); } else { XUnsetICFocus(xw.xic); xw.state &= ~WIN_FOCUSED; if (IS_SET(MODE_FOCUS)) ttywrite("\033[O", 3); } } We can try to test if we are receiving the event or not. The posibilities here are: - Mode is NotifyGrab - We do not receive the event I am a bit busy at this moment, but I will look it as soon as possible. Regards, [1] https://github.com/tmux/tmux/blob/master/input-keys.c#L252