mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-20 04:48:06 +01:00
enhacnced mouse alt-tabbing
This commit is contained in:
@@ -124,8 +124,7 @@ StartWindozeCycle(WWindow *wwin, XEvent *event, Bool next)
|
||||
int i;
|
||||
|
||||
WMMaskEvent(dpy, KeyPressMask|KeyReleaseMask|ExposureMask
|
||||
|PointerMotionMask|EnterWindowMask|LeaveWindowMask
|
||||
|ButtonReleaseMask, &ev);
|
||||
|PointerMotionMask|ButtonReleaseMask, &ev);
|
||||
|
||||
/* ignore CapsLock */
|
||||
modifiers = ev.xkey.state & ValidModMask;
|
||||
@@ -201,15 +200,14 @@ StartWindozeCycle(WWindow *wwin, XEvent *event, Bool next)
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
|
||||
case MotionNotify:
|
||||
case ButtonRelease:
|
||||
{
|
||||
WWindow *tmp;
|
||||
if (swpanel) {
|
||||
tmp = wSwitchPanelHandleEvent(swpanel, &ev);
|
||||
if (tmp) {
|
||||
if (tmp && tmp != newFocused) {
|
||||
newFocused = tmp;
|
||||
wWindowFocus(newFocused, oldFocused);
|
||||
oldFocused = newFocused;
|
||||
|
||||
@@ -469,22 +469,28 @@ WWindow *wSwitchPanelHandleEvent(WSwitchPanel *panel, XEvent *event)
|
||||
if (!panel->win)
|
||||
return NULL;
|
||||
|
||||
if (event->type == EnterNotify) {
|
||||
if (event->type == MotionNotify) {
|
||||
int focus= -1;
|
||||
|
||||
WM_ITERATE_ARRAY(panel->icons, label, i) {
|
||||
if (WMWidgetXID(label) == event->xcrossing.window) {
|
||||
if (WMWidgetXID(label) == event->xmotion.window) {
|
||||
focus= i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (focus >= 0) {
|
||||
WWindow *wwin;
|
||||
|
||||
changeImage(panel, panel->current, 0);
|
||||
changeImage(panel, focus, 1);
|
||||
panel->current= focus;
|
||||
|
||||
return WMGetFromArray(panel->windows, focus);
|
||||
wwin= WMGetFromArray(panel->windows, focus);
|
||||
|
||||
WMSetLabelText(panel->label, wwin->frame->title);
|
||||
|
||||
return wwin;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user