X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FConfigmenu.cc;h=b8aef8ce841a7de4154d1cc430189f0bd739bf0e;hb=9f9cdf1194c82cc5aee2ec01d7db73551408d1d5;hp=e11c7c386116b58d88fa7f60d61462369ca5233d;hpb=20cd70c4665de85ffe3a04f9aa47acb9666e4f39;p=chaz%2Fopenbox diff --git a/src/Configmenu.cc b/src/Configmenu.cc index e11c7c38..b8aef8ce 100644 --- a/src/Configmenu.cc +++ b/src/Configmenu.cc @@ -185,14 +185,14 @@ void Configmenu::Focusmenu::itemSelected(int button, int index) { configmenu->screen.setSloppyFocus(false); configmenu->screen.setAutoRaise(false); - if (! configmenu->screen.getOpenbox().getFocusedWindow()) + if (! configmenu->screen.getOpenbox().focusedWindow()) XSetInputFocus(configmenu->screen.getOpenbox().getXDisplay(), configmenu->screen.getToolbar()->getWindowID(), RevertToParent, CurrentTime); else XSetInputFocus(configmenu->screen.getOpenbox().getXDisplay(), configmenu->screen.getOpenbox(). - getFocusedWindow()->getClientWindow(), + focusedWindow()->getClientWindow(), RevertToParent, CurrentTime); configmenu->screen.reconfigure(); @@ -240,6 +240,9 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : insert(i18n->getMessage(ConfigmenuSet, ConfigmenuUnderMouse, "Under Mouse Placement"), BScreen::UnderMousePlacement); + insert(i18n->getMessage(ConfigmenuSet, ConfigmenuClickMouse, + "Click Mouse Placement"), + BScreen::ClickMousePlacement); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuLeftRight, "Left to Right"), BScreen::LeftRight); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuRightLeft, @@ -260,21 +263,26 @@ void Configmenu::Placementmenu::setValues() { setItemSelected(2, p == BScreen::CascadePlacement); setItemSelected(3, p == BScreen::BestFitPlacement); setItemSelected(4, p == BScreen::UnderMousePlacement); + setItemSelected(5, p == BScreen::ClickMousePlacement); bool rl = (configmenu->screen.rowPlacementDirection() == BScreen::LeftRight), tb = (configmenu->screen.colPlacementDirection() == BScreen::TopBottom); - setItemSelected(5, rl); - setItemEnabled(5, p != BScreen::UnderMousePlacement); - setItemSelected(6, !rl); - setItemEnabled(6, p != BScreen::UnderMousePlacement); - - setItemSelected(7, tb); - setItemEnabled(7, p != BScreen::UnderMousePlacement); - setItemSelected(8, !tb); - setItemEnabled(8, p != BScreen::UnderMousePlacement); + setItemSelected(6, rl); + setItemEnabled(6, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); + setItemSelected(7, !rl); + setItemEnabled(7, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); + + setItemSelected(8, tb); + setItemEnabled(8, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); + setItemSelected(9, !tb); + setItemEnabled(9, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); } void Configmenu::Placementmenu::reconfigure() { @@ -312,6 +320,10 @@ void Configmenu::Placementmenu::itemSelected(int button, int index) { configmenu->screen.setPlacementPolicy(item->function()); break; + case BScreen::ClickMousePlacement: + configmenu->screen.setPlacementPolicy(item->function()); + break; + case BScreen::LeftRight: configmenu->screen.setRowPlacementDirection(BScreen::LeftRight); break;