event_lasttime = e->xbutton.time;
e->xbutton.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
event_lasttime = e->xbutton.time;
e->xbutton.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
event_lasttime = e->xkey.time;
e->xkey.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
event_lasttime = e->xkey.time;
e->xkey.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
event_lasttime = e->xkey.time;
e->xkey.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
event_lasttime = e->xkey.time;
e->xkey.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
event_lasttime = e->xmotion.time;
e->xmotion.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
event_lasttime = e->xmotion.time;
e->xmotion.state &= ~(LockMask | NumLockMask | ScrollLockMask);
/* kill off the Button1Mask etc, only want the modifiers */
g_message("FocusIn on %lx mode %d detail %d", window,
e->xfocus.mode, e->xfocus.detail);
g_message("FocusIn on %lx mode %d detail %d", window,
e->xfocus.mode, e->xfocus.detail);
/* NotifyAncestor is not ignored in FocusIn like it is in FocusOut
because of RevertToPointerRoot. If the focus ends up reverting to
pointer root on a workspace change, then the FocusIn event that we
/* NotifyAncestor is not ignored in FocusIn like it is in FocusOut
because of RevertToPointerRoot. If the focus ends up reverting to
pointer root on a workspace change, then the FocusIn event that we
g_message("FocusOut on %lx mode %d detail %d", window,
e->xfocus.mode, e->xfocus.detail);
g_message("FocusOut on %lx mode %d detail %d", window,
e->xfocus.mode, e->xfocus.detail);
if (e->xfocus.mode == NotifyGrab ||
e->xfocus.detail == NotifyInferior ||
e->xfocus.detail == NotifyAncestor ||
e->xfocus.detail > NotifyNonlinearVirtual) return;
if (e->xfocus.mode == NotifyGrab ||
e->xfocus.detail == NotifyInferior ||
e->xfocus.detail == NotifyAncestor ||
e->xfocus.detail > NotifyNonlinearVirtual) return;
/* Try process a FocusIn first, and if a legit one isn't found, then
do the fallback shiznit. */
{
/* Try process a FocusIn first, and if a legit one isn't found, then
do the fallback shiznit. */
{
/* secret magic way of event_process telling us that no client
was found for the FocusIn event. ^_^ */
if (!isfo && fi.xfocus.window == None)
/* secret magic way of event_process telling us that no client
was found for the FocusIn event. ^_^ */
if (!isfo && fi.xfocus.window == None)
event_lasttime = e->xcrossing.time;
/* NotifyUngrab occurs when a mouse button is released and the event is
caused, like when lowering a window */
event_lasttime = e->xcrossing.time;
/* NotifyUngrab occurs when a mouse button is released and the event is
caused, like when lowering a window */
/* focus state can affect the stacking layer */
client_calc_layer(client);
engine_frame_adjust_focus(client->frame);
/* focus state can affect the stacking layer */
client_calc_layer(client);
engine_frame_adjust_focus(client->frame);
if (ce.xconfigurerequest.value_mask & CWStackMode)
e->xconfigurerequest.detail = ce.xconfigurerequest.detail;
}
if (ce.xconfigurerequest.value_mask & CWStackMode)
e->xconfigurerequest.detail = ce.xconfigurerequest.detail;
}
/* if we are iconic (or shaded (fvwm does this)) ignore the event */
if (client->iconic || client->shaded) return;
/* if we are iconic (or shaded (fvwm does this)) ignore the event */
if (client->iconic || client->shaded) return;
if (!client->iconic) break; /* this normally doesn't happen, but if it
does, we don't want it! */
if (screen_showing_desktop)
if (!client->iconic) break; /* this normally doesn't happen, but if it
does, we don't want it! */
if (screen_showing_desktop)