--- ./window.c 2004-10-23 05:11:10.000000000 +0200 +++ ./src/window.c 2004-12-31 10:52:16.031391704 +0100 @@ -3100,13 +3100,17 @@ if (event->xbutton.button==Button1) { if (event->xbutton.state == 0) { - if (!WFLAGP(wwin, no_shadeable)) { - /* shade window */ - if (wwin->flags.shaded) - wUnshadeWindow(wwin); - else - wShadeWindow(wwin); - } + WObjDescriptor *desc; + /* SIP double click opens window menu */ + OpenWindowMenu(wwin, event->xbutton.x_root, + wwin->frame_y+wwin->frame->top_width, False); + + /* allow drag select */ + desc = &wwin->screen_ptr->window_menu->menu->descriptor; + event->xany.send_event = True; + (*desc->handle_mousedown)(desc, event); + + XUngrabPointer(dpy, CurrentTime); } else { int dir = 0; @@ -3204,15 +3208,11 @@ wSetFocusTo(wwin->screen_ptr, wwin); } - if (event->xbutton.button == Button1 - || event->xbutton.button == Button2) { - - if (event->xbutton.button == Button1) { - if (event->xbutton.state & MOD_MASK) { - wLowerFrame(wwin->frame->core); - } else { - wRaiseFrame(wwin->frame->core); - } + if (event->xbutton.button == Button1) { + if (event->xbutton.state & MOD_MASK) { + wLowerFrame(wwin->frame->core); + } else { + wRaiseFrame(wwin->frame->core); } if ((event->xbutton.state & ShiftMask) && !(event->xbutton.state & ControlMask)) { @@ -3249,16 +3249,21 @@ #endif return; } + if (!WFLAGP(wwin, no_shadeable)) { + /* shade window */ + if (wwin->flags.shaded){ + if (event->xbutton.state & MOD_MASK) { + wLowerFrame(wwin->frame->core); + } else { + wRaiseFrame(wwin->frame->core); + } + wUnshadeWindow(wwin); + } + else { + wShadeWindow(wwin); + } + } - OpenWindowMenu(wwin, event->xbutton.x_root, - wwin->frame_y+wwin->frame->top_width, False); - - /* allow drag select */ - desc = &wwin->screen_ptr->window_menu->menu->descriptor; - event->xany.send_event = True; - (*desc->handle_mousedown)(desc, event); - - XUngrabPointer(dpy, CurrentTime); } }