- /* Added by Scott Moynes, April 8, 2002
- Ignore the middle button for every item except the maximize
- button in the window menu. Maximize needs it for
- horizontal/vertical maximize, however, for the others it is
- inconsistent with the rest of the window behaviour.
- */
- if(button != 2) {
- hide();
- switch (item->function()) {
- case BScreen::WindowShade:
- window->shade();
- break;
-
- case BScreen::WindowIconify:
- window->iconify();
- break;
-
- case BScreen::WindowMaximize:
- window->maximize((unsigned int) button);
- break;
-
- case BScreen::WindowClose:
- window->close();
- break;
-
- case BScreen::WindowRaise:
- screen->getWorkspace(window->getWorkspaceNumber())->raiseWindow(window);
- break;
-
- case BScreen::WindowLower:
- screen->getWorkspace(window->getWorkspaceNumber())->lowerWindow(window);
- break;
-
- case BScreen::WindowStick:
- window->stick();
- break;
-
- case BScreen::WindowKill:
- XKillClient(screen->getBaseDisplay()->getXDisplay(),
- window->getClientWindow());
- break;
- }
- } else if (item->function() == BScreen::WindowMaximize) {
- hide();
- window->maximize((unsigned int) button);
+ hide();
+ switch (item->function()) {
+ case BScreen::WindowShade:
+ window->shade();
+ break;
+
+ case BScreen::WindowIconify:
+ window->iconify();
+ break;
+
+ case BScreen::WindowMaximize:
+ window->maximize(1); // full maximize
+ break;
+
+ case BScreen::WindowClose:
+ window->close();
+ break;
+
+ case BScreen::WindowRaise: {
+ Workspace *wkspc = getScreen()->getWorkspace(window->getWorkspaceNumber());
+ wkspc->raiseWindow(window);
+ }
+ break;
+
+ case BScreen::WindowLower: {
+ Workspace *wkspc = getScreen()->getWorkspace(window->getWorkspaceNumber());
+ wkspc->lowerWindow(window);
+ }
+ break;
+
+ case BScreen::WindowStick:
+ window->stick();
+ break;
+
+ case BScreen::WindowKill:
+ XKillClient(getScreen()->getBaseDisplay()->getXDisplay(),
+ window->getClientWindow());
+ break;