]> Dogcows Code - chaz/openbox/blobdiff - src/Windowmenu.cc
Take menu file from rc file if it isn't specified on the command line.
[chaz/openbox] / src / Windowmenu.cc
index f274a047e3cc38e121503bd305154b48d29dac3a..c49a6f91e3177771649654ee590afe050078814d 100644 (file)
@@ -90,6 +90,9 @@ void Windowmenu::show(void) {
 
 
 void Windowmenu::itemSelected(int button, unsigned int index) {
+  if (button != 1)
+    return;
+
   BasemenuItem *item = find(index);
 
   hide();
@@ -103,7 +106,7 @@ void Windowmenu::itemSelected(int button, unsigned int index) {
     break;
 
   case BScreen::WindowMaximize:
-    window->maximize(button);
+    window->maximize(1);        // full maximize
     break;
 
   case BScreen::WindowClose:
@@ -111,13 +114,15 @@ void Windowmenu::itemSelected(int button, unsigned int index) {
     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;
@@ -177,9 +182,8 @@ void Windowmenu::SendtoWorkspacemenu::itemSelected(int button,
 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();
   }
 
@@ -189,6 +193,7 @@ void Windowmenu::SendtoWorkspacemenu::update(void) {
       ++r;
     } else {
       changeItemLabel(i, getScreen()->getWorkspace(i)->getName());
+      setItemEnabled(i, i != getScreen()->getCurrentWorkspaceID());
     }
   }
 
This page took 0.020725 seconds and 4 git commands to generate.