aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.h
diff options
context:
space:
mode:
authorokan2013-12-12 20:15:07 +0000
committerokan2013-12-12 20:15:07 +0000
commit5a0e425ef7a6420297d12dfe69f6a99d307f5984 (patch)
treec2d94c79363ad9384bf6aa057313be4ccc49040f /calmwm.h
parent6c88180fdca79679ce61523647585749c0e7476d (diff)
downloadcwm-5a0e425ef7a6420297d12dfe69f6a99d307f5984.tar.gz
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@
Diffstat (limited to 'calmwm.h')
-rw-r--r--calmwm.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/calmwm.h b/calmwm.h
index 8ce7bdc..c479077 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: calmwm.h,v 1.233 2013/12/11 15:41:11 okan Exp $
+ * $OpenBSD: calmwm.h,v 1.234 2013/12/12 20:15:07 okan Exp $
*/
#ifndef _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 *);