ICCCM explicitly states that server time (CurrentTime) should *not* be
used for focus events, but rather the timestamp of the generated event. Track the last event timestamp and send it down for a WM_TAKE_FOCUS ClientMessage. I suspect we should do this for clients that don't announce this Atom as well, though the raciness gets us into a bind. Solves focus order issue since WM_TAKE_FOCUS; fix verified by sthen@ ok sthen@
This commit is contained in:
3
calmwm.h
3
calmwm.h
@@ -316,6 +316,7 @@ struct mwm_hints {
|
||||
#define MWM_DECOR_BORDER (1<<1)
|
||||
|
||||
extern Display *X_Dpy;
|
||||
extern Time Last_Event_Time;
|
||||
extern struct screen_ctx_q Screenq;
|
||||
extern struct client_ctx_q Clientq;
|
||||
extern struct conf Conf;
|
||||
@@ -381,7 +382,7 @@ void client_htile(struct client_ctx *);
|
||||
void client_lower(struct client_ctx *);
|
||||
void client_map(struct client_ctx *);
|
||||
void client_maximize(struct client_ctx *);
|
||||
void client_msg(struct client_ctx *, Atom);
|
||||
void client_msg(struct client_ctx *, Atom, Time);
|
||||
void client_move(struct client_ctx *);
|
||||
struct client_ctx *client_init(Window, struct screen_ctx *, int);
|
||||
void client_ptrsave(struct client_ctx *);
|
||||
|
||||
Reference in New Issue
Block a user