> From: "Rodolfo García Peñas (kix)" <[email protected]> > > This patch creates the middle button menu when the Dock is created. > Then, dock and clip have a similar behavior. Now the middle button > is only used by the Clip.
Sorry, I simply don't see the benefit for now. -- Daniel > This patch change the function name for the main menu (right button) > to have consistent names between functions. > > Signed-off-by: Rodolfo García Peñas (kix) <[email protected]> > --- > src/dock.c | 30 +++++++++++++++++++++++++----- > src/dock.h | 3 ++- > 2 files changed, 27 insertions(+), 6 deletions(-) > > diff --git a/src/dock.c b/src/dock.c > index d4d25ce..09d2804 100644 > --- a/src/dock.c > +++ b/src/dock.c > @@ -1040,7 +1040,7 @@ static WMenu *create_clip_main_menu(WScreen > *scr) > return menu; > } > > -static WMenu *dockMenuCreate(WScreen *scr, int type) > +static WMenu *create_main_menu(WScreen *scr, int type) > { > WMenu *menu = NULL; > > @@ -1062,6 +1062,28 @@ static WMenu *dockMenuCreate(WScreen *scr, int > type) > return menu; > } > > +static WMenu *create_alt_menu(WScreen *scr, int type) > +{ > + WMenu *menu = NULL; > + > + switch (type) { > + case WM_DOCK: > + menu = NULL; > + break; > + case WM_CLIP: > + if (scr->clip_ws_menu) { > + /* If the common menu for Clips exists, use it */ > + menu = scr->clip_ws_menu; > + } else { > + /* Else, create and save for other Clips */ > + menu = wWorkspaceMenuMake(scr, False); > + scr->clip_ws_menu = menu; > + } > + } > + > + return menu; > +} > + > WDock *wDockCreate(WScreen *scr, int type) > { > WDock *dock; > @@ -1098,7 +1120,8 @@ WDock *wDockCreate(WScreen *scr, int type) > XMoveWindow(dpy, btn->icon->core->window, btn->x_pos, btn->y_pos); > > /* create dock menu */ > - dock->menu = dockMenuCreate(scr, type); > + dock->menu = create_main_menu(scr, type); > + dock->alt_menu = create_alt_menu(scr, type); > > return dock; > } > @@ -3774,9 +3797,6 @@ static void iconMouseDown(WObjDescriptor *desc, > XEvent *event) > iconDblClick(desc, event); > } > } else if (event->xbutton.button == Button2 && dock->type == > WM_CLIP && aicon == scr->clip_icon) { > - if (!scr->clip_ws_menu) { > - scr->clip_ws_menu = wWorkspaceMenuMake(scr, False); > - } > if (scr->clip_ws_menu) { > WMenu *wsMenu = scr->clip_ws_menu; > int xpos; > diff --git a/src/dock.h b/src/dock.h > index 47d963d..9ff0a98 100644 > --- a/src/dock.h > +++ b/src/dock.h > @@ -57,7 +57,8 @@ typedef struct WDock { > unsigned int lclip_button_pushed:1; > unsigned int rclip_button_pushed:1; > > - struct WMenu *menu; > + struct WMenu *menu; /* Main menu, right click */ > + struct WMenu *alt_menu; /* Alt menu, middle click */ > > struct WDDomain *defaults; > } WDock; > -- > 1.7.10.4 > > > -- > To unsubscribe, send mail to > [email protected]. > -- To unsubscribe, send mail to [email protected].
