On Sat 22.Aug'09 at 12:24:58 +0200, Nicolas Bonifas wrote: > Carlos, I think that your new code to avoid code duplication and to > handle the escape key is great!
Thank you, it is very much appreciated! But I must say that it was your patch which provided the initial momentum to start doing this, so thank you too :-) > I have another (almost unrelated) suggestion: when all windows are > minimized, the switch panel cursor is initially on the second window in > the list. With this patch it will be on the first window. Indeed, it makes more sense this way. I tested it and I liked the result. I applied (a slightly modified version of) your patch to my git repo at http://repo.or.cz/w/wmaker-crm.git and kept you as the Author: and used the Date: of your email. See if you liked the changelog etc. Please note that there are other patches affecting src/cycling.c which I didn't send to the list, because they no longer apply to the mercurial repo. In particular, Daniel Déchelotte reported to me off-list that there was an issue with the escape handling patch that it no longer meant that pressing ESC was like never entering the swpanel, in a special case. I fixed it yesterday: http://repo.or.cz/w/wmaker-crm.git?a=commit;h=f79379c0906c9aa0f40802d2b2da03c6924717cc Besides that I cleaned up the code in there too, so that it is more readable (to me) because it is no longer too nested with many if()'s etc. Regards, Carlos PS: My repo contains all the fixes for bugs which were posted to the list that I know of. That is the Window Maker I am using right now, so I care deeply about having those bugs fixed. > --- src/cycling.c.old 2009-08-22 12:19:37.000000000 +0200 > +++ src/cycling.c 2009-08-22 12:21:33.000000000 +0200 > @@ -120,9 +120,12 @@ > oldFocused = wwin; > > if (swpanel) { > - newFocused = wSwitchPanelSelectNext(swpanel, !next); > - if (newFocused) > - oldFocused = change_focus_and_raise(newFocused, > oldFocused, swpanel, scr); > + if (wwin->flags.mapped) > + newFocused = wSwitchPanelSelectNext(swpanel, !next); > + else > + newFocused = wSwitchPanelSelectFirst(swpanel, False); > + if (newFocused) > + oldFocused = change_focus_and_raise(newFocused, > oldFocused, swpanel, scr); > } else { > if (wwin->frame->workspace == scr->current_workspace) > newFocused = wwin; > > > Regards, > Nicolas -- To unsubscribe, send mail to [email protected].
