Hi, On Fri, 22 Mar 2013, [email protected] escribió:
> From: Daniel Déchelotte <[email protected]> > > --- > src/dock.c | 47 +++++++++++++++++++++++++++-------------------- > 1 file changed, 27 insertions(+), 20 deletions(-) > > diff --git a/src/dock.c b/src/dock.c > index a73e8c5..f9090ce 100644 > --- a/src/dock.c > +++ b/src/dock.c > @@ -441,14 +441,35 @@ static void omnipresentCallback(WMenu *menu, WMenuEntry > *entry) > } > } I like this new function, with or without Drawer, because makes the function removeIconsCallback() smaller and clear. > +static void removeIcons(WMArray *icons, WDock *dock) > +{ > + WAppIcon *aicon; > + int keepit; > + WMArrayIterator it; > + > + WM_ITERATE_ARRAY(icons, aicon, it) { > + keepit = aicon->running && wApplicationOf(aicon->main_window); > + wDockDetach(dock, aicon); > + if (keepit) { > + /* XXX: can: aicon->icon == NULL ? */ If you create the new function, this comment should change to /* aicon->icon always exists */ or something like. > + PlaceIcon(dock->screen_ptr, &aicon->x_pos, > &aicon->y_pos, > + wGetHeadForWindow(aicon->icon->owner)); > + XMoveWindow(dpy, aicon->icon->core->window, > aicon->x_pos, aicon->y_pos); > + if (!dock->mapped || dock->collapsed) > + XMapWindow(dpy, aicon->icon->core->window); > + } > + } > + WMFreeArray(icons); > + > + if (wPreferences.auto_arrange_icons) > + wArrangeIcons(dock->screen_ptr, True); > +} > + [snip] But IMO we should split this patch in two, one create the new removeIcons() function and other add the drawer switch: > if (WMGetArrayItemCount(selectedIcons)) { > - if (wMessageDialog(dock->screen_ptr, _("Workspace Clip"), > + if (wMessageDialog(dock->screen_ptr, > + dock->type == WM_CLIP ? _("Workspace Clip") > : _("Drawer"), > _("All selected icons will be removed!"), > _("OK"), _("Cancel"), NULL) != WAPRDefault) { > WMFreeArray(selectedIcons); [snip] Then, if the Drawer option is not included in wmaker, the function can continue splitted, because are different patches. Thanks. kix -- ||// //\\// Rodolfo "kix" Garcia ||\\// //\\ http://www.kix.es/ -- To unsubscribe, send mail to [email protected].
