void Windowmenu::itemSelected(int button, unsigned int index) {
+ if (button != 1)
+ return;
+
BasemenuItem *item = find(index);
hide();
break;
case BScreen::WindowMaximize:
- window->maximize(button);
+ window->maximize(1); // full maximize
break;
case BScreen::WindowClose:
break;
case BScreen::WindowRaise: {
- Workspace *wkspc = getScreen()->getWorkspace(window->getWorkspaceNumber());
+ Workspace *wkspc =
+ getScreen()->getWorkspace(window->getWorkspaceNumber());
wkspc->raiseWindow(window);
}
break;
case BScreen::WindowLower: {
- Workspace *wkspc = getScreen()->getWorkspace(window->getWorkspaceNumber());
+ Workspace *wkspc =
+ getScreen()->getWorkspace(window->getWorkspaceNumber());
wkspc->lowerWindow(window);
}
break;
void Windowmenu::SendtoWorkspacemenu::update(void) {
unsigned int i, r = getCount(),
workspace_count = getScreen()->getWorkspaceCount();
- if (r > workspace_count) {
- for (i = r; i < workspace_count; ++i)
- remove(0);
+ while (r > workspace_count) {
+ remove(0);
r = getCount();
}
++r;
} else {
changeItemLabel(i, getScreen()->getWorkspace(i)->getName());
+ setItemEnabled(i, i != getScreen()->getCurrentWorkspaceID());
}
}