On Sat, May 23, 2009 at 09:06:17PM +0400, Pavel Gorshkov wrote:
> On Sat, May 23, 2009 at 02:12:59PM +0200, Samir SAADA wrote:
> >  Thanks for this patch Pavel,
> > I enjoy using it, but I am a bit confused when hiding the app and find 
> > myself
> > on another workspace, the app's one; just different from the menu's hide 
> > behavior.
> 
> You're right Samir, thanks for reporting that.  The original patch
> was somewhat sloppy and I should have reviewed it before sending.
> 
> I'm attaching the new patch, its behavior should now be identical
> to that of Menu->Hide.

Ok that works. Appears another problem;
The "hide other" behavior seems counter instinctive now.
I think we should keep the mod+wheelDown. Like it was.

Samir.


> diff -ru WindowMaker-0.92.0.orig/src/appicon.c 
> WindowMaker-0.92.0/src/appicon.c
> --- WindowMaker-0.92.0.orig/src/appicon.c     2004-10-14 21:31:49.000000000 
> +0400
> +++ WindowMaker-0.92.0/src/appicon.c  2009-05-23 20:45:41.000000000 +0400
> @@ -554,16 +554,21 @@
>      }
>  #endif
>  
> -    unhideHere = (event->xbutton.state & ShiftMask);
> +    if (event->xbutton.button == Button5) {
> +        if (!wapp->flags.hidden)
> +            wHideApplication(wapp);
> +    } else {
> +        unhideHere = (event->xbutton.state & ShiftMask);
> +
> +        /* go to the last workspace that the user worked on the app */
> +        if (!unhideHere && wapp->last_workspace != scr->current_workspace)
> +            wWorkspaceChange(scr, wapp->last_workspace);
>  
> -    /* go to the last workspace that the user worked on the app */
> -    if (!unhideHere && wapp->last_workspace != scr->current_workspace)
> -        wWorkspaceChange(scr, wapp->last_workspace);
> +        wUnhideApplication(wapp, event->xbutton.button==Button2, unhideHere);
>  
> -    wUnhideApplication(wapp, event->xbutton.button==Button2, unhideHere);
> -
> -    if (event->xbutton.state & MOD_MASK) {
> -        wHideOtherApplications(aicon->icon->owner);
> +        if (event->xbutton.state & MOD_MASK) {
> +            wHideOtherApplications(aicon->icon->owner);
> +        }
>      }
>  }
>  
> diff -ru WindowMaker-0.92.0.orig/src/dock.c WindowMaker-0.92.0/src/dock.c
> --- WindowMaker-0.92.0.orig/src/dock.c        2004-10-23 07:10:40.000000000 
> +0400
> +++ WindowMaker-0.92.0/src/dock.c     2009-05-23 20:45:42.000000000 +0400
> @@ -3564,18 +3564,23 @@
>  
>          assert(wapp!=NULL);
>  
> -        unhideHere = (event->xbutton.state & ShiftMask);
> +        if (event->xbutton.button == Button5) {
> +            if (!wapp->flags.hidden)
> +                wHideApplication(wapp);
> +        } else {
> +            unhideHere = (event->xbutton.state & ShiftMask);
>  
> -        /* go to the last workspace that the user worked on the app */
> -        if (wapp->last_workspace != dock->screen_ptr->current_workspace
> -            && !unhideHere) {
> -            wWorkspaceChange(dock->screen_ptr, wapp->last_workspace);
> -        }
> +            /* go to the last workspace that the user worked on the app */
> +            if (wapp->last_workspace != dock->screen_ptr->current_workspace
> +                    && !unhideHere) {
> +                wWorkspaceChange(dock->screen_ptr, wapp->last_workspace);
> +            }
>  
> -        wUnhideApplication(wapp, event->xbutton.button==Button2, unhideHere);
> +            wUnhideApplication(wapp, event->xbutton.button==Button2, 
> unhideHere);
>  
> -        if (event->xbutton.state & MOD_MASK) {
> -            wHideOtherApplications(btn->icon->owner);
> +            if (event->xbutton.state & MOD_MASK) {
> +                wHideOtherApplications(btn->icon->owner);
> +            }
>          }
>      } else {
>          if (event->xbutton.button==Button1) {


-- 
To unsubscribe, send mail to [email protected].

Reply via email to